经典毕业论文oracle论文Word文档格式.docx
- 文档编号:7813165
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:33
- 大小:991.31KB
经典毕业论文oracle论文Word文档格式.docx
《经典毕业论文oracle论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《经典毕业论文oracle论文Word文档格式.docx(33页珍藏版)》请在冰点文库上搜索。
Oracle系统有5个基本进程他们是:
●DBWR(数据文件写入进程):
将修改过的数据缓冲区的数据写入对应数据文件,维护系统内的空缓冲区。
●LGWR(日志文件写入进程):
将重做日志缓冲区的数据写入重做日志文件。
●SMON(系统监护进程):
工作主要包含:
清除临时空间,在系统启动时,完成系统实例恢复,聚结空闲空间,从不可用的文件中恢复事务的活动,OPS中失败节点的实例恢复等.
●PMON(用户进程监护进程):
主要用于清除失效的用户进程,释放用户进程所用的资源。
●CKPT(检查点进程,同步数据文件,日志文件,控制文件):
同步数据文件,日志文件和控制文件,由于DBWR/LGWR的工作原理,造成了数据文件,日志文件,控制文件的不一至,这就需要CKPT进程来同步。
CKPT会更新数据文件/控制文件的头信息.
1.2ORACLE的物理结构
1)数据文件
每一个ORACLE数据库有一个或多个物理的数据文件(datafile)。
一个数据库的数据文件包含全部数据库数据.逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。
数据文件有下列特征:
●一个数据文件仅与一个数据库联系.
●一旦建立,数据文件不能改变大小
●一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成.
数据文件中的数据在需要时可以读取并存储在ORACLE内存储区中。
例如:
用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。
当修改和插入新数据时,不必立刻写入数据文件。
为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由ORACLE后台进程DBWR决定如何将其写入到相应的数据文件.
2)日志文件
每一个数据库有两个或多个日志文件(redologfile)的组,每一个日志文件组用于收集数据库日志.日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。
在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以从不会丢失已有操作成果。
日志文件主要是保护数据库以防止故障。
为了防止日志文件本身的故障,ORACLE允许镜象日志(mirroredredolog),以致可在不同磁盘上维护两个或多个日志副本.
日志文件中的信息仅在系统故障或介质故障恢复数据库时使用,这些故障阻止将数据库数据写入到数据库的数据文件。
然而任何丢失的数据在下一次数据库打开时,ORACLE自动地应用日志文件中的信息来恢复数据库数据文件。
3)控制文件
每一ORACLE数据库有一个控制文件(controlfile),它记录数据库的物理结构,包含下列信息类型:
●数据库名;
●数据库数据文件和日志文件的名字和位置;
●数据库建立日期.
●为了安全起见,允许控制文件被镜象。
每一次ORACLE数据库的实例启动时,它的控制文件用于标识数据库和日志文件,当着手数据库操作时它们必须被打开。
当数据库的物理组成更改时,ORACLE自动更改该数据库的控制文件。
数据恢复时,也要使用控制文件。
1.3逻辑结构
数据库逻辑结构包含表空间、段、范围(extent)、数据块和模式对象。
(1)表空间
一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(TABLESPACE)。
一个表空间可将相关的逻辑结构组合在一起。
DBA可利用表空间作下列工作:
●控制数据库数据的磁盘分配.
●将确定的空间份额分配给数据库用户。
●通过使单个表空间在线或离线,控制数据的可用性。
●执行部分数据库后备或恢复操作。
●为提高性能,跨越设备分配数据存储。
每个数据库可逻辑划分为一个或多个表空间.每一个表空间是由一个或多个数据文件组成,该表空间物理地存储表空间中全部逻辑结构的数据。
每一个ORACLE数据库包含有一个名为SYSTEM的表空间,在数据库建立是自动建立.在该表空间中总包含有整个数据库的数据字典表。
ORACLE数据库中一表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间想联系.当为一表空间建立一数据文件时,ORACLE建立该文件,分配指定的磁盘空间容量。
在数据文件初时建立后,所分配的磁盘不包含任何数据。
表空间可以在线或离线。
在ORACLE中还允许单独数据文件在线或离线.
(2)段、范围和数据块
ORACLE通过段、范围和数据块逻辑数据结构可更细地控制磁盘空间的使用.
段
段(SEGMENT)包含表空间中一种指定类型的逻辑存储结构,是由一组范围组成.在ORACLE数据库中有几种类型的段:
数据段、牵引段、回滚段和临时段。
数据段:
对于每一个非聚集的表有一数据段,表的所有数据存放在该段。
每一聚集有一个数据段,聚集中每一个表的数据存储在该段中.
索引段:
每一个索引有一索引段,存储索引数据。
回滚段:
是由DBA建立,用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务.
临时段:
当一个SQL语句需要临时工作区时,由ORACLE建立.当语句执行完毕,临时段的范围退回给系统.
ORACLE对所有段的空间分配,以范围为单位。
范围
一个范围(EXTENT)是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。
每一个段是由一个或多个范围组成。
当一段中间所有空间已完全使用时,ORACLE为该段分配一个新的范围。
为了维护的目的,在数据库的每一段含有段标题块(segmentheaderblock)说明段的特征以及该段中的范围目录.
数据块
数据块(datablock)是ORACLE管理数据文件中存储空间的单位,为数据库使用的I/O的最小单位,其大小可不同于操作系统的标准I/O块大小.
数据块的格式:
公用的变长标题
表目录
行目录
未用空间
行数据
(3)模式和模式对象
一个模式(schema)为模式对象(scehmaobject)的一个集合,每一个数据库用户对应一个模式。
模式对象为直接引用数据库数据的逻辑结构,模式对象包含如表、视图、索引、聚集、序列、同义词、数据库链、过程和包等结构.模式对象是逻辑数据存储结构,每一种模式对象在磁盘上没有一个相应文件存储其信息.一个模式对象逻辑地存储在数据库的一个表空间中,每一个对象的数据物理地包含在表空间的一个或多个数据文件中。
表
表(table)为数据库中数据存储的基本单位,其数据按行、列存储。
每个表具有一表名和列的集合.每一列有一个列名、数据类型、宽度或精度、比例。
一行是对应单个记录的列信息的集合.
视图
一个视图(view)是由一个或多个表(或其他视图)中的数据的一种定制的表示,是用一个查询定义,所以可认为是一个存储的查询(storedquery)或是一个虚表(virtualtable).视图可在使用表的许多地方使用。
聚集
聚集(cluster)是存储表数据的可选择的方法。
一个聚集是一组表,将具有同一公共列值的行存储在一起,并且它们经常一起使用。
这些公共列构成聚集码。
EMP表各DEPT表共享DEPTNO列,所以EMP表和DEPT表可聚集在一起,聚集码的列为DEPTNO列,该聚集将每个部门的全部职工行各该部门的行物理地存储在同一数据块中。
索引
索引(index)是与表和聚集相关的一种选择结构。
索引是为提高数据检索的性能而建立,利用它可快速地确定指定的信息。
ORACLE索引为表数据提供快速存取路径。
索引适用于一范围的行查询或指定行的查询。
在建立索引时,将在表空间自动地建立一索引段,索引段空间分配和保留空间的使用受下列方式控制:
索引段范围的分配常驻该索引段的存储参数控制。
其数据块中未用空间可受该段的PCTFREE参数设置所控制。
序列生成器
序列生成器(sequencegenerator)产生序列号。
在多用户环境下该序列生成器特别有用,可生成各返回序列号而不需要磁盘I/O或事务封锁。
同义词
一个同义词(synonym)为任何表、视图、快照、序列、过程、函数或包的别名,其定义存储在数据字典中。
同义词因安全性和方便原因而经常使用,可用于:
●可屏蔽对象的名字及其持有者。
●为分布式数据库的远程对象提供位置透明性。
●为用户简化SQL语句.
杂凑
杂凑(hashing)是存储表数据一种可选择的方法,用以改进数据检索的性能。
要使用杂凑,就要建立杂凑聚集,将表装入到该聚集。
在骠凑聚集中的表行根据杂凑函数的结果进行物理学存储和检索.杂凑函数用于生成一个数值的分布,该数值称为杂凑值,它是基于指定的聚集码值.
程序单元
程序单元(programunit)是指存储过程、函数和包(PACKAGE)。
一个过程和函数,是由SQL语句和PL/SQL语句组合在一起,为执行某一个任务的一个可执行单位。
一个过程或函数可被建立,在数据库中存储其编译形式,可由用户或数据库应用所执行。
过程和函数差别在函数总返回单个值给调用者,而过程没有值返回给调用者。
包提供相关的过程、函数、变量和其它包结构封装起来并存贮在一起的一种方法,允许管理者和应用开发者利用该方法组织如此的程序(routine),来提供更多的功能和提高性能。
数据库链
数据库链是一个命名的对象,说明从一数据库到另一数据库的一路径(PATH)。
在分布式数据库中,对全局对象名引用时,数据库链隐式地使用.
三、Oracle的安装
Oracle10g以下版本的卸载:
因为我的机子上原来装有Oracle92,在安装Oracle10前,我卸载Oracle92,因为当时忘了截图,在这里写下步骤:
1)打开Windows的“服务”窗口,将Oracle10g以下版本的全部服务都停止掉,并且将服务的“启动类型”都设置成“手动"
接着关闭Windows的“服务”窗口,按照下面的步骤进行操作。
2)删除Oracle10g以下版本所建立的所有数据库(通过Oracle10g以下版本的DatabaseConfigurationAssistant工具完成,如果忘记sys数据库管理员的密码,请先将原来在%ORACLE_HOME%\database目录下的PWDXXXX.ORA密码文件改名,然后在Windows命令行中通过Oracle提供的orapwd工具重新创建上述文件,其中XXXX表示数据库的SID);
3)删除Oracle10g以下版本的全部软件(通过Oracle10g以下版本的UniversalInstaller工具完成,如果原先没有安装该工具,可以启动Oracle10g的安装向导来完成该卸载任务);
4)删除Oracle10g以下版本在注册表中的相关项(即整个HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE项,如果还有其它Oracle公司的软件,例如Form,并且不想重新安装的,那么请不要删除整个ORACLE项,但要确保删除所有包含旧版本Oracle的信息项,建议重新安装这些软件);
5)删除Oracle10g以下版本的监听服务,方法是直接从注册表中删除(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services);
6)删除%ORACLE_BASE%目录下隶属于Oracle10g以下版本所使用的所有子目录(一般包括admin、Ora9i和oradata)和文件,注意如果还有Oracle公司的其它软件(例如Form),那么这些软件一般也安装在%ORACLE_BASE%目录下,如果不想重新安装这些软件,请不要删除这些目录,建议和注册表一样删除重新安装;
7)删除系统盘下关于OracleUniversalInstaller的整个目录(一般是C:
\ProgramFiles\Oracle目录);
上述操作全部完成后,重新启动机器。
Oracle10安装
输入初期创建的数据库的密码。
单击下一步。
接下来点击下一步,基本就可以安装好了(忘了截图)。
这样在安装好Oracle10的同时,创建好了一个名为Oral的数据库。
四、创建Oracle数据库
数据库的创建可以通过DatabaseConfigurationAssistant工具来完成
1.DatabaseConfigurationAssistant,会出现以下画面
2.选择上述画面中的“下一步"
按钮,会出现以下画面
3.选择上述画面中的“下一步”按钮,会出现以下画面,选择如画面所示
4.选择上述画面中的“下一步”按钮,会出现以下画面,按照实际情况输入
5.选择上述画面中的“下一步"
如果计划不使用Oracle的OEM工具来管理该数据库,那么建议不要选择以下画面中的“使用EnterpriseManager配置数据库”选项,在该版本中Oracle提供了通过Web页面来管理和监控自身或远程数据库服务器的功能,不过该功能的启用需要在后续画面中安装相关的功能组件来实现,并且会增加数据库服务器的资源开销
6.选择上述画面中的“下一步”按钮,会陆续出现以下画面,请根据实际需要自行选择相关选项
7.最后安装,会出现以下画面,安装成功!
五、数据库用户对象管理
4。
1ORACLE数据库的模式对象的管理与维护
ORACLE数据库的模式对象包括:
表空间、表、视图、索引、序列、同义词、聚集和完整性约束。
对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL语言的实例说明如何对它们进行管理于维护.
4.1。
1表空间
由于表空间是包含这些模式对象的逻辑空间,有必要先对它进行维护。
●创建表空间:
SQL>
CREATETABLESPACEjxzy
>
DATAFILE‘/usr/oracle/dbs/jxzy。
dbf’
〉ONLINE;
●修改表空间:
ALTERTABLESPACEjxzyOFFLINENORMAL;
ALTERTABLESPACEjxzy
〉RENAMEDATAFILE‘/usr/oracle/dbs/jxzy。
TO‘/usr/oracle/dbs/jxzynew.dbf’
ONLINE
CREATETABLESPACEjxzyONLINE
●删除表空间:
DROPTABLESPACEjxzy
INCLUDINGCONTENTS
2表维护
表是数据库中数据存储的基本单位,一个表包含若干列,每列具有列名、类型、长度等。
●表的建立:
SQL〉CREATETABLEjxzy.switch(
〉OFFICE_NUMNUMBER(3,0)NOTNULL,
SWITCH_CODENUMBER(8,0)NOTNULL,
〉SWITCH_NAMEVARCHAR2(20)NOTNULL);
●表的修改:
SQL〉ALTERTABLEjxzy。
switch
〉ADD(DESCVARCHAR2(30));
●表的删除:
DROPTABLEjxzy。
CASCADECONSTRAINTS
//删除引用该表的其它表的完整性约束
3视图维护
视图是由一个或若干基表产生的数据集合,但视图不占存储空间。
建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列)、简化查询操作、保护数据的独立性。
●视图的建立:
SQL〉CREATEVIEWjxzy.pole_well_viewAS
(SELECTpole_path_numASpath,
poleASdevice_numFROMpole
〉UNION
SELECTpipe_path_numASpath,
wellASdevice_numFROMwell);
●视图的替换:
REPLACEVIEWjxzy.pole_well_viewAS
〉(SELECTpole_path_numASpath,
poleASsupport_deviceFROMpole
UNION
SELECTpipe_path_numASpath,
wellASsupport_deviceFROMwell);
●视图的删除:
SQL〉DROPVIEWjxzy。
pole_well_view;
4序列维护
序列是由序列发生器生成的唯一的整数.
●序列的建立:
CREATESEQUENCEjxzy.sequence_cable
〉STARTWITH1
INCREMENTBY1
NO_MAXVALUE;
建立了一个序列,jxzy。
sequence_cable。
currval返回当前值,jxzy.sequence_cable.nextval返回当前值加1后的新值
●序列的修改:
ALTERSEQUENCEjxzy.sequence_cable
〉STARTWITH1//起点不能修改,若修改,应先删除,然后重新定义
〉INCTEMENTBY2
MAXVALUE1000;
●序列的删除:
SQL〉DROPSEQUENCEjxzy。
sequence_cable
4.1.5索引维护
索引是与表相关的一种结构,它是为了提高数据的检索速度而建立的。
因此,为了提高表上的索引速度,可在表上建立一个或多个索引,一个索引可建立在一个或几个列上。
●索引的建立:
SQL〉CREATEINDEXjxzy.idx_switch
〉ONswitch(switch_name)
TABLESPACEjxzy;
●索引的修改:
SQL〉ALTERINDEXjxzy。
idx_switch
ONswitch(office_num,switch_name)
TABLESPACEjxzy;
●索引的删除:
DROPINDEXjxzy。
idx_switch;
6完整性约束管理
数据库数据的完整性指数据的正确性和相容性。
数据完整型检查防止数据库中存在不符合语义的数据.
完整性约束是对表的列定义一组规则说明方法。
ORACLE提供如下的完整性约束.
a。
NOTNULL非空
b.UNIQUE唯一关键字
c.PRIMATYKEY主键一个表只能有一个,非空
d。
FOREIGAKEY外键
e。
CHECK表的每一行对指定条件必须是true或未知(对于空值)
●某列定义非空约束:
ALTERTABLEoffice_organization
MODIFY(descVARCHAR2(20)
CONSTRAINTnn_descNOTNULL)
●某列定义唯一关键字:
〉MODIFY(office_nameVATCHAR2(20)
〉CONSTRAINTuq_officenameUNIQUE)
●定义主键约束,主键要求非空:
SQL〉CREATETABLEswitch(switch_codeNUMBER(8)
〉CONSTRAINTpk_switchcodePRIMARYKEY,)
●使主键约束无效:
ALTERTABLEswitchDISABLEPRIMARYKEY
●定义外键:
SQL〉CREATETABLEPOLE(pole_codeNUMBER(8),
〉office_numnumber(3)
CONSTRAINTfk_officenum
〉REFERENCESoffice_organization(office_num)
〉ONDELETECASCADE);
●定义检查:
SQL〉CREATETABLEoffice_organization(
〉office_numNUMBER(3),
〉CONSTRAINTcheck_officenum
〉CHECK(office_numBETWEEN10AND99);
2ORACLE数据库用户与权限管理
ORACLE是多用户系统,它允许许多用户共享系统资源.为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。
2。
1ORACLE数据库安全策略
●建立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 经典 毕业论文 oracle 论文