天天看點

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';

sql> alter tablespace users online;

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';

sql> alter system set standby_file_management='auto' scope=both;

h).切換日志--primary 資料庫操作

sql> alter system switch logfile;

系統已更改。