Data Gurad物理备份方式下重命名数据文件


重命名数据文件

如果primary 数据库重命令了一个或多个数据文件,该项修改并不会自动传播到standby 数据库。

如果你想让standby 和数据文件与primary 保持一致,那你也只能自己手工操作了。就算STANDBY_FILE_MANAGEMENT 也帮不上忙啦,不管它是auto 还是manual。

下面通过示例做个演示:

A).将重命名的数据文件所在表空间offline --primary 数据库操作

SQL> alter tablespace users offline;

Tablespace altered.

B).手工将数据文件改名(操作系统) --primary 数据库操作

C).通过命令修改数据字典中的数据文件路径,并online 表空间--primary 数据库操作

SQL> alter tablespace users rename datafile '/u01/app/Oracle/oradata/jytest/users01.dbf' to '/u01/app/oracle/oradata/jytest/myusers01.dbf';

Tablespace altered.

SQL> alter tablespace users online;

Tablespace altered.

SQL>

D).暂停redo 应用,并shutdown --standby 数据库操作

SQL> alter database recover managed standby database cancel;

Database altered.

SQL> shutdown immediate;

ORA-01507: database not mounted

E).手工将数据文件改名(操作系统) --standby 数据库操作

F).重启standby,修改数据文件路径(数据字典) --standby 数据库操作

SQL> startup mount;

ORACLE instance started.

Total System Global Area 6442450944 bytes

Fixed Size                  2030368 bytes

Variable Size            1090520288 bytes

Database Buffers        5335154688 bytes

Redo Buffers              14745600 bytes

Database mounted.

SQL> alter database rename file

2 '/u01/app/oracle/oradata/jytest/users01.dbf' to

3 '/u01/app/oracle/oradata/jytest/myusers01.dbf';

表空间已更改

G).重新启动redo 应用。

SQL> alter system set standby_file_management='MANUAL' scope=both;

System altered.

SQL> alter database rename file '/u01/app/oracle/oradata/jytest/users01.dbf' to  '/u01/app/oracle/oradata/jytest/myusers01.dbf';

Database altered.

SQL> alter system set standby_file_management='AUTO' scope=both;

System altered.

H).切换日志--primary 数据库操作

SQL> alter system switch logfile;

系统已更改。

相关内容