亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

單機(jī)DG的搭建

IT那活兒 / 2098人閱讀
單機(jī)DG的搭建

點(diǎn)擊上方“IT那活兒”,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!


Data Guard不只是一個(gè)備份恢復(fù)的工具,某些情況下它甚至可以與primary數(shù)據(jù)庫完全一模一樣。

但是,它存在的目的并不僅僅是為了恢復(fù)數(shù)據(jù),應(yīng)該說它的存在是為了確保企業(yè)數(shù)據(jù)的高可用性,數(shù)據(jù)保護(hù)以及災(zāi)難恢復(fù)。



01


dg提供全面的服務(wù)包括:
創(chuàng)建,維護(hù),管理以及監(jiān)控standby數(shù)據(jù)庫,確保數(shù)據(jù)安全,管理員可以通過將一些操作轉(zhuǎn)移到standby數(shù)據(jù)庫執(zhí)行的方式改善數(shù)據(jù)庫性能 ,構(gòu)建高可用的企業(yè)數(shù)據(jù)庫應(yīng)用環(huán)境。
在Data Gurad 環(huán)境中,至少有兩個(gè)數(shù)據(jù)庫:
  • 一個(gè)處于Open 狀態(tài)對(duì)外提供服務(wù),這個(gè)數(shù)據(jù)庫叫作Primary Database;

  • 第二個(gè)處于恢復(fù)狀態(tài),叫作Standby Database。 

運(yùn)行時(shí)Primary Database 對(duì)外提供服務(wù),用戶在Primary Database 上進(jìn)行操作,操作被記錄在聯(lián)機(jī)日志和歸檔日志中,這些日志通過網(wǎng)絡(luò)傳遞給Standby Database。 
這個(gè)日志會(huì)在Standby Database 上重演,從而實(shí)現(xiàn)Primary Database 和Standby Database 的數(shù)據(jù)同步。
如果是可預(yù)見因素需要關(guān)閉Primary Database,比如軟硬件升級(jí),可以把Standby Database 切換為Primary Database 繼續(xù)對(duì)外服務(wù),這樣即減少了服務(wù)停止時(shí)間,并且數(shù)據(jù)不會(huì)丟失。
如果異常原因?qū)е翽rimary Database 不可用,也可以把Standby Database 強(qiáng)制切換為Primary Database繼續(xù)對(duì)外服務(wù),這時(shí)數(shù)據(jù)損失都和配置的數(shù)據(jù)保護(hù)級(jí)別有關(guān)系。
因此Primary 和Standby 只是一個(gè)角色概念,并不固定在某個(gè)數(shù)據(jù)庫中

02


2.1 DG有三大保護(hù)模式:
  • Maximum Availability 
  • Maximum Performance 
  • Maximum Protection
2.1.1 最大性能模式(Maximum Performance)
1)該模式是默認(rèn)模式,可以保證主數(shù)據(jù)庫的最高可用性;
2)保證主庫運(yùn)行過程中不受備庫的影響,主庫事務(wù)正常提交,不因備庫的任何問題影響到主庫的運(yùn)行;
4)優(yōu)點(diǎn):避免了備庫對(duì)主數(shù)據(jù)庫的性能和可用性影響;
5)缺點(diǎn):如果與主庫提交的事務(wù)相關(guān)的恢復(fù)數(shù)據(jù)沒有發(fā)送到備庫,這些事務(wù)數(shù)據(jù)將被丟失,不能保證數(shù)據(jù)無損失;
如果不設(shè)置,數(shù)據(jù)庫默認(rèn)是最大性能模式。
通常工作在LGWR ASYNC方式下 或 ARCH方式下,它是一種異步的,所以數(shù)據(jù)不能保證完全一致,一旦異步發(fā)送數(shù)據(jù)過程中異常,或者主庫出現(xiàn)異常,備庫會(huì)有一小部分?jǐn)?shù)據(jù)損失。
2.1.2 最大可用模式(Maximum Availability)
1)該模式提供了僅次于“最大保護(hù)模式”的數(shù)據(jù)保護(hù)能力;
2)要求至少一個(gè)物理備庫收到重做日志后,主庫的事務(wù)才能夠提交;
3)主庫找不到合適的備庫寫入時(shí),主庫不會(huì)關(guān)閉,而是臨時(shí)降低到“最大性能模式”模式,直到問題得到處理;
該模式只能工作在LGWR SYNC方式下。
需要說明的是,即使設(shè)置了系統(tǒng)為最大可用模式,但是沒有LGWR SYNC方式的配置支持,它會(huì)默認(rèn)轉(zhuǎn)為最大性能模式。
2.1.3 最大保護(hù)模式(Maximum Protection)
1)這種模式提供了最高級(jí)別的數(shù)據(jù)保護(hù)能力;
2)要求至少一個(gè)物理備庫收到重做日志后,主庫的事務(wù)才能夠提交;
3)主庫找不到合適的備庫寫入時(shí),主庫會(huì)自動(dòng)關(guān)閉,防止未受保護(hù)的數(shù)據(jù)出現(xiàn);
4)優(yōu)點(diǎn):該模式可以保證備庫沒有數(shù)據(jù)丟失;
5)缺點(diǎn):主庫的自動(dòng)關(guān)閉會(huì)影響到主庫的可用性,同時(shí)需要備庫恢復(fù)后才能提交,對(duì)網(wǎng)絡(luò)等客觀條件要求非常的高,主庫的性能會(huì)因此受到非常大的沖擊。
2.2 查看當(dāng)前保護(hù)模式:
select protection_mode,protection_level from v$database;


03


3.1 搭建前準(zhǔn)備:
  • 操作系統(tǒng):Centos7.9

  • 數(shù)據(jù)庫版本11.2.0.4

  • 主庫IP:192.168.13.30   pri    SID=pri

  • 備庫IP:192.168.13.40   std    SID=std

3.2 查看數(shù)據(jù)庫角色以及是否開啟強(qiáng)制日志:
select name,log_mode,force_logging from v$database;
開啟主庫強(qiáng)制日志:

alter database force logging;

復(fù)制密碼文件給備庫并改名(此步驟只在主庫上做)(注意改名):
[oracle@pri dbs]$ scp orapwpri 192.168.13.40:$ORACLE_HOME/dbs/orapwstd

3.3 創(chuàng)建redolog日志組(此步驟只在主庫上做):
[oracle@pri dbs]$ cd /home/oracle/u01/app/oracle/oradata/
[oracle@pri oradata]$ mkdir standbylog
[oracle@pri oradata]$ sqlplus / as sysdba
查看standby 日志組的信息:
SQL> set pagesize 100
SQL>  col member for a60
SQL> select group#,member from v$logfile order by group#;
修改主庫的pfile參數(shù)文件(此步驟只在主庫上做):
SQL> show parameter spfile;
SQL> create pfile from spfile;
修改主庫的pfile(注意目錄結(jié)構(gòu)修改前請(qǐng)仔細(xì)對(duì)比):
[oracle@pri dbs]$ vi initpri.ora


pri.__db_cache_size=2919235584
pri.__java_pool_size=33554432
pri.__large_pool_size=50331648
pri.__oracle_base=/home/oracle/u01/app/oracle#ORACLE_BASE set from environment
pri.__pga_aggregate_target=1241513984
pri.__sga_target=3724541952
pri.__shared_io_pool_size=0
pri.__shared_pool_size=687865856
pri.__streams_pool_size=0
*.audit_file_dest=/home/oracle/u01/app/oracle/admin/pri/adump
*.audit_trail=db
*.compatible=11.2.0.4.0
*.control_files=/home/oracle/u01/app/oracle/oradata/pri/control01.ctl,/home/oracle/u01/app/oracle/fast_recovery_area/pri/control02.ctl
*.db_block_size=8192
*.db_domain=
*.db_name=pri
*.db_recovery_file_dest=/home/oracle/u01/app/oracle/fast_recovery_area
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest=/home/oracle/u01/app/oracle
*.dispatchers=(PROTOCOL=TCP) (SERVICE=priXDB)
*.open_cursors=300
*.pga_aggregate_target=1240465408
*.processes=150
*.remote_login_passwordfile=EXCLUSIVE
*.sga_target=3721396224
*.undo_tablespace=UNDOTBS1
*.db_unique_name=pri
*.log_archive_config=dg_config=(pri,std)
*.log_archive_dest_1=location=/home/oracle/u01/app/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=pri
*.log_archive_dest_2=service=std valid_for=(online_logfiles,primary_role) db_unique_name=std
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=4
*.fal_server=std
*.fal_client=pri
*.db_file_name_convert=/home/oracle/u01/app/oracle/oradata/std,/home/oracle/u01/app/oracle/oradata/pri
*.log_file_name_convert=/home/oracle/u01/app/oracle/oradata/std,/home/oracle/u01/app/oracle/oradata/pri
*.standby_file_management=auto


手工創(chuàng)建/home/oracle/u01/app/oracle/arch:
此目錄是上面配置文件里面后加的:
[oracle@pri dbs]$ mkdir -p /home/oracle/u01/app/oracle/arch
用修改過的pfile重新創(chuàng)建一個(gè)spfile,用于重啟數(shù)據(jù)庫(此步驟只在主庫上做):
SQL> shu immediate
SQL> startup mount;
SQL> alter database archivelog;
SQL>  alter database open;
查看是否啟用歸檔模式:
SQL>  archive log list
查看當(dāng)前數(shù)據(jù)庫是否使用spfile啟動(dòng):
SQL>  show parameter spfile;
3.4 添加靜態(tài)監(jiān)聽(主庫、備庫都要做)
主庫配置監(jiān)聽:
[oracle@pri dbs]$ vi /home/oracle/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.30)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = pri)
(ORACLE_HOME = /home/oracle/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = pri)
)
)

ADR_BASE_LISTENER = /home/oracle/u01/app/oracle
~
[oracle@pri dbs]$ vi /home/oracle/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
pri =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.30)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pri)
)
)

std =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.40)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = std)
)
)



備庫配置監(jiān)聽:
[oracle@std dbs]$ vi /home/oracle/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.13.40)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)


SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = std)
(ORACLE_HOME = /home/oracle/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = std)
)
)

ADR_BASE_LISTENER = /home/oracle/u01/app/oracle

3.5 主備庫開啟監(jiān)聽并測試網(wǎng)絡(luò)聯(lián)通性:
[oracle@pri dbs]$ lsnrctl start
[oracle@pri dbs]$ tnsping pri
[oracle@pri dbs]$ tnsping std
3.6 主庫端把pfile拷貝給備庫端的$ORACLE_HOME/dbs目錄下,并重命名:
[oracle@pri dbs]$ scp initpri.ora 192.168.13.40:$ORACLE_HOME/dbs/initstd.ora
3.7 備庫端進(jìn)行修改(注意目錄結(jié)構(gòu)):
[oracle@std dbs]$ vi initstd.ora
pri.__db_cache_size=2919235584
pri.__java_pool_size=33554432
pri.__large_pool_size=50331648
pri.__oracle_base=/home/oracle/u01/app/oracle#ORACLE_BASE set from environment
pri.__pga_aggregate_target=1241513984
pri.__sga_target=3724541952
pri.__shared_io_pool_size=0
pri.__shared_pool_size=687865856
pri.__streams_pool_size=0
*.audit_file_dest=/home/oracle/u01/app/oracle/admin/pri/adump
*.audit_trail=db
*.compatible=11.2.0.4.0
*.control_files=/home/oracle/u01/app/oracle/oradata/pri/control01.ctl,/home/oracle/u01/app/oracle/fast_recovery_area/pri/control02.ctl
*.db_block_size=8192
*.db_domain=
*.db_name=pri
*.db_recovery_file_dest=/home/oracle/u01/app/oracle/fast_recovery_area
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest=/home/oracle/u01/app/oracle
*.dispatchers=(PROTOCOL=TCP) (SERVICE=priXDB)
*.open_cursors=300
*.pga_aggregate_target=1240465408
*.processes=150
*.remote_login_passwordfile=EXCLUSIVE
*.sga_target=3721396224
*.undo_tablespace=UNDOTBS1
*.db_unique_name=pri
*.log_archive_config=dg_config=(pri,std)
*.log_archive_dest_1=location=/home/oracle/u01/app/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=pri
*.log_archive_dest_2=service=std valid_for=(online_logfiles,primary_role) db_unique_name=std
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
pri.__db_cache_size=1392508928
pri.__java_pool_size=16777216
pri.__large_pool_size=33554432
pri.__oracle_base=/home/oracle/u01/app/oracle#ORACLE_BASE set from environment
pri.__pga_aggregate_target=620756992
pri.__sga_target=1862270976
pri.__shared_io_pool_size=0
pri.__shared_pool_size=402653184
pri.__streams_pool_size=0
*.audit_file_dest=/home/oracle/u01/app/oracle/admin/std/adump
*.audit_trail=db
*.compatible=11.2.0.4.0
*.control_files=/home/oracle/u01/app/oracle/oradata/std/control01.ctl,/home/oracle/u01/app/oracle/oradata/std/control02.ctl
*.db_block_size=8192
*.db_domain=
*.db_name=pri
*.db_recovery_file_dest=/home/oracle/u01/app/oracle/fast_recovery_area
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest=/home/oracle/u01/app/oracle
*.dispatchers=(PROTOCOL=TCP) (SERVICE=stdXDB)
*.open_cursors=300
*.pga_aggregate_target=2423259136
*.processes=150
*.remote_login_passwordfile=EXCLUSIVE
*.sga_target=4294967296
*.undo_tablespace=UNDOTBS1
*.db_unique_name=std
*.log_archive_config=dg_config=(pri,std)
*.log_archive_dest_1=location=/home/oracle/u01/app/oracle/arch valid_for=(all_logfiles,all_roles) db_unique_name=std
*.log_archive_dest_2=service=pri valid_for=(online_logfiles,primary_role) db_unique_name=pri
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=4
*.fal_server=pri
*.fal_client=std
*.db_file_name_convert=/home/oracle/u01/app/oracle/oradata/pri,/home/oracle/u01/app/oracle/oradata/std
*.log_file_name_convert=/home/oracle/u01/app/oracle/oradata/pri,/home/oracle/u01/app/oracle/oradata/std
*.standby_file_management=auto
3.8 備庫操作:
[oracle@std dbs]$ mkdir -pv /home/oracle/u01/app/oracle/admin/std/adump
[oracle@std dbs]$ mkdir -pv /home/oracle/u01/app/oracle/oradata/std/
[oracle@std dbs]$ mkdir -pv /home/oracle/u01/app/oracle/fast_recovery_area
[oracle@std dbs]$ mkdir -pv /home/oracle/u01/app/oracle/arch
[oracle@std dbs]$ mkdir -pv /home/oracle/u01/app/oracle/diag/rdbms/std/std/trace
[oracle@std dbs]$ mkdir -pv /home/oracle/u01/app/oracle/oradata/standbylog
用修改后的pfile創(chuàng)建一個(gè)spfile,用于啟動(dòng)數(shù)據(jù)庫(備庫端做):
SQL>  create spfile from pfile;
SQL>  startup nomount;
利用RMAN在備庫上恢復(fù)主庫(備庫端做):
[oracle@std dbs]$ rman target sys/123456@pri auxiliary sys/123456@std
RMAN> duplicate target database for standby from active database nofilenamecheck;
錄備庫啟用日志:
SQL> select status from v$instance;
SQL> alter database recover managed standby database disconnect from session;
分別查看主庫和備庫的Current log sequence歸檔序列號(hào)是否一致:
SQL> archive log list
開啟備庫:
SQL> alter database recover managed standby database cancel;
SQL> shu immediate
SQL> alter database mount standby database;
SQL>  alter database open read only;
SQL>  alter database recover managed standby database using current logfile disconnect from session;
查看日志是否同步:
SQL> archive log list
3.9 主備切換
查看主備角色:
SQL> select switchover_status,database_role,open_mode from v$database;
主庫切備庫:
SQL> alter database commit to switchover to physical standby;
切完之后,主庫會(huì)變成備庫并關(guān)閉,用備庫的方式打開新備庫,查詢狀態(tài):
備庫切主庫:
alter database commit to switchover to primary;
回切:


end



本文作者:王 剛

本文來源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129649.html

相關(guān)文章

  • 19C?DG?Broker配置和測試

    19C?DG?Broker配置和測試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; ...

    IT那活兒 評(píng)論0 收藏2941
  • DG備庫讀寫測試方案

    DG備庫讀寫測試方案 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; margin:0...

    IT那活兒 評(píng)論0 收藏856
  • Redis單機(jī)搭建

    摘要:因?yàn)槭窃谔摂M機(jī)上面模擬搭建,所以我們可以設(shè)置六個(gè)不同的端口來模擬六臺(tái)虛擬機(jī)。官網(wǎng)然后將壓縮包上傳的虛擬機(jī)的服務(wù)器上,這里我用的是版本。把這了的改為接下來執(zhí)行執(zhí)行這條命令就可以后臺(tái)啟動(dòng)了查看進(jìn)程是否啟動(dòng)成功好了,單機(jī)版的版的已經(jīng)搭建成功了。 首先放一張Redis的架構(gòu)圖: showImg(https://segmentfault.com/img/remote/14600000174635...

    CODING 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<