番外:Oracle 中关于 Control File 的备份说明
副标题[/!--empirenews.page--]
目录 1. 控制文件的作用 2. 控制文件的多路复用 2.1 如何进行多路复用(OCM 11g 考题) 2.2 最多可进行几路复用 3. 控制文件的备份 3.1 TRACE备份 3.1.1 TRACE默认备份 3.1.2 TRACE指定路径备份 3.2 BINARY备份 ? 1. 控制文件的作用 某某某的作用,这种已经烂大街且千篇一律的理论知识,相信你不感兴趣,我也不感兴趣。那是从前,从前的事都过去了,因为你遇见了我,这不叫自恋,而是自信。如果你是初学者,记着前面3句话即可,如果有点基础,记着5句话。 第 1 句:它是数据库启动的第二阶段(MOUNT)需要加载读取的文件。 第 2 句:它是一个二进制文件,不能直接手工编辑或查看,它很小,但很重要。 第 3 句:通过它可以查询当前数据库的物理状态。(比如当前实例是STARTED?还是MOUNTED?还是OPEN?) 第 4 句:它要维护数据的一致性(SCN)。 第 5 句:它记录着RMAN备份的元数据。 不知道什么是元数据? 在现实生活中:例如一个仓库的账本,里面记录了多少货架、每个货架分布的位置、每个货架每一层放了什么东西等等,这些信息就是这个仓库的元数据。 在数据库中:例如一个数据库的备份,具体什么时间做的备份、什么形式的备份、生成了几个备份集、包含多少数据文件、每个备份集几个备份片、具体路径在哪里等等,这些信息就是RMAN备份的元数据。 ? 2.?控制文件的多路复用 2.1 如何进行多路复用(OCM 11g 考题) 直接引用一道考题做说明:Triplex the contrl file on the PROD1 将PROD1库的控制文件进行3路复用。 查看当前控制文件路径: SQL> show parameter name NAME TYPE VALUE ------------------------ --------------- --------- db_file_name_convert string db_name string PROD1 db_unique_name string PROD1 global_names boolean FALSE instance_name string PROD1 lock_name_space string log_file_name_convert string processor_group_name string service_names string PROD1 SQL> show parameter control_files SQL> select name from v$controlfile; NAME -------------------------------------------------- /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control02.ctl 更改 control_files 参数: 注意,该参数为动态参数,无法在 memory 中修改,所以scope选项不能是默认both,也不能是memory,只能是spfile。 SQL> alter system set control_files=‘/u01/app/oracle/oradata/PROD1/control01.ctl‘,‘/u01/app/oracle/oradata/PROD1/control02.ctl‘,‘/u01/app/oracle/oradata/PROD1/control03.ctl‘ scope=spfile; System altered. 干净一致关闭数据库: SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. 修改(复制)参数对应的物理文件: SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control03.ctl 保证参数里面指定的路径,和物理路径一致。 启动数据库并查询验证: SQL> startup ORACLE instance started. Total System Global Area 830930944 bytes Fixed Size 2232920 bytes Variable Size 591400360 bytes Database Buffers 234881024 bytes Redo Buffers 2416640 bytes Database mounted. Database opened. SQL> show parameter control_files SQL> select name from v$controlfile; NAME -------------------------------------------------- /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control02.ctl /u01/app/oracle/oradata/PROD1/control03.ctl 2.2 最多可进行几路复用 来个9路复用试一下:所有路径的控制文件内容完全一样,且多路复用建议每一路放在不同路径下。 SQL> alter system set control_files=‘/u01/app/oracle/oradata/PROD1/control01.ctl‘,‘/u01/app/oracle/oradata/PROD1/control03.ctl‘,‘/u01/app/oracle/oradata/PROD1/control04.ctl‘,‘/u01/app/oracle/oradata/PROD1/control05.ctl‘,‘/u01/app/oracle/oradata/PROD1/control06.ctl‘,‘/u01/app/oracle/oradata/PROD1/control07.ctl‘,‘/u01/app/oracle/oradata/PROD1/control08.ctl‘,‘/u01/app/oracle/oradata/PROD1/control09.ctl‘ scope=spfile; System altered. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control04.ctl SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control05.ctl SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control06.ctl SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control07.ctl SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control08.ctl SQL> !cp /u01/app/oracle/oradata/PROD1/control01.ctl /u01/app/oracle/oradata/PROD1/control09.ctl SQL> startup ORACLE instance started. Total System Global Area 830930944 bytes Fixed Size 2232920 bytes Variable Size 591400360 bytes Database Buffers 234881024 bytes Redo Buffers 2416640 bytes ORA-03113: end-of-file on communication channel Process ID: 5040 Session ID: 1 Serial number: 3 (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |