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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 12c创建归档,实测创建 Oracle 12C Dataguard

發布時間:2025/3/21 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 12c创建归档,实测创建 Oracle 12C Dataguard 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle 12C Dataguard

環境:centOS 6.4 64bit? ?oracle 12C 12.1.0.1.0 - 64bit

主庫:10.168.9.52? ?sid=bbc??db_unique_name=bbc

備庫:10.168.9.53? ?sid=bbc??db_unique_name=abc

主庫配置:

1.數據庫修改為歸檔模式? ?查看:archive log list;

2.參數log_archive_start已經過時,不需要設置,設置后啟動數據庫會報?ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance(有過時或廢棄的參數被使用指定) ?但是不影響使用

alter system reset log_archive_start?取消該參數設置

3.數據庫開啟強制日志功能,即所有操作都產生日志,以便將主庫所有的操作全部傳給備庫使用 : alter database force logging; select name,force_logging from v$database;

4.確認當主庫添加或刪除數據文件時,備庫也做同樣的的操作:

Alter system set standby_file_management=’AUTO’;

5.確認參數 remote_login_passwordfile 為exclusive 或shared 使用密碼文件做驗證 此參數默認為exclusive,如果不是,請修改

Alter system set remote_login_passwordfile =exclusive scope=spfile;

6.設置db_unique_name 通常主庫該值和SID一直,如沒有該值,請設置:

Alter system set db_unique_name=bbc scope=spfile;

7.開啟閃回功能:可以使數據庫閃回到以前的某一點,可以使主庫閃回到故障前,然后將其轉換為備庫。如果沒有閃回,就必須重建庫。

Alter system set db_recovey_file_dest=’快速回復區目錄’ 閃回區位置

Alter system set db_recovey_file_dest_size=’300G’; 閃回區大小

Alter database flashback on ;

Select flashback_on from v$database ;

8.配置主備庫的監聽,使兩臺服務器可以相互通信:

主庫修改listener.ora文件 動態靜態監聽都要配置 (備庫啟動后是在mount狀態下,不能自動注冊監聽,需要靜態監聽 修改后監聽需要重啟)

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=orcl65)

(SID_NAME=orcl65)

(ORACLE_HOME=/18_app/12c/db_base/db_home/)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.18)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

主庫tnsnames.ora文件:

ORCL65 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.18)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl65)

)

)

ORCL66 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.19)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl66)

)

)

備庫修改listener.ora 動態靜態監聽都要配置 修改后監聽需要重啟

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(GLOBAL_DBNAME=orcl66)

(SID_NAME=orcl66)

(ORACLE_HOME=/19_app/12c/db_base/db_home/)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.19)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

備庫tnsnames.ora文件:

ORCL65 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.18)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl65)

)

)

ORCL66 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.19)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl66)

)

)

~

9.修改歸檔位置:

Alter system set log_archive_dest_1=’location=/u01/app/archive/archive_bbc_loc/ valid_for=(all_logfiles,all_roles) db_unique_name=bbc ’

指定歸檔位置用于所有角色所有數據庫的日志文件且db_unique_name=bbc包括將來主轉為備后的備用日志文件(注意不是在線日志文件,是主庫用日志寫進程直接傳過來并保存到standby_log中的日志文件),并且如果想在備庫進行備份同時備歸檔日志的話,必須使用all_logfiles

Alter system set log_archive_dest_10=’service=abc arch valid_for=(online_logfiles,primary_role) db_unique_name=abc’;

語句意思是:如果這是主庫,就使用服務名為abc 傳輸在線歸檔日志到目標庫abc (這里使用的是歸檔進程同步傳輸的,還有其他的模式 )

不要配置standby_archive_dest參數,官方已經棄用,可能會報錯

部分參數說明:online_logfiles(在線日志) satandby_logfiles(備用日志) all_logfiles(所有日志) primary_role(主庫角色) standby_role(備庫角色) all_roles(所有角色)

10.設置參數fal_server 是指傳輸出現問題后,備庫到哪里去找缺少的歸檔日志 參數fal_client在11G已經棄用,不用設置了

Alter system set fal_server = ‘abc’;

11. 打開主庫的dataguard 開關:

;

備庫設置

1.創建備庫必要的目錄,最少要建立主庫所有數據文件的目錄,$db_base/fast_recovery_area/bbc/所有目錄, $db_base/oradata/bbc/所有目錄,$db_base/admin/bbc/adump

2.停主庫:在mount下生成pfile??create pfile from spfile

生成備庫控制文件 alter database create standby controlfile as ‘/路徑/文件名’;

并且將新生成的參數文件,控制文件,密碼文件,所有數據文件,日志文件全部拷貝到備庫的響應目錄下(我也不想停庫啊之前也用rman 恢復過,備庫不能open read only,報有數據文件需要恢復,搞不定啊—問題解決,后面有筆記)

給參數文件和密碼文件改名

3.修改參數文件:將部分bbc修為abc,其中db_name=‘bbc’和dispatchers='(PROTOCOL=TCP) (SERVICE=bbcXDB)不用修改,

修改所有路徑為備庫的路徑

如果數據文件路徑有修改需要添加參數db_file_name_convert=‘原路徑1’,‘新路徑1’,‘原路徑2’,‘新路徑2’,‘原路徑3’,‘新路徑3’??所有不一樣的數據文件路徑都要添加,要成對出現

log_file_name_convert=‘原路徑1’,‘新路徑1’,‘原路徑2’,‘新路徑2’,‘原路徑3’,‘新路徑3’??所有不一樣的日志文件路徑都要添加,要成對出現

添加 db_unique_name='abc'

4.生成spfile 重新啟動備庫監聽,啟動備庫到mount, 重新啟動主庫監聽,啟動主庫(并確保都是使用的spfile)

備庫啟動恢復模式:alter database recover managed standby database disconnect from session

備庫關閉恢復模式: alter database recover managed standby database cancel;

備庫只讀模式打開數據庫:alter database open read only;

備庫啟動恢復模式:alter database recover managed standby database disconnect from session;

SQL> select log_mode,open_mode ,protection_mode, database_role from v$database;

LOG_MODE? ???OPEN_MODE? ? ? ? ? ? ? ?? ?PROTECTION_MODE? ?? ?DATABASE_ROLE

------------ -------------------- -------------------- ----------------

ARCHIVELOG? ?READ ONLY WITH APPLY MAXIMUM PERFORMANCE??PHYSICAL STANDBY

至此,初步的dataguard 創建完成,測試以及模式轉換待續

備庫用主庫rman 備份恢復:

1.創建備庫必要的目錄,最少要建立主庫所有數據文件的目錄,$db_base/fast_recovery_area/bbc/所有目錄, $db_base/oradata/bbc/所有目錄,$db_base/admin/bbc/adump

(/19_app/12c/db_base/fast_recovery_area/orcl66)

(/19_app/12c/db_base/fast_recovery_area/ORCL66/四個文件夾 archivelog,autobackup,flashback, onlinelog)

(/19_app/12c/db_base/oradata/orcl66/兩個文件夾orcl_pdb1,pdbseed)

(/19_app/12c/db_base/admin/orcl66/adump)

2.configure channel device type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp';修改備份路徑和名字

3.在主庫用rman備份:backup as compressed backupset database include current controlfile for standby plus archivelog; 在主庫生成pfile ,并將主庫的備份,pfile,口令文件 一起拷貝到備庫相同的文件夾下。

4.將pfile,口令文件改名并拷貝到dbs下,修改參數文件

注意參數文件中的參數: MEMORY_TARGET(將其注釋掉, 會報ORA-00845錯誤,主庫的內存設置不一定適合從庫)??啟動備庫到nomount

5.在主庫登陸rman:rman target / auxiliary sys/bbcBBC2014@ccb

(在備庫做:rman target sys/bbcBBC2014@bbc auxiliary sys/bbcBBC2014@ccb)

duplicate target database for standby

6.起動備庫到mount 并open read only

7.開啟恢復模式:alter database recover managed standby database? ?disconnect from session;

8.查看模式及級別:SQL> select log_mode,open_mode ,protection_mode, database_role from v$database;

LOG_MODE? ???OPEN_MODE? ? ? ? ? ? ? ?? ?PROTECTION_MODE? ?? ?DATABASE_ROLE

------------ -------------------- -------------------- ----------------

ARCHIVELOG? ?READ ONLY WITH APPLY MAXIMUM PERFORMANCE??PHYSICAL STANDBY

測試數據,正常!

添加另一個新的DG:

主庫添加修改:Alter system set log_archive_config ='dg_config=(orcl65,orcl66,orcl67)';

alter system set log_archive_dest_9='service=orcl67 lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl67';

從庫按之前操作

從庫可以是新庫,也可以沒有庫,沒有庫也要添加兩個監聽文件!!!

總結

以上是生活随笔為你收集整理的oracle 12c创建归档,实测创建 Oracle 12C Dataguard的全部內容,希望文章能夠幫你解決所遇到的問題。

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