日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle复制数据库文件不动,复制数据库中需要注意的几点事项

發布時間:2023/12/15 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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复制数据库文件不动,复制数据库中需要注意的几点事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。