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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle11g高可用,oracle11g 搭建DG环境总结

發(fā)布時(shí)間:2023/12/2 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle11g高可用,oracle11g 搭建DG环境总结 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本帖最后由 zhofly 于 2016-6-24 23:19 編輯

測(cè)試環(huán)境為:兩臺(tái)服務(wù)器配置一樣:Oracle Linux Server release 6.5??X86_64, DB??11.2.0.4.0

前提環(huán)境:一臺(tái)已經(jīng)安裝好數(shù)據(jù)庫(kù)軟件并創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例的服務(wù)器

另一臺(tái)也就是備庫(kù),只安裝了數(shù)據(jù)庫(kù)軟件,空實(shí)例。

安裝環(huán)境與創(chuàng)建數(shù)據(jù)庫(kù)這里就不用說(shuō)了,很簡(jiǎn)單的。

整個(gè)環(huán)境為成4個(gè)步驟:

1,主備(gydg)修改

2,備庫(kù)(yzdg)修改

3,主備duplicate數(shù)據(jù)庫(kù)

4,測(cè)試DG是否成功

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

1.1 查看數(shù)據(jù)庫(kù)是否在歸檔與是否強(qiáng)制LOGGING模式。

SQL> select log_mode,force_logging from v$database;

LOG_MODE? ???FOR

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

ARCHIVELOG? ?NO

SQL> ALTER DATABASE FORCE LOGGING;

Database altered.

1.2 查看數(shù)據(jù)庫(kù)的日志組個(gè)數(shù)與大小,因?yàn)槲覀儎?chuàng)建standby日志組的個(gè)數(shù)是原日志組個(gè)數(shù)+1再與thread的積,size不能小于原日志文件的大小。

SQL> select group#,bytes/1024/1024 from v$log;

GROUP# BYTES/1024/1024

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

1? ?? ?? ?? ???50

2? ?? ?? ?? ???50

3? ?? ?? ?? ???50

SQL> select member from v$logfile;

MEMBER

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

/u01/app/oracle/oradata/gydg/redo03.log

/u01/app/oracle/oradata/gydg/redo02.log

/u01/app/oracle/oradata/gydg/redo01.log

1.3 創(chuàng)建standby日志組,位置與原日志組相同的路徑。創(chuàng)建完成后查詢(xún)是否成功

SQL> alter database add standby logfile '/u01/app/oracle/oradata/gydg/standby01.log' size 50m;

Database altered.

SQL> alter database add standby logfile '/u01/app/oracle/oradata/gydg/standby02.log' size 50m;

Database altered.

SQL> alter database add standby logfile '/u01/app/oracle/oradata/gydg/standby03.log' size 50m;

Database altered.

SQL> alter database add standby logfile '/u01/app/oracle/oradata/gydg/standby04.log' size 50m;

Database altered.

SQL> select group#,status,type,member from v$logfile;

GROUP# STATUS??TYPE? ? MEMBER

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

3? ?? ?? ?ONLINE??/u01/app/oracle/oradata/gydg/redo03.log

2? ?? ?? ?ONLINE??/u01/app/oracle/oradata/gydg/redo02.log

1? ?? ?? ?ONLINE??/u01/app/oracle/oradata/gydg/redo01.log

4? ?? ?? ?STANDBY /u01/app/oracle/oradata/gydg/standby01.log

5? ?? ?? ?STANDBY /u01/app/oracle/oradata/gydg/standby02.log

6? ?? ?? ?STANDBY /u01/app/oracle/oradata/gydg/standby03.log

7? ?? ?? ?STANDBY /u01/app/oracle/oradata/gydg/standby04.log

1.4 修改相關(guān)的參數(shù),與DG的參數(shù)就只與幾個(gè)參數(shù)相關(guān),大概就是日志,文件的位置的轉(zhuǎn)換,GAP的處理,其實(shí)GAP已經(jīng)會(huì)自動(dòng)的處理,不過(guò)這里我們還是介紹配置FAL_SERVER,FAL_CLIENT參數(shù)。

SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(gydg,yzdg)';

SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch/gydg/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=gydg';

SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=gydg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=gydg';

SQL> alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;

SQL> alter system set FAL_SERVER=yzdg;

SQL> alter system set FAL_CLIENT=gydg;

SQL>alter system set db_file_name_convert='/u01/app/oracle/oradata/gydg/','/u01/app/oracle/oradata/yzdg/' scope=spfile;

SQL>alter system set log_file_name_convert='/u01/app/oracle/oradata/logfile/','/u01/app/oracle/oradata/logfile/' scope=spfile;

SQL> create pfile from spfile;

1.5 把dbs下的內(nèi)容同步到standby主機(jī)上面,主要是密碼文件與init文件。(如果SID不一樣,創(chuàng)建密碼文件要保證entries值一致;)

orapwd file=orapwupsh password=123456 entries=5;( 在主庫(kù)創(chuàng)建密碼文件)

$scp initSID.ora orapwSID oracle@192.168.137.99:$ORACLE_HOME/dbs

1.6 配置靜態(tài)監(jiān)聽(tīng)

主庫(kù):

1、修改/u01/app/oracle/product/11.2.0.4.0/network/admin/listener.ora

[oracle@gydg admin]$ vi listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = gydg)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0.4.0)

(SID_NAME = gydg)

)

)

LISTENER =

(DESCRIPTION =

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

)

ADR_BASE_LISTENER = /u01/app/oracle

2、修改 /u01/app/oracle/product/11.2.0.4.0/network/admin/tnsnames.ora

[oracle@gydg admin]$ vi tnsnames.ora

yzdg =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(service_name = yzdg)(UR=A)

)

)

gydg =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(service_name = gydg)(UR=A)

)

)

備庫(kù)

1、修改/u01/app/oracle/product/11.2.0.4.0/network/admin/listener.ora

[oracle@yzdg admin]$ vi listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = yzdg)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0.4.0)

(SID_NAME = yzdg)

)

)

LISTENER =

(DESCRIPTION =

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

)

ADR_BASE_LISTENER = /u01/app/oracle

2、修改 /u01/app/oracle/product/11.2.0.4.0/network/admin/tnsnames.ora

[oracle@yzdg admin]$ vi??tnsnames.ora

yzdg =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(service_name = yzdg)(UR=A)

)

)

gydg =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(service_name = gydg)(UR=A)

)

)

啟動(dòng)主備庫(kù)的監(jiān)聽(tīng)

[oracle@yzdg admin]$lsnrctl

LSNRCTL> start

測(cè)試監(jiān)聽(tīng)是否正常

sqlplus sys/oracle@gydg as sysdba

sqlplus sys/oracle@yzdg as sysdba

備庫(kù)上創(chuàng)建相關(guān)文件與修改參數(shù)文件

[oracle@yzdg dbs]$ more inityzdg.ora

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/u01/app/oracle/oradata/yzdg/control01.ctl','/u01/app/oracle/fast_recovery_area/yzdg/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='gydg'

*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=4385144832

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=gydgXDB)'

*.fal_client='YZDG'

*.fal_server='GYDG'

*.log_archive_config='DG_CONFIG=(yzdg,gydg)'

*.log_archive_dest_1='LOCATION=/u01/app/oracle/arch/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=yzdg'

*.log_archive_dest_2='SERVICE=gydg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=gydg'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='ENABLE'

*.log_file_name_convert='/u01/app/oracle/oradata/logfile/','/u01/app/oracle/oradata/logfile/'

*.memory_target=1270874112

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

*.DB_UNIQUE_NAME='yzdg'

*.db_file_name_convert='/u01/app/oracle/oradata/gydg/','/u01/app/oracle/oradata/yzdg/'

[oracle@gydg admin]$ mkdir -p? ?/u01/app/oracle/oradata/logfile/? ?? ?? ?? ???(主備都創(chuàng)建)

[oracle@gydg admin]$ mkdir -p??/u01/app/oracle/fast_recovery_area/yzdg

[oracle@gydg admin]$ mkdir -p /u01/app/oracle/oradata/yzdg/

[oracle@gydg admin]$ mkdir -p /u01/app/oracle/oradata/gydg/

在備庫(kù)創(chuàng)建spfile,并啟動(dòng)數(shù)據(jù)庫(kù)到NOMOUNT

[oracle@yzdg yzdg]$ echo $ORACLE_SID

yzdg

SQL> startup nomount;

SQL> create spfile from pfile;

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

重啟主庫(kù)

SQL> shutdown immediate;

SQL> startup

duplicate開(kāi)始

在主庫(kù)上通過(guò)rman進(jìn)行復(fù)制備庫(kù)(注意在這一步之前必須退出備庫(kù)的所有連接,否則會(huì)報(bào)錯(cuò))

rman target sys/123456 auxiliary sys/123456@yzdg

rman>duplicate target database for standby nofilenamecheck from active database ;

把備庫(kù)啟動(dòng)到open only下面。并recover

SQL> alter database open read only;

SQL> alter database recover managed standby database using current logfile disconnect from session;

查看兩邊狀態(tài):主庫(kù)

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE? ? SWITCHOVER_STATUS

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

PRIMARY? ?? ?? ? TO STANDBY

備庫(kù)

SQL> select database_role,switchover_status from v$database;

DATABASE_ROLE? ? SWITCHOVER_STATUS

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

PHYSICAL STANDBY NOT ALLOWED

注: 備庫(kù)的SWITCHOVER_STATUS狀態(tài)為 NOT ALLOWED??是正常的,只有當(dāng)主庫(kù)切換為備庫(kù)時(shí),原備庫(kù)的狀態(tài)才會(huì)變。

查看兩邊的sequence# 是否一致

SQL> select max(sequence#) from v$archived_log;

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

下面就是開(kāi)始測(cè)試了。這里我們是用的SCOTT這個(gè)用戶來(lái)做測(cè)試,在SCOTT用戶下面創(chuàng)建一個(gè)表,在備庫(kù)去查詢(xún)看是否創(chuàng)建成功,與在主庫(kù)上面SWIRCH一次日志,看alert中的日志輸出內(nèi)容。

在主庫(kù)上面做測(cè)試

[oracle@11g admin]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on Fri Sep 7 05:57:41 2012

Copyright (c) 1982, 2010, Oracle.??All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter database set standby to maximize??availability;

Database altered.

SQL> alter user scott identified by oracle;

User altered.

SQL> alter user scott account unlock;

User altered.

SQL> create table scott.test1 as select * from dba_objects;

Table created.

備庫(kù)上面

SQL> select count(*) from scott.test1;

COUNT(*)

----------

72391

說(shuō)明已經(jīng)同步

主庫(kù)上面刷新日志。

SQL> conn / as sysdba

Connected.

SQL> alter system archive log current;

System altered.

日志

ALTER SYSTEM ARCHIVE LOG

Fri Sep 07 06:04:45 2012

LGWR: Standby redo logfile selected to archive thread 1 sequence 11

LGWR: Standby redo logfile selected for thread 1 sequence 11 for destination LOG_ARCHIVE_DEST_2

Thread 1 advanced to log sequence 11 (LGWR switch)

Current log# 2 seq# 11 mem# 0: /u01/app/oracle/oradata/htz/redo02.log

Fri Sep 07 06:04:48 2012

Archived Log entry 12 added for thread 1 sequence 10 ID 0x6e285e98 dest 1:

備庫(kù)日志

Standby controlfile consistent with primary

RFS[5]: Selected log 5 for thread 1 sequence 11 dbid 1848107928 branch 793343515

Thu Sep 06 18:40:13 2012

Media Recovery Waiting for thread 1 sequence 11 (in transit)

Recovery of Online Redo Log: Thread 1 Group 5 Seq 11 Reading mem 0

Mem# 0: /u01/app/oracle/oradata/htz/standby02.log

Thu Sep 06 18:40:16 2012

Archived Log entry 5 added for thread 1 sequence 10 ID 0x6e285e98 dest 1:

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的oracle11g高可用,oracle11g 搭建DG环境总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。