第5章 存储管理(6)

2019-08-03 14:56

在OMF的文件命名规则中,文件名由默认的文件系统目录、基于文件类型的文件名称摸板和惟一字符串三部分组成。其结构如下表5-2所示。

表5-2 OMF文件的命名规则

文 件 类 型 数据文件 临时文件 联机重做日志文件 控制文件 格 式 ora_%t_%u.dbf ora_%t_%u.tmp ora_%g_%u.log ora_%u.ctl 其中:%t 是表空间的名称,%g 是联机重做日志文件的组号,%u 是一个包含8 个字符的惟一字符串。

对于OMF表空间来说,删除表空间时将自动删除对应的数据文件。

5.5.2 启用OMF

默认情况下,OMF功能没有启用。可以通过下面的语句来确认OMF是否启用。

SQL> SHOW PARAMETER DB_CREATE_FILE_DEST; NAME TYPE VALUE

-------------------- ------- ---------------------------- db_create_file_dest string

如果VALUE为空,则表明OMF未启用。

通过更改DB_CREATE_FILE_DEST和DB_CREATE_ONLINE_LOG_DEST_n初始化参数来启动OMF。如下面的语句。

SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='D:\\ORACLE' SCOPE=BOTH; 系统已更改。

其中,D:\\ORADATA目录为数据库用来创建和管理数据文件或者临时文件的目录,要求已经存在。DB_CREATE_FILE_DEST是一个动态参数,修改时需使用SCOPE=BOTH选项,这样修改后立即生效,且在数据库重启后仍然有效。因为SCOPE=BOTH这个选项表示在内存中更改这个参数值的同时更改服务器参数文件中的参数值。所以数据库重启后修改会被保存下来。不过需要注意的是,此时数据库采用的必须是服务器参数文件,即二进制参数文件。只有如此,利用ALTER SYSTEM语句对数据库系统参数的更改才会保存到数据库的初始化参数文件中,下次重新启动后才会继续生效。如果采用的是文本参数文件,那么利用这个命令更改的配置不会被保存到初始化参数文件中。数据库管理员必须要手工更改文本参数文件。所以,在采取这个命令更改参数时,需要确认这个更改是否需要永远有效。如果需要永远有效的话,那么就需要考虑数据库启动的时候使用的初始化参数文件是服务器参数文件还是文本参数文件。通过下面的语句确定数据库采用的初始化参数文件。

SQL>SHOW PARAMETER SPFILE NAME TYPE VALUE

-------- --------- -----------------------

spfile string D:\\APP\\ADMINISTRATOR\\PRODUCT\\11.2.0\\DBHOME_1 \\DATABASE\\SPFILEORCL.ORA

SQL>SHOW PARAMETER PFILE NAME TYPE VALUE

-------- ------ ----------------------------

spfile string D:\\APP\\ADMINISTRATOR\\PRODUCT\\11.2.0\\DBHOME_1 \\DATABASE\\SPFILEORCL.ORA

如果是服务器参数文件那么只需要采用SCOPE=BOTH选项即可。如果不是的话,那么

就可能在更改内存中的参数值的同时,在数据库初始化文件中也进行相应的更改。

如果使用OMF只对数据文件和临时文件进行管理,则只需设置DB_CREATE_FILE_DEST初始化参数;如果只对联机重做日志文件和控制文件进行管理,则只需设置DB_CREATE_ONLINE_LOG_DEST初始化参数。另外,如果要管理归档日志文件、回闪日志文件和RMAN操作文件的存放位置,则需设置DB_RECOVERY_FILE_DEST初始化参数。

默认情况下采用OMF建立的表空间,是小文件表空间。如果需要创建的是大文件表空间的话,那么需要采用关键字BIGFILE。即使启用了OMF方式来管理表空间,其实还可以采用传统的表空间管理方式。如通过CREATE TABLESPACE test DATAFILE 'D:\\ORADATA\\ORCL\\TEST.DBF' SIZE 100M这种方式来建立表空间与数据文件。也就是说OMF和传统的表空间管理方式可以并存。

5.5.3 使用OMF

下面的语句为使用OMF来管理数据文件示例。首先查看当前数据库系统中的DB_CREATE_FILE_DEST和DB_CREATE_ONLINE_LOG_DEST初始化参数的设置情况,确认当前数据库的OMF功能是否启用。

SQL> SHOW PARAMETER DB_CREATE_FILE_DEST NAME TYPE VALUE --------------------- ------------ --------- db_create_file_dest string

SQL> SHOW PARAMETER DB_CREATE_ONLINE_LOG_DEST NAME TYPE VALUE -------------------------- ----------- ------ db_create_online_log_dest_1 string db_create_online_log_dest_2 string db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string

以上VALUE为空,表明OMF未启用,接着设置DB_CREATE_FILE_DEST和DB_CREATE_ONLINE_LOG_DEST这两个初始化参数。

SQL> ALTER SESSION SET DB_CREATE_FILE_DEST=\会话已更改。

SQL> ALTER SESSION SET DB_CREATE_ONLINE_LOG_DEST_1=\会话已更改。

SQL> SHOW PARAMETER DB_CREATE_FILE_DEST NAME TYPE VALUE

------------------------ ------------ --------- db_create_file_dest string d:\\oracle

SQL> SHOW PARAMETER DB_CREATE_ONLINE_LOG_DEST NAME TYPE VALUE

--------------------------- ----------- ------ db_create_online_log_dest_1 string d:\\oracle db_create_online_log_dest_2 string db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string

经过上面对DB_CREATE_FILE_DEST和DB_CREATE_ONLINE_LOG_DEST这两个初始化参数的设置,就可以使用OMF功能。下面创建一个名为TEST_OMF的表空间,OMF奖自动在指定目录下创建数据文件并对之进行自动管理。

SQL> CREATE TABLESPACE TEST_OMF; 表空间已创建。

此时,可以在D:\\ORACLE目录下查看到通过刚刚创建的数据文件O1_MF_TEST_OMF_5WHMN8QG_.DBF。

如果删除表空间,将自动删除相应的数据文件。

SQL> DROP TABLESPACE TEST_OMF; 表空间已删除。

OMF还允许对一个现有的表空间中添加一个OMF文件。

SQL> ALTER TABLESPACE USERS ADD DATAFILE SIZE 100M; 表空间已更改。

SQL>SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME='USERS'; TABLESPACE_NAME FILE_NAME

------- ---------------------------------------------- USERS D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS01.DBF USERS D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS02.DBF USERS D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS03.DBF

USERS D:\\ORACLE\\ORCL\\DATAFILE\\O1_MF_USERS_95SXWQ4W_.DBF

可以看到新建的OMF文件O1_MF_USERS_95SXWQ4W_.DBF已经存在。

思考与练习

1.简述表空间的区间管理有哪几种? 2.在什么情况下,需要将表空间脱机?

3.添加联机重做日志文件时需要指定文件大小吗? 4.简述改变表空间大小有几种不同的方式。 5.简述临时表空间的内容。 6.简述临时表空间组的用途。

7.简述Oracle数据库的两种运行模式的不同。

8.简述将Oracle数据库运行模式设置为归档模式的步骤。 9.简述OMF的优点所在。

10.设置Oracle数据库使用OMF的主要步骤。 11.简述移动非系统表空间和系统表空间的不同。

上机实验

1.在SQL*PLUS中创建表空间MYTBS,初始大小为20M,当该表空间的容量不够时自动扩展,且每次扩展的大小为5M,最大容量可以扩展到100M。

2.在SQL*PLUS中将MYTBS表空间立即脱机后,然后再联机。 3.在SQL*PLUS中修改MYTBS表空间的大小为200M。

4.在SQL*PLUS中将MYTBS表空间对应的数据文件移动到上一级目录,如从D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\目录移动到D:\\APP\\ADMINISTRATOR\\ORADATA\\目录下。

5.在OEM中创建名为TEST的表空间,初始大小为10M,可以无限扩展存储空间。 6.将SYSTEM系统表空间对应的数据文件移动到上一级目录,如从D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\目录移动到D:\\APP\\ADMINISTRATOR\\ORADATA\\目录下。

7.在SQL*PLUS中移去表空间MYTBS。

8.在SQL*PLUS中通过SQL语句列出当前数据库中表空间和数据文件的对应关系。 9.在SQL*PLUS中列出当前数据库总共有多少个重做日志组,并且各自的状态。 10.在SQL*PLUS中列出当前数据库的重做日志组以及当前日志组和序列号信息。 11.在SQL*PLUS中对创建一组重做日志组GROUP 4。 12.在SQL*PLUS中对GROUP 1增加一个重做日志文件。

13.在SQL*PLUS中将重做日志文件组GROUP 4移去,并在资源管理器中查看该重做日志文件是否还存在。

14.在SQL*PLUS中执行一次日志切换。 15.启用Oracle数据库的OMF功能。


第5章 存储管理(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:心理健康与安全教育考试答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: