Oracle数据库开发实用教程第五章.ppt
《Oracle数据库开发实用教程第五章.ppt》由会员分享,可在线阅读,更多相关《Oracle数据库开发实用教程第五章.ppt(72页珍藏版)》请在三一办公上搜索。
1、Oracle 11g实用教程,第五章 Oracle 11g数据库的物理结构,内容概要,Oracle数据库的系统结构,Oracle 11g数据库系统结构由数据库实例和物理存储结构组成。,Oracle数据库的存储结构物理存储结构:描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关逻辑存储结构:描述在Oracle数据库内部数据的组织和存储方式的,与操作系统没有关系物理存储结构是逻辑存储结构在物理上的、可见的、可操作的、具体的体现形式。,物理存储结构,指存储在磁盘上的物理文件,逻辑存储结构,指的是内部数据的组织和管理方式,Oracle数据库物理存储结构,数据文
2、件:用于存储数据库中的所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。,数据文件及其管理,数据文件概述 数据文件的管理,数据文件,数据文件是用于保存数据库中数据的文件数据文件是依附于表空间而存在的数据文件的数量
3、、文件大小受到初始化参数DB_FILES和控制文件中的Maxdatafiles 参数的限制为了提高I/O效率,要合理分配数据文件存储位置把不同存储内容的数据文件放置在不同的硬盘上初始化参数文件、控制文件、重做日志文件最好不要与数据文件存放在同一个磁盘临时数据文件:是一类特殊的数据文件,其内容是临时性的,在一定条件下自动释放数据文件与表空间的关系 数据文件依附于表空间存在表空间 数据文件,数据文件的管理,创建数据文件修改数据文件的大小改变数据文件的可用性改变数据文件的名称或位置删除数据文件 查询数据文件的信息利用OEM管理数据文件,数据文件的管理,创建数据文件CREATE TABLESPACE:
4、创建表空间的同时创建数据文件CREATE TEMPORARY TABLESPACE:创建本地管理的临时表空间,同时创建临时数据文件。CREATE DATABASE:创建数据库和相关的数据文件。ALTER DATABASE.CREATE DATAFILE:数据库恢复操作时,新建一个空数据文件取代出现故障的数据文件。ALTER TABLESPACE.ADD DATAFILE:向表空间创建并添加数据文件。ALTER TABLESPACEADD TEMPFILE:向临时表空间创建并添加临时数据文件。注意:进行这些操作必须具备管理员权限!,创建文件,例1:向ORCL数据库的USERS表空间中添加一个大小
5、为20 MB的数据文件。SQLALTER TABLESPACE USERS ADD DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf size 20M;例2:向ORCL数据库的TEMP表空间中添加一个大小为5 MB的临时数据文件。SQLALTER TABLESPACE TEMP ADD TEMPFILE/u01/app/oracle/oradata/orcl/temp02.dbf size 5M;,修改数据文件大小,两种方法设置数据文件为自动增长方式优点:DBA无须过多干涉数据库存储空间的分配问题 可以保证应用程序不会因为分配空间不足而导致错误手
6、工改变数据文件的大小设置数据文件为自动增长方式创建时设置:CREATE DATABASE/TABLESPACEALTER TABLESPACEADD DATAFILE创建后修改:ALTER DATABASE DATAFILEAUTOEXTEND ON NEXT MAXSIZE|UNLIMITED,AUTOEXTEND ON,指定数据文件每次自动增长的大小,指定数据文件的极限大小,指定数据文件大小没有限制,修改数据文件的大小,例1:为ORCL数据库的USERS表空间添加一个自动增长的数据文件SQLALTER TABLESPACE USERS ADD DATAFILE/u01/app/oracle
7、/oradata/orcl/users03.dbf size 20M AUTOEXTEND ON NEXT 512K MAXSIZE 50M;例2:修改ORCL数据库的USERS表空间的数据文件USERS02.DB的自动增长方式SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED;,修改数据文件的大小,手动改变数据文件的大小ALTER DATABASE DATAFILERESIZE例:将ORCL数据库的USERS表空间的数据文件USER
8、S02.DBF大小设置为8MB。SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf RESIZE 10M;注意:不能随意减小数据文件的大小,因为数据文件中包含的数据可能超过设定的数值,这样数据库就会发生错误,可以通过将数据文件联机或脱机来改变数据文件或临时数据文件的可用性.改变文件可用性的几种情况:进行数据文件的脱机备份时;重命名数据文件或改变数据文件的位置时;写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。数据文件丢失
9、或损坏,需要在启动数据库之前将数据文件脱机。,归档模式下数据文件可用性的改变,数据文件可用性的改变ALTER DATABASE DATAFILE ONLINE|OFFLINE临时数据文件可用性的概念改变ALTER DATABASE TEMPFILE ONLINE|OFFLINE例,在归档模式下,将ORCL数据库的USERS表空间的数据文件USERS02.DBF脱机之后再联机SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf OFFLINE;SQLALTER DATABASE DATAFILE/u01/app/or
10、acle/oradata/orcl/users02.dbf ONLINE;,改变数据文件的可用性,非归档模式下数据文件脱机在非归档模式下,通常不能将数据文件脱机。当数据文件损坏,需要将数据文件脱机,然后重新启动数据库 ALTER DATABASE DATAFILEOFFLINE FOR DROP例如,在非归档模式下将users02.dbf脱机SQLALTER DATABASE DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf OFFLINE FOR DROP;注意:此操作并不会实际删除数据文件,数据文件还留在数据字典中,改变数据文件的可用性,改变
11、表空间中所有数据文件的可用性在归档模式下,将表空间所有文件脱机或联机 ALTER TABLESPACE.DATAFILE ONLINE|OFFLINE在归档模式下,将临时表空间所有临时文件联机或脱机ALTER TABLESPACE.TEMPFILE ONLINE|OFFLINE表空间本身的可用性并不变例如,在归档模式下,将USERS表空间中所有的数据文件脱机,但USERS表空间不脱机SQLALTER TABLESPACE USERS DATAFILE OFFLINE;SQLRECOVER TABLESPACE USERS;注意:如果数据库处于打开状态:则不能将SYSTEM表空间、UNDO表空间
12、和默认的临时表空间中所有的数据文件或临时文件同时设置为脱机状态注意:在归档模式下,将数据文件联机前,需要进行恢复操作,使用RECOVER DATAFILE。,改变数据文件的可用性改变名称或位置,改变属于同一个表空间的数据文件,则使用ALTER TABLESPACERENAME DATAFILETO语句实现;改变数据文件的名称或位置时,Oracle只是改变记录在控制文件和数据字典中的数据文件信息,并没有改变操作系统中数据文件的名称和位置例如,将ORCL数据库USERS表空间的USERS02.DBF和USERS03.DBF文件重命名名为USERS002.DBF和USERS003.DBF,将包含数据
13、文件的表空间置为脱机状态,并且数据库必须是打开的。SQLALTER TABLESPACE USERS OFFLINE;在操作系统中重命名数据文件或移动数据文件到新的位置。分别将USERS02.DBF和USERS03.DBF文件重命名为USERS002.DBF和USERS003.DBF。使用ALTER TABLFSPACERENAME DATAFILETO语句进行操作,以修改控制文件中的信息。SQLALTER TABLESPACE USERS RENAME DATAFILE/u01/app/oracle/oradata/orcl/users02.dbf,/u01/app/oracle/orada
14、ta/orcl/users03.dbf TO/u01/app/oracle/oradata/orcl/users002.dbf,/u01/app/oracle/oradata/orcl/users003.dbf;备份数据库,并将表空间联机。SQLALTER TABLESPACE USERS ONLINE;,改变数据文件的名称或位置,改变属于多个表空间的数据文件,则使用ALTER DATABASE RENAME FILETO语句实现例如,更改ORCL数据库USERS表空间中的USERS002.DBF文件位置,修改EXAMPLE表空间中的example01.DBF文件名注意:如果对系统表空间、默认
15、临时表空间或活动的撤销表空间中的数据文件或临时数据文件进行重命名或改变位置,必须使用ALTER DATABASE 语句,因为这些表空间不能置为脱机状态,关闭数据库。SQLSHUTDOWN IMMEDIATE在操作系统中,将要改动的数据文件复制到新位置或改变它们的名称。将USERS表空间中的USERS002.DBF文件复制到一个新的位置,如D:ORACLEPRODUCT10.2.0ORADATA,修改EXAMPLE表空间的数据文件example01.DBF的名为example001.DBF。启动数据库到MOUNT状态。SQLSTARTUP MOUNT执行ALTER DATABASE RENAME
16、 FILETO语句更新数据文件名称或位置。SQLALTER DATABASE RENAME FILE/u01/app/oracle/oradata/orcl/users002.dbf,/u01/app/oracle/oradata/orcl/example01.dbf TO/u01/app/oracle/oradata/users002.dbf,/u01/app/oracle/oradata/orcl/example001.dbf;打开数据库,并对数据库进行备份。SQLALTER DATABASE OPEN;,删除数据文件,空数据文件或空临时数据文件,是指为该文件分配的所有区都被回收删除数据文
17、件或临时数据文件,将删除控制文件和数据字典中与该数据文件或临时数据文件相关的信息,同时相应的物理文件也会从操作系统中删除删除某个表空间中的某个空数据文件ALTER TABLESPACEDROP DATAFILE语句删除某个临时表空间中的某个空的临时数据文件ALTER TABLESPACE.DROP TEMPFILE语句例,删除USERS表空间中的数据文件USERS003.DBF和删除TEMP临时表空间中的临时数据文件TEMP03.DBF,数据文件信息查询,包含数据文件相关信息的数据字典视图和动态性能视图,控制文件,描述整个数据库的物理结构信息的文件是一个二进制文件,DBA不能直接修改,只能由O
18、racle进程读/写其内容在数据库启动时,数据库实例依赖初始化参数定位控制文件,然后根据控制文件的信息加载数据文件和重做日志文件,最后打开数据文件和重做日志文件在数据库运行与维护阶段,数据文件与重做日志文件的结构变化信息都记录在控制文件中,控制文件的内容,数据库名称和标识;数据库创建的时间;表空间名称;数据文件和重做日志文件的名称和位置;当前重做日志文件序列号;数据库检查点的信息;回退段的开始和结束:重做日志的归档信息;备份信息;数据库恢复所需要的同步信息。,控制文件的最大化参数MAXLOGFILE最大重做日志文件组数量;MAXLOGMEMBERS重做日志文件组中最大成员数量;MAXLOGHI
19、STORY最大历史重做日志文件数量;MAXDATAFILES最大数据文件数量;MAXINSTANCES可同时访问的数据库最大实例个数控制文件管理策略Oracle建议最少有两个控制文件,通过多路镜像技术,将多个控制文件分散到不同的磁盘中在数据库运行过程中,始终读取CONTROL_FILES参数指定的第一个控制文件,并同时写CONTROL_FILES参数指定的所有控制文件。如果其中一个控制文件不可用,则必须关闭数据库并进行恢复每次对数据库结构进行修改后(添加、修改、删除数据文件、重做日志文件),应该及时备份控制文件。,控制文件管理,创建控制文件实现多路镜像控制文件备份控制文件删除控制文件查看控制文
20、件的信息,创建控制文件,创建数据库时,系统会根据初始化参数文件中CONTROL_FILES的设置创建控制文件。创建控制文件的方式:创建初始的控制文件创建额外的备份,重命名控制文件,控制文件改变位置创建新的控制文件,创建初始的控制文件,使用CREATE DATABASE语句可以创建ORACLE数据库的初始控制文件。在数据库创建过程中使用初始化参数文件中的CONTROL_FILES参数设定控制文件,并且文件名必须是使用带路径的全文件名例如CONTROL_FILES=(/u01/oracle/orcl/control01.ctl,/u02/oracle/orcl/control02.ctl,/u03
21、/oracle/orcl/control03.ctl),控制文件多路镜像,对控制文件重命名和改变存储位置控制文件多路镜像或重命名的步骤如下:关闭数据库在操作系统中,复制一个已有控制文件到新目录中,并重新命名在数据库参数文件列表中编辑CONTROL_FILES参数,添加一个新的控制文件名或改变已有的控制文件名重启数据库。,创建新的控制文件的语句,CREATE CONTROLFILE REUSESET DATABASE database-重命名指定DB名称LOGFILE logfile_clause-指定联机重做日志文件RESETLOGS|NORESETLOGS/*重命名DB或丢失部分联机重做日志
22、文件,则指定RESETLOGS;对DB进行完全恢复,则指定NORESETLOGS*/DATAFILE file_specificationMAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESMAXINSTANCESARCHIVELOG|NOARCHIVELOG-指定DB运行在归档/非归档模式FORCE LOGGING-指定DB启动后,所有变更操作都记录到日志文件CHARACTER SET character_set-指定DB的字符集,新建控制文件的基本步骤,制作数据库中所有的数据文件和重做日志文件列表 SQLSELECT MEMBER FROM V
23、$LOGFIIE;SQLSELECT NAME FROM V$DATAFIIE;SQLSELECT VALUE FROM V$PARAMETER WHERE NAME=control_files;如果数据库仍然处于运行状态,则关闭数据库SQLSHUTDOWN IMMEDIATE在操作系统级别备份所有的数据文件和联机重做日志文件启动实例到NOMOUNT状态SQLSTARTUP NOMOUNT,利用前面得到的文件列表,执行CREATE CONTROLFILE创建一个新控制文件。在操作系统级别对新建的控制文件进行备份。如果数据库重命名,则编辑DB_NAME参数来指定新的数据库名称。如果数据库需要恢复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 开发 实用教程 第五
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6513546.html