首页 / 数据库 / MySQL / Oracle 11gR2 Active Data Guard调整案例[1]
客户的环境是Oracle RAC Database 11.2.0.3 for Linux x86_64bit+Oracle Database 11.2.0.3 for Linux x86_64bit(ADG备库),RAC使用的是ASM,备库使用的是文件系统。客户在RAC主库为SYSTEM表空间添加了一个数据文件,由于脚本有问题该数据文件被放在了node 1的本地文件系统上,导致node 2的数据库实例宕掉,这一过程被成功的同步到了备用库,备用库同步的该文件对应的文件系统空间不足,同样需要调整其位置,通过下面的步骤模拟出现问题及解决问题的步骤。一.模拟误操作过程。1.主库操作: SQL> show parameter db_create
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string +DBFILE1 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 SQL> select file_name from dba_data_files;
SQL*Plus: Release 11.2.0.2.0 Production on Thu May 2 09:18:12 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount ORACLE instance started.
Total System Global Area 784998400 bytes Fixed Size 2230600 bytes Variable Size 486540984 bytes Database Buffers 289406976 bytes Redo Buffers 6819840 bytes Database mounted. SQL> select name from v$datafile;
3).重命名system02.dbf位置。 [oracle@redhat5 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Thu May 2 01:28:22 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount ORACLE instance started.
Total System Global Area 313159680 bytes Fixed Size 2226072 bytes Variable Size 251660392 bytes Database Buffers 54525952 bytes Redo Buffers 4747264 bytes Database mounted. SQL> select name from v$datafile;
SQL> alter database rename file "/u01/app/oracle/product/11.2.0/db_1/dbs/system02.dbf" to "/u01/app/oracle/oradata/system02.dbf"; alter database rename file "/u01/app/oracle/product/11.2.0/db_1/dbs/system02.dbf" to "/u01/app/oracle/oradata/system02.dbf" * ERROR at line 1: ORA-01511: error in renaming log/data files ORA-01275: Operation RENAME is not allowed if standby file management is automatic. 上面提示很明确,在standby_file_management等于AUTO的情况下无法执行该操作。
SQL> show parameter standby
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ standby_archive_dest string ?/dbs/arch standby_file_management string AUTO
修改standby_file_management=manual: SQL> alter system set standby_file_management=manual;
System altered.
SQL> alter database rename file "/u01/app/oracle/product/11.2.0/db_1/dbs/system02.dbf" to "/u01/app/oracle/oradata/system02.dbf";
Database altered.
重命名成功。
SQL> alter database open;
Database altered.
SQL> alter database recover managed standby database using current logfile disconnect;
Database altered.
恢复standby_file_management的值: SQL> alter system set standby_file_management=auto;
System altered.
主库操作: 执行下面的步骤验证日志传输服务是否恢复正常。 SQL> alter system switch logfile;
System altered.
切换RAC所有实例的logfile。
SQL> select dest_id,thread#,max(sequence#) from v$archived_log where resetlogs_change#=5069294 group by dest_id,thread#