从参数取值看Oracle OMF特性(2)

下面我们可以观察一下默认OMF配置行为。首先是直接添加数据文件操作。

SQL> alter tablespace users add datafile size 100m autoextend off;

Tablespace altered

此时,新文件添加上,Oracle自动给予命名。

SQL> select file_name, file_id, tablespace_name from dba_data_files;

FILE_NAME                                                        FILE_ID TABLESPACE_NAME
 
------------------------------------------------------------- ---------- ------------------------------
 
/u01/app/oradata/ORA11G/datafile/o1_mf_users_9mnjs074_.dbf            4 USERS

/u01/app/oradata/ORA11G/datafile/o1_mf_users_9pplqldd_.dbf            6 USERS

(篇幅原因,有省略……)

6 rows selected

日志组添加,添加一个新的日志组。

SQL> alter database add logfile group 4 size 50m;

Database altered

SQL> select group#, member from v$logfile;

GROUP# MEMBER

---------- --------------------------------------------------------------------------------
 
        (篇幅原因,有省略……)

4 /u01/app/oradata/ORA11G/onlinelog/o1_mf_4_9pplrks5_.log

4 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_4_9pplrkwh_.log

8 rows selected

在默认情况下,db_create_log_dest是没有设置的。故采用延续的db_create_file_dest目录。并且会在recovery area中保留一个镜像备份,形成两份member成员的结构。
 
 

3、针对db_create_file_dest实验

下面我们尝试将db_create_file_dest参数指向一个新的位置。

[oracle@SimpleLinux app]$ pwd

/u01/app

[oracle@SimpleLinux app]$ mkdir -p /u01/app/oradata2

修改参数db_create_file_dest参数,该参数是支持动态修改的,修改之后不需要重新启动服务器。

SQL> alter system set db_create_file_dest='/u01/app/oradata2';

System altered

SQL> show parameter db_create_file_dest;

NAME                                TYPE        VALUE

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

db_create_file_dest                  string      /u01/app/oradata2

创建数据文件和日志文件,查看效果。

SQL> create tablespace test datafile size 10m autoextend off extent management local uniform size 1m segment space management auto;
 
 

Tablespace created

SQL> select file_name, file_id, tablespace_name from dba_data_files;

FILE_NAME                                                        FILE_ID TABLESPACE_NAME
 
------------------------------------------------------------- ---------- ------------------------------
 
(篇幅原因,有省略……)

/u01/app/oradata2/ORA11G/datafile/o1_mf_test_9ppm1m8w_.dbf            7 TEST

7 rows selected

注意:OMF不是意味着对于OFA的背离。我们调整了参数取值之后,新文件创建只是在新的参数位置,使用OFA结构而已。原有的大写数据库名称,类型目录并没有改变。

在线日志测试:

SQL> alter database drop logfile group 4;

Database altered

SQL> alter database add logfile group 4 size 50m;

Database altered

新的日志位置:

SQL> select group#, member from v$logfile;

GROUP# MEMBER

---------- --------------------------------------------------------------------------------
 
        (篇幅原因,有省略……)

4 /u01/app/oradata2/ORA11G/onlinelog/o1_mf_4_9ppm2y0x_.log

4 /u01/app/fast_recovery_area/ORA11G/onlinelog/o1_mf_4_9ppm2y3s_.log

8 rows selected

当更换db_create_file_dest之后,新的日志创建依然为两份,在新目录中一份,在recovery area中一份。

如果我们清空这个参数,将db_create参数都是空的话,是什么现象?

SQL> alter system set db_create_file_dest='';

System altered

SQL> show parameter db_create;

NAME                                TYPE        VALUE

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

db_create_file_dest                  string     

db_create_online_log_dest_1          string

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/623a29f8cc1f8efc0c87fa46be8658ea.html