linux 学习笔记 (二).doc
《linux 学习笔记 (二).doc》由会员分享,可在线阅读,更多相关《linux 学习笔记 (二).doc(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、oracle 基本概念和与informix对照 一、概念 用户:informix直接使用操作系统的用户管理系统,一般使用root和informix作为超级操作员,对其他用户进行管理。oracle有自己独立的用户管理系统,一般使用SYS和SYSTEM作为超级操作员,对其他用户进行管理。 实例:由访问数据库所需的一部分计算机内存和辅助处理后台进程组成,这个概念对oracle和informix都是相同的。一台机器上可以起多个实例,各自使用自己分配的内存和后台进程,一般一台机器上只起一个实例。在对数据库进行存取时实际上都是在这片共享内存进行操作,到达校验点时才真正将数据写入硬盘。 数据库:在每个实例上
2、可以创建多个数据库,共享同一个实例的资源,oracle和informix是相同的。 表空间:informix称为dbspace,由裸设备上创建的chunk组成,表空间本身没有大小限制,但组成表的单个chunk最大不超过2G;由于直接使用原始磁盘和自己的I/O系统,不用操作系统的I/O系统及其开销,数据存取更为高效。oracle使用操作系统的文件系统,没有大小的限制。 访问数据库的屏幕接口:informix支持dbaccess和isql,其中dbaccess时数据库引擎的一部分,包含在informix的安装中,isql是需要另外购买的独立产品;其中只能写sql语句和informix扩展的一些语句
3、。oracle支持sqlplus和更为友好网页界面,支持PL/SQL编程,包括SQL语句,感觉类似python。 数据库特性:oracle是面向对象的关系数据库系统(ORDBMS),支持面向对象的概念。informix是关系型数据库管理系统(RDBMS)。 配置文件:informix在onconfig.std文件中,每个实例一个。oracle初始化参数文件在$ORACLE_HOME/admin/TEST/pfile/目录下,名为:init.ora.7(随机产生的ID). 二、数据类型 oracle的数据类型: CHAR 字符型,最长2000字节 NCHAR 基于字符集的字符型,同上 VARCH
4、AR2 变长字符型,最长4000字节 NVARCHAR 基于字符集的变长字符型,同上 VARCHAR 同VARCHAR2 NUMBER(s,d) 数字型,总位数位s位,小数位为d位,总长最大为38位 DATE 日期型 LONG 变长字符型,最长为2 G字节 RAW 纯二进制数据类型,最长为2000字节 LONG RAW 变长二进制数据类型,最长为2G字节 BLOB 二进制大对象类型,最长为4 G字节 NLOB 包含定宽的多位数字符大对象类型,最长为4 G字节 CLOB 包含单个字符的字符大对象类型,最长4 G字节 BFILE 数据库外的大型二进制的输入器类型,最大为4 G字节 MLSLABLE
5、 操作系统中二进制标签类型 ROWID 姬路的物理地址类型 informix的数据类型:(见Informix Guide to SQL 参考指南:系统目录表,数据类型,环境变量) 0=char(n) 定义宽度为n的字符字段,最长255 1=smallint 短整型,-3276732767 2=integer 整型,- 3=float(x) 浮点型,最大有效位数16位 4=smallfloat 8位有效位数的浮点型 5=decimal(x,y) 生成x位精度的存储体,x为有效位数。不指定时默认为16位。 6=serial 表中插入行时自动指定的数字值,指定值比前一个最大值大1,每个表只能有一个
6、7=date 日期型,默认MM/DD/YYYY,可自定义。这个值实际上是整数,表示从1899年12月31日算起的天数。 17=int8 存储8个字节的整数值,范围从-(263-1)到(263-1) 8=money(x,y) 生成x位精度的存储体,x为有效位数,y为小数点位数。不指定时x默认为16位,y默认为2位。 10=datetime a to b 日期时间型,可定义格式。a和b值表示要存放的值的细节。a值表示最大单位,默认为year,b值表示最小单位。时间单位包括MONTH,DAY,HOUR,MINUTE和FRACTION 11=byte 二进制数据,最大2的31次方字节 12=text
7、文本型,最大2的31次方字节 13=varchar 存储变长字符型,最长255字节 14=interval 表示时间跨度的值 15=nchar(n) 同char,但允许GLS应用程序的不同排序顺序 16=nvarchar 同varchar,但允许GLS应用程序的不同排序顺序 18=serial8 存储范围同INT8的大顺序整数 19=set(e) 存储元素的非排序集合,所有元素都具有同一类型e;不允许重复值 20=multiset(e) 存储元素的非排序集合,所有元素都具有同一类型e;允许重复值 21=list(e) 存储元素的排序集合,所有元素都具有同一类型e;允许重复值 22=row 存储
8、已命名或未命名行类型 40=Varying-length opaque type 存储用户定义的数据类型,其内部结构对于数据库服务器不透明,即不可存取 41=Fixed-length opaque type 存储用户定义的数据类型,其内部结构对于数据库服务器不透明,即不可存取 43=lvarchar 存储变长字符串,最大32739个字节 44=boolean 存储布尔值true和false BLOB 以随机存取块的形式存储二进制数据 CLOB 以随机存取块的形式存储文本数据 三、oracle概念和术语 oracle数据库系统是一个复杂的软件系统。如果不了解其内部的结构原理及关系,就不可能设计和
9、编写出高质量的应用软件系统,也不可能管理好一个复杂的应用系统。为了给以后章节的打好基础,本章简要给出 ORACLE 8 /ORACLE8i数据库系统结构的描述。 1 术语 数据库块(BLOCK) ORACLE 数据库中的最小存储和处理单位,包含块本身的头信息数据或PL/SQL代码。 ORACLE 块的大小是可以在安装时选择“自定义安装”来指定,也可以在CREATE DATABASE创建数据库实例时指定。其最小为2K,最大可达为64K。 瓶颈(Bottleneck) 指限制系统性能的部件。 面向对象的关系数据库 具有关系数据库的全部功能,同时又支持面向对象的数据库,称作面向对象关系数据库系统。O
10、racle7是一种功能完备的关系数据库系统;oracle8是一种面向对象的关系数据库系统。 数据在线分析处理(OLAP) 是一种能以快速、交互、方便的方式洞察数据情况的技术。如Oracle Express,Cognos(加拿大)的Power Play, Business Objects公司的Business Object 等。 多线程(MTS) 一个用户可以同时运行多个程序对数据库进行访问,比如Visual C/C+可以提供同时启动多个进程,而Visual Basic则不能。 数据仓库(Data Warehouse) 支持大量数据信息存储的叫做支持数据仓储或数据仓库。当把几个小型数据库集成为一
11、个大型数据库,并为一个较广泛的组织服务时,如果该数据库存储历史数据,提供决策支持,提供数据汇总,提供只读数据,并且实质上充当所有向它提供数据的相关成品数据库的数据接收器,那么它通常被叫做数据仓库。 实例(Instance) 是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程。 对象(Objects) 是实现世界实体的软件表示,如表、索引、视图、同义词、过程等。 数据库文件(Datafile) Oracle系统中用于存放数据(应用系统数据)的文件。(P14中的例子不准确,容易误导读者)。 控制文件(Control File) Oracle中存放系统用的一些数据的文件。如数据文件的路
12、径及文件名,初始化文件路径及 文件名等都存放在控制文件中。 日志文件(Logs File) 也叫事务记录文件,该文件记录有事物对数据库进行的一切修改操作或事务。 DBA(Database administrator-数据库管理员) 是管理数据库系统的技术工具或人员,在完备的数据库系统中都提供DBA功能。 灰数据块(Dirty data block) 存放在内存中的原始数据已被修改,而修改后的数据还未写入数据库中。 热数据块(Hot data block) 存放着那些经常被修改数据叫热数据块。 LRU(Least Recently Used-最近最少用) Oracle系统使用的一种算法,对于在内
13、存中但最近又不用的数据块(内存块)叫做LRU,Oracle会根据那些数据属于LRU而将其移出内存而腾出空间来加载另外的数据。 表(Table) 存放专门数据而建立和分配的空间。 表空间(Tablespace) 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 回滚(Rollback) 将用户(或者说事务)改变的数据恢复到上一次所处的状态。 恢复信息(Undo Information) 记录用于恢复的信息称作恢复信息。回滚就是根据恢复信息内容进行恢复的。 2 Oracle数据库结构 Oracle数据库结构是Oracle数据库系统的主要部分,它
14、是一些可以看得见的软件,包括: Oracle 数据字典 表空间与数据文件 Oracle实例(Instance) A Oracle 数据字典 Oracle数据库的重要部分是数据字典。它存放有Oracle数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括: 数据库中所有模式对象的信息,如表、视图、簇、及索引等。 分配多少空间,当前使用了多少空间等。 列的缺省值。 约束信息的完整性。 Oracle用户的名字。 用户及角色被授予的权限。 用户访问或使用的审计信息。 其它产生的数据库信息。 数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。 数据库数据字典不仅是每个数据库的
15、中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。 B 表空间与数据文件 简单说,表空间就是一个或多个数据文件(物理文件)的集合(逻辑文件)。一般有下面的表空间: 1)系统表空间(System tablespace) 是各种不同版本的Oracle必备的部分,存放Oracle系统的一些信息,一般只有一个SYSTEM表空间。 2)临时表空间(Temporary tablespace ) 由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因
16、此叫临时表空间。一般安装之后只有一个TEMP临时表空间。 3)工具表空间(Tools tablespace) 用于保存Oracle数据库工具所需的数据库对象,这些工具表空间存放在工作时所用的专用表。旧的Oracle版本无此表空间。安装之后的工具表空间是Tools。 4)用户表空间(Users tablespace) 用于存放一些实验例子用的空间,当然也可以用于存放应用系统的数据。旧版本无Users表空间。现在的用户表空间为 USERS 。 5)数据及索引表空间 存放数据及索引的表空间,Oracle7以后都提倡在应用系统中,特别是具有大量数据的系统,要把数据和索引分开存放在不同的分区中,以便提高
17、查询速度。在安装后索引表空间可能是INDX。数据表空间就是USERS。 6)回滚段表空间(Rollback Segment) Oracle数据库系统在运行Insert、Update、Delete时都需要一个磁盘空间来存放恢复信息(Undo Information),以便在进行恢复时能将原来信息读出来。安装后的回滚段表空间是RBS表空间。数据库管理员也可根据应用的需要建立另外的回滚段表空间。 Oracle 以表空间来存储逻辑数据并以物理数据相连。 数据库被分成一个或多个逻辑部件称作表空间。而表空间又被分成称作段(segment)的逻辑部件。这些段再细分就叫扩展(extents)。 C Oracl
18、e实例 Oracle实例(Instance)是由一组后台进程和内存结构组成。每个运行的数据库系统都与实例有关。所以,有时称Oracle实例为数据库操作系统。下面是Oracle实例的解释。 Oracle 进程 Oracle有两种类型的进程: 服务器进程和后台进程(server processes and background processes)。 服务器进程 Oracle 服务器进程是处理用户与实例连接的事务。任务是: 分析和执行应用所发出的SQL语句。 从数据文件读必要的数据到SGA区的共享数据区。 返回必要信息给应用。 后台进程 Oracle系统使用一些附加的进程来处理系统的必须的工作。这
19、些进程叫后台进程: 数据库写 (DBW0 或DBWn) 日志写 (LGWR) 检测点 (CKPT) 系统监视 (SMON) 进程监视 (PMON) 归档 (ARCn) 恢复 (RECO) 锁(LCK0) 工作队列 (SNPn) 队列监视 (QMNn) 发布(Dispatcher) (Dnnn) 服务器 (Snnn) Oracle 的内存结构(SGA) SGA 结构为: 数据高速缓冲区 重做日志缓冲区 共享池 大的共享池(可选) 数据字典缓冲区 其它数据缓冲区 3 Oracle数据库文件 ORACLE 数据库是一个复杂的数据库操作系统,由一系列部件组成,主要有:1)初始化参数文件、2)数据文件、
20、3)控制文件、4)日志文件等。 A 初始化参数文件 初始化参数文件(initialization parameter file) INITsid.ORA,是 ORALE RDBMS 主要的配置点,它是配置参数和数值的集合。每一个参数值都控制或修改数据库和实例的某个方面。 早期的版本把参数都写在 initsid.ora 文件中,但在ORACLE8 之后,多数参数已不在该文件中出现,需修改这些参数时只能在SQL下用 SET SESSION 或 SET SYSTEM 来进行。 查看系统参数可用。例如: SQLselect * from v$parameter; 来列出。 Oracle初始化参数文件是
21、一个可以编辑的文本文件。它是在数据库实例启动时被访问,从而得到数据文件、日志文件、控制文件等的路径,此外,初始化参数文件还提供实例所用的参数等。 初始化参数文件在$ORACLE_HOME/admin/TEST/pfile/目录下,名为:init.ora.7(随机产生的ID). B 数据文件 用于存放所有数据库的数据文件,Oracle安装过程中自动建立多个必要的数据文件。这些数据文件用于存放Oracle系统的基本数据。在应用系统开发过程中,我们可根据需要另建立一些数据文件。 如果数据文件按它们存放的数据类型来分的话,可以分为: 用户数据 存放应用系统的数据为用户数据。 系统数据 管理用户数据和数
22、据库系统本身的数据,如数据字典,用户建立的表的名字,类型等都记录在系统数据中。 C 控制文件 控制文件是由Oracle数据库实例在启动时被访问的内部二进制文件,它们所存放的路径由参数文件的control_files=参数来确定.Oracle一般有两个或更多的控制文件,每个控制文件记录有相同的信息,在数据库运行中如果某个控制文件出错时,Oracle会自动使用另外一个控制文件。当所有的控制文件都损坏时系统将不能工作。 Oracle数据库至少有一个控制文件; 一般数据库系统安装完成后,自动创建两个以上控制文件; 为了安全一般建议创建多个控制文件; 控制文件可用下面命令查到: select name,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 学习笔记 二 学习 笔记
限制150内