oracle复制数据库文件不动,复制数据库中需要注意的几点事项
任務簡介:
此次復制的生產庫數文件為9.18TB,實際分配的數據大小為5.16TB,使用RMAN壓縮備份后為1.1TB。
復制端數據庫采用單實例ASM存儲方式管理,數據庫版本為11.2.0.4. 數據文件目錄為+DATA,14.5TB,歸檔日志目錄為+ARCH,2TB。
生產庫數據文件大小
SQL> select sum(bytes)/1024/1024/1024 GB from dba_segments;
GB
----------
5287.02454
生產庫實際分配的大小
SQL> select sum(bytes)/1024/1024/1024 GB from dba_data_files;
GB
----------
9402.70592
注意事項一: 避免set newname腳本中出現同名文件
在rman中使用set newname時候為了保持文件名和生產庫一致,可以采用手工命名的方式。例如:
set newname for datafile 1 to ‘+DATA/cmsdb/datafile/system01.dbf’;
這個方式出現了一個潛在的隱患,如果生產庫中存在相同名字的數據文件存放在不同的目錄中,在編寫腳本時候容易出現重名的情況,導致RMAN restore出錯。
select name from v$datafile where name like ‘%DATA_P008.dbf%’;
/sgpmdb/oradata/u01/DATA_P008.dbf
/sgpmdb/oradata/u06/DATA_P008.dbf
當我采用vi編輯命令將目錄/sgpmdb/oradata/u01 統一改成+DATA/sgpmdb/datafile 就會自己創造出重名的文件。在好幾百行的腳本中很難一眼看出這個問題。
:%s#/sgpmdb/oradata/u01/#+DATA/cmsdb/datafile/#g
run{
...
set newname for datafile 1 to '+DATA/cmsdb/datafile/DATA_P008.dbf';
...
set newname for datafile 2 to '+DATA/cmsdb/datafile/DATA_P008.dbf';
…
}
執行RMAN restore 錯誤信息如下:
ORA-19504: failed to create file “+DATA/cmsdb/datafile/data_p008.dbf”
ORA-17502: ksfdcre:4 Failed to create file +DATA/cmsdb/datafile/data_p008.dbf
ORA-15005: name “cmsdb/datafile/data_p008.dbf”is already used by an existing alias
所以還是建議采用如下的方式讓oracle來定義alias,保持文件名唯一。
run{
set newname for datafile 1 to '+DATA';
set newname for datafile 2 to '+DATA';
set newname for datafile 3 to '+DATA';
…...
}
注意事項二: 后臺執行nohup的進程問題
vi編輯好RMAN腳本后,建議使用nohup命令在后臺執行,避免執行過程中被以外干擾。
nohup ./rman_scripts.cmd &
rman在后臺執行時,屏幕沒有輸出,可以通過tail -f ./nohup.out的方式來監控rman輸出。
也可以通過ps -ef | grep 的方式來觀察程序是否在后臺執行。這里需要注意的是 ps -ef | grep 后要輸入的是什么?
容易犯的錯誤是 ps -ef | grep nohup
這個命令是沒有返回結果的。如果錯誤的認為剛剛輸入的命令沒有起作用,而再次執行 nohup. /rman_scripts.cmd的話,悲劇產生了。該腳本被執行了2次!
如果是restore命令的話,并且采用了set newname for datafile 1 to '+DATA’;的寫法數,+DATA磁盤組中就會存在兩份數據文件,最終將磁盤空間撐爆。
正確的用法是 ps -ef | greprman_scripts.cmd
以上總結都是在此次項目中出現的問題。在漫長的數據庫恢復過程中,每一個錯誤都會耽誤大量的時間,一定要小心謹慎。
總結
以上是生活随笔為你收集整理的oracle复制数据库文件不动,复制数据库中需要注意的几点事项的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php里的%是什么意思,大家帮小弟我看下
- 下一篇: 全国各省人均gdp排名 6大城市超10万