1、数据库相关概念

(1)什么是数据库

所谓的数据库其实就是数据的集合。用户可以对集合中的数据进行新增、查询、更新、

删除等操作。数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、

与应用程序彼此独立的数据集合。

(2)数据库类型

分为关系型和非关系型

关系型: Oracle 、Mysql 、PostgreSQL 、DB2 、Microsoft SQL Server 、Microsoft Access

非关系型:Redis 、Mongodb 、Big Table

关系型数据库与非关系型数据之间的区别

关系型数据库的特点及优缺点:

特点:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。支持事务一致特性。

优点:易于维护:都是使用表结构,格式一致;

使用方便:SQL 语言通用;

复杂操作:支持 SQL,可用于一个表以及多个表之间非常复杂的查询;

缺点:性能差:读写性能比较差,尤其是海量数据的高效率读写,传统关系型数据库来 说,硬盘 I/O 是一个很大的瓶颈;

存储方式不灵活:固定的表结构,灵活度稍欠;

非关系型数据库的特点及优缺点:

特点:非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等。不支持事务一致特性。

优点:格式灵活:存储数据的格式可以是 key,value 形式、文档形式、图片形式等等;

高扩展性:基于键值对,数据没有耦合性,容易扩展;

速度快:无需经过 sql 层的解析,读写性能很高;

缺点:不支持 SQL:不提供 sql 支持,学习和使用成本较高;

不支持事务:无事务处理能力;

不支持复杂查询:数据结构相对复杂,复杂查询方面稍欠;

2、Oracle 入门

Oracle 数据库

所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle 数据库其实就是一组文

件的集合。Oracle 数据库分别由:数据文件、控制文件、日志文件所构成。

数据文件(.DBF)

数据文件是一个二进制文件,是用于保存用户应用程序数据和 Oracle 系统内部数据的

文件,这些文件在操作系统中就是普通的操作系统文件。Oracle 在创建表空间的同时会创建

数据文件。

控制文件(.CTL)

控制文件是一个二进制文件,它主要记录数据库的名称、数据库的数据文件存放位置等

信息。一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。

日志文件(.LOG)

日志文件在 Oracle 数据库中分为重做日志(Redo Log File)文件和归档日志文件两种。重

做日志文件是 Oracle 数据库正常运行不可缺少的文件。重做日志文件主要记录了数据库操

作过程。用于备份和还原数据库,以达到数据库的最新状态。

Oracle 实例

实例就是数据库启动后分配的内存和建立的后台进程. 数据库关闭后,物理上的文件还

存在,但实例(分配的内存和建立的进程)就没有了

Oracle 实例与数据库的关系

实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内存。这些进程可以

操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志文件和控制

文件)。

在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,

反过来也成立:一个数据库上只有一个实例对其进行操作。

Oracle 版本说明

Oracle 8i

Oracle 9i

Oracle 10g

Oracle 11g

Oracle 12c

I:i 代表 Internet。8i 版本开启对 Internet 的支持。所以,在版本号之后,添加了标识 i。

G:g 代表 Grid 网格。10g 加入了网格计算的功能,因此版本号之后的标识使用了字母

g。

C:c 代表云(cloud)计算设计。12c 版本表示对云计算的支持。

3、Oracle 的安装与卸载

Oracle 安装步骤

Oracle 卸载步骤

停用 oracle 服务,进入计算机管理,在服务中,找到 oracle 开头的所有服务,右击选择

停止。

在开始菜单中找到 Oracle 安装产品,点击运行 Oracle 自带的卸载程序 Universal Installer工具卸载。

开始菜单中,找到 Universal Installer,运行 Oracle Universal Installer,单击卸载产品,在产品清单窗口中,单击全部展开,除了 OraDb11g_home1 外,勾选其他项目,单击删除,根据软件提示单击下一步最终完成卸载。

删除注册表中 Oracle 相关项

在 命 令 窗 口 , 输 入 regedit , 打 开 注 册 表 , 依 次 展 开

HKEY_LOCAL_MACHINESOFTWARE,找到 oracle,删除之。

依次展开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 中,删除所有oracle 开头的项。

依 次 展 开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,删除所有 oracle 开头的项。

扩展删除(以下不是必须的注册表删除项),如果安装不成功可以自己也把这些删除了

在 HKEY_CLASSES_ROOT,删除以 Ora、Oracle、Orcl 或 EnumOra 为前缀的键删 除

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMenuOrderStart MenuPrograms 中所有以 oracle 开头的键。

删 除 HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中 除 Microsoft

ODBC for Oracle 注册表键以外的所有含有 Oracle 的键。

右键点击我的电脑-->属性-->高级-->环境变量,删除环境变量 ORACLE_HOME、

TNS_ADMIN 等环境变量,删除 PATH 中等环境变量有关 Oracle 的设定的路径信息。

打开资源管理器,在地址栏中输入“%userprofile%「开始」菜单程序”回车,删除安

装的 Oracle 目录。然后再到地址栏中输入“%allusersprofile%「开始」菜单程序”回车,

删除安装的 Oracle 目录。

重启电脑。

4、Oracle 目录结构与系统用户

(1)Oracle 目录结构

admin 目录:记录 Oracle 实例的配置,运行日志等文件。每个实例一个目录。

cfgtoollogs 目录:下面子目录分别存放当运行 dbca,emca,netca 等图形化配置程序时的 log。

checkpoints 目录:存放检查点文件

diag 目录:Oracle11g 新添加的一个重组目录。

flash_recovery_area(闪回区)目录:闪回区:分配一个特定的目录位置来存放一些特定的恢复文件,用于集中和简化管理数据库恢复工作。闪回区可存储完全的数据文件备份、增量备份、数据文件副本、当前的控制文件、备份的控制文件、spfile 文件、快照控制文件、联机日志文件、归档日志、块跟踪文件、闪回日志。

oradata 目录:存放数据文件。

(2)数据库中的文件介绍

CONTROL01.CTL :Oracle 数据库的控制文件。

EXAMPLE01.DBF :Oracle 数据库表空间文件。

REDO01.LOG:Oracle 数据库的重做日志文件。

SYSAUX01.DBF:11g 新增加的表空间。主要存储除数据字典以外的其他数据对象。由系统内部自动维护。

SYSTEM01.DBF:用于存放 Oracle 系统内部表和数据字典的数据。比如,表名、列名、用户名等。

TEMP01.DBF:临时表空间文件。

UNDOTBS01.DBF:撤销表空间文件。用来保存回滚数据。

USERS01.DBF :用户表空间。

product 目录:Oracle RDBMS 的软件存放目录。RDBMS 即关系数据库管理系统(Relational Database Management System)。

(3)Oracle 系统用户

sys 用户:sys 是 Oracle 中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。

system 用户:没有 sys 权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使

用 system 用户来创建一些与管理无关的表或者视图。

二者在登录时的区别

sys 和 system 在登录 Oracle 时,sys 只能以系统管理员(sysdba)或系统操作员(sysoper)的权限登录,而 system 可以直接登录(normal)。

scott 用户:是 oracle 提供的示例用户,提供了一些学习 oracle 操作的数据表。如:emp、dept、salgrade、bonus 表

5、Oracle 的启动与关闭

OracleServiceORCL(必须启动):数据库服务(数据库实例),核心服务

OracleOraDb11g_home1TNSListener(必须启动):监听器服务

Oracle ORCL VSS Writer Service(非必须启动) :Oracle 卷映射拷贝写入服务

OracleDBConsoleorcl(非必须启动):Oracle 数据库控制台服务

OracleJobSchedulerORCL(非必须启动):Oracle 作业调度(定时器)服务,ORCL 是 Oracle 实例标识。

OracleMTSRecoveryService(非必须启动) :服务端控制。

Oracle 关闭:只需要将服务停止即可。

6、Oracle 客户端工具介绍

sys 用户登录命令: sys as sysdba|sysoper

system 用户登录命令:system

7、Oracle 第三方工具 PL/SQL Developer

安装 PL/SQL Developer

安装过程只需next即可,最后点击finish按钮完成安装

Command Window

Sql Window

创建永久表空间命令

create tablespace 永 久 表 空 间 名 称 datafile ' 永 久 表 空 间 物 理 文 件 位 置 ' size 15M autoextend on next 10M permanent online;

创建用户

分配用户权限

对象权限(Object privileges):对象权限是指在指定的表,视图,序列上制定执行动作的权限或权利。

角色权限(Role privileges):角色是可以授予用户的相关权限的组,该方法使权限的授予,撤回更加容易管理。

系统权限(System privileges) :为用户分配创建表、创建用户、创建视图、创建存储过程等权限。

分配链接权限

为当前用户分配一个 connect 链接角色

分配系统权限

Oracle 的链接配置

文件位置:Oracle 目录product11.2.0dbhome_1NETWORKADMIN

sqlnet.ora:名称解析。通过这个文件来决定怎么样找一个连接中出现的连接字符串。

tnsnames.ora:用在 oracle client 端,用户配置连接数据库的别名参数,就像系统中的 hosts 文件一样。

<1>ORCL :客户端连接服务器端使用的服务别名。注意一定要顶行书写,否则会无法识别服务别名。

<2>PROTOCOL:客户端与服务器端通讯的协议,一般为 TCP,该内容一般不用改。

<3>HOST:ORACLE 服务器端 IP 地址或者 hostname。确保服务器端的监听启动正常。

<4>PORT:数据库侦听正在侦听的端口,此处 port 的值一定要与数据库侦听正在侦听的端口一样。

listener.ora :用在 oracle server 端,可配置 Oracle 的监听端口

<1>LISTENER :监听名称,可以配置多个监听,多个监听的端口号要区分开来。

<2>PROTOCOL:监听协议,一般都使用 TCP 。

<3>HOST:本机 IP 地址或者 localhostname。

<4>PORT:监听的端口号。

8、Oracle 基本操作

Oracle 中的数据类型

字符类型:

字符串数据类型还可以依据存储空间分为固定长度类型(CHAR) 和可变长度类型

(VARCHAR2/NVARCHAR2)两种。

CHAR 类型:

CHAR 类型,定长字符串,会用空格填充来达到其最大长度。非 NULL 的 CHAR(12)

总是包含 12 字节信息。CHAR 字段最多可以存储 2,000 字节的信息。如果创建表时,不指

定 CHAR 长度,则默认为 1。

VARCHAR2 类型 :

变长字符串,与 CHAR 类型不同,它不会使用空格填充至最大长度。VARCHAR2 最多

可以存储 4,000 字节的信息。

NVARCHAR2 类型:

这是一个包含 UNICODE 格式数据的变长字符串。 NVARCHAR2 最多可以存储 4,000

字节的信息。

数字类型:

NUMBER 类型:

NUMBER(P,S)是最常见的数字类型。

P 是 Precision 的英文缩写,即精度缩写,表示有效数字的位数,最多不能超过 38 个有

效数字。

S 是 Scale 的英文缩写,表示小数点数字的位数。

INTEGER 类型:

INTEGER 是 NUMBER 的子类型,它等同于 NUMBER(38,0),用来存储整数。若插

入、更新的数值有小数,则会被四舍五入。

浮点数:

BINARY_FLOAT 类型:

BINARY_FLOAT 是 32 位、 单精度浮点数字数据类型。可以支持至少 6 位精度,每个

BINARY_FLOAT 的值需要 5 个字节,包括长度字节。

BINARY_DOUBLE:

BINARY_DOUBLE 是为 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE

的值需要 9 个字节,包括长度字节。

日期类型 :

DATE 类型:

DATE 是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符或数

字类型表示日期和时间信息,但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle

存储以下信息: 世纪、 年、 月、 日期、 小时、 分钟和秒。一般占用 7 个字节的存储空间。

TIMESTAMP 类型:

这是一个 7 字节或 12 字节的定宽日期/时间数据类型。它与 DATE 数据类型不同,因为

TIMESTAMP 可以包含小数秒,带小数秒的 TIMESTAMP 在小数点右边最多可以保留 9 位。

TIMESTAMP WITH TIME ZONE 类型:

这是 TIMESTAMP 类型的变种,它包含了时区偏移量的值。

TIMESTAMP WITH LOCAL TIME ZONE 类型 :

将时间数据以数据库时区进行规范化后进行存储

LOB 类型:

CLOB 类型(Character Large Object):

二进制数据,存储单字节和多字节字符数据。最大长度 4G。

BLOB 类型(Binary Large Object):

它存储非结构化的二进制数据大对象,它可以被认为是没有字符集语义的比特流,一般是图像、声音、视频等文件。最大长度 4G。

NCLOB 数据类型:存储 UNICODE 类型的数据 ,最大长度 4G。

LONG 类型:它存储变长字符串(超长字符串)

LONG RAW 类型:能存储 2GB 的原始二进制数据,可存放多媒体图象声音等。

RAW 类型:用于存储二进制或字符类型数据,必须制定长度。

9、在 Oracle 中创建表

Oracle 表名命名规则

1.必须以字母开头

2.长度不能超过 30 个字符

3.避免使用 Oracle 的关键字

4.只能使用 A-Z、a-z、0-9、_#$

使用带有特殊符号的表名

Oracle 在创建表时,表名会自动转换大写。Oracle 对表名大小写不敏感。

如果在定义表名时含有特殊符号,或者用小写字母来定义表名则需要在表名两侧添加双

引号。

10、数据库中的约束

约束的作用

约束用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被约束终止。

约束类型

主键约束(Primay Key Constraint):唯一性,非空性。

唯一约束 (Unique Constraint):唯一性,可以空,但只能有一个。

检查约束 (Check Constraint):对该列数据的范围、格式的限制(如:年龄、性别等)。

非空约束 (Not Null Constraint) :该列不允许包含空值。

外键约束 (Foreign Key Constraint) :需要建立两表间的关系并引用主表的列。

11、数据库中表关系

表与表之间一般存在三种关系,即一对一,一对多,多对多关系。

一对多 :

一对多关系是建立在两张表之间的关系。一个表中的一条数据可以对应另一个表中的多

条数据。记住:外键永远在多方。外键允许重复,允许含有空值。

T_CLASSROOM 表

T_STUDENT 表

一对一:

一对一关系是建立在一对多的基础之上,外键可以在任何一方,需要让外键一方具备唯

一约束。

T_USER 表

多对多 :

需要建立一个中间表,中间表里建立两个列,然后需要用这两个列作为这个表的联合主

键,然后每个列在作为外键参照各自的表的主键

T_ORDER 表

T_ITEM 表

T_ORDER_ITEM 表

oracle rdbms 占内存_027、Oracle数据库相关推荐

  1. oracle rdbms 占CPU,求助,数据库某个进程cpu占用高

    客户管理员反映数据库cpu占用占用,查看后发现有个进程cpu占用特别高,有一条sql似乎进入了死循环,hanganalyzis分析文件: Trace file /oracle/diag/rdbms/o ...

  2. 云和恩墨技术通讯:Oracle AMM自动内存管理引起数据库阻塞

    各位亲爱的用户/读者朋友们: 为了及时共享行业案例,通告共性问题,达成知识共享和提前预防,我们整理和编辑了<云和恩墨技术通讯>(4月刊),通过对过去一段时间的知识回顾和故障归纳,以期提供有 ...

  3. oracle的共享内存段,oracle共享内存段手工清理

    当Oracle数据库意外当机,操作系统内存共享段未释放,便无法重启数据库至nomount状态,此时需要手工清理. 现象: 1.可以看到有2个smon进程 $ ps -ef|grep smon orac ...

  4. oracle lms进程 内存,基于oracle 10.2.0.1 rac学习lms进程系列四

    背景 之前,我们了解了lmd进程一些概念,这儿我们学习下另一个重要RAC后台进程,LMS进程. 结论 1,如果lms出现故障,会导致dml事务无法提交,即提交或回退hang住;并且远端节点的DML操作 ...

  5. oracle查看cpu内存,查看Oracle CPU情况

    --发现那些SQL运行了大量的PARSE select sql_text, parse_calls, executions from v$sqlarea order by parse_calls de ...

  6. oracle整库的移植,Oracle数据库整机移植技术(原创)

    Oracle数据库整机移植技术 本文源自一次做Oracle9i DataGuard测试而产生的思路.前些时间有网友提出因为OS损坏,在硬盘没有损坏的情况下可否将数据库恢复至另一台机器上.现在不管从理论 ...

  7. oracle日志存放默认位置,oracle——数据库日志存放位置

    1,默认情况下,oracle的日志文件记录在$ORACLE/rdbms/log目录下 [oracle@oracle log]$ pwd /home/oracle/oracle/product/10.2 ...

  8. oracle 导库时日志满了,oracle rac 11g 日志占满系统盘导致数据库down掉

    oracle日志占满系统盘满了导致数据库挂掉 并且archivelog日志也满了倒是数据库无法open,无法登陆,幸好还可以到mount状态.解决办法: 1.根据报错查看 表象: crs 服务down ...

  9. oracle实例的内存(SGA和PGA)调整,优化数据库性能

    一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...

最新文章

  1. 日期处理工具类 -【二】
  2. 如何使用Junit进行单元测试
  3. SELECT-OPTIONS对象
  4. 什么是raid 容错式磁盘阵列?
  5. c语言和plc编程,PLC编程C语言.ppt
  6. 前端学习(2802):完成资讯页面详情
  7. LeetCode 892. 三维形体的表面积(数学)
  8. 国潮正当时——2021百度国货用户洞察
  9. 导入maven项目报错无法运行
  10. uniapp 开发h5 优化加载速度
  11. 深度学习(deep learning)优化调参细节(trick)
  12. L1L2 Regularization的原理
  13. 软件设计实战:基于Java的俄罗斯方块游戏【完整版】
  14. Unity开发OpenXR | (一)OpenXR是什么?一文带你全面了解OpenXR的相关知识,上车收藏不迷路
  15. 梦想在三十岁起航!__来自黑马程序员69期安卓班的学员
  16. 老司机都懂的x件事,一般人我不告诉他
  17. 程序员的第三次 “创业” 我选择继续开发在线客服系统,终于得到了积极反馈
  18. 各国语言缩写-各国语言简称
  19. (实测可用)STM32CubeMX教程-STM32L431RCT6开发板研究串口通信(DMA)
  20. 图像信息处理:bmp文件、颜色空间转化、灰度图

热门文章

  1. 大数据分析与应用技术国家工程实验室项目通过验收
  2. 作者:​赵洋(1988-),男,国家超级计算天津中心中级工程师、科学计算组组长。...
  3. 祝贺本刊编委石勇教授入选2016年汤森路透全球高被引科学家
  4. 【2016年第4期】突发大数据在存储辅助光电路交换网络中的传输
  5. 作者:卢祥虎,男,北京金信网银金融信息服务有限公司机器学习算法工程师。...
  6. 【算法分析与设计】实验 分治算法解决中位数问题
  7. 机器学习及大数据经典算法笔记汇总
  8. mt7620a拓展串口
  9. Mysql数据中文乱码问题处理
  10. 获取机器安装.NET版本的几种方式