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

歡迎訪問 生活随笔!

生活随笔

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

linux

oracle dg 搭建方式,Linux平台 Oracle 11g DG测试环境快速搭建参考

發布時間:2023/12/1 linux 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle dg 搭建方式,Linux平台 Oracle 11g DG测试环境快速搭建参考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境現狀:

兩臺虛擬主機A和B:

1. A機器已安裝ASM存儲的Oracle 11g 實例

2. B機器已安裝系統,配置以及目錄結構均和A機器保持一致

/u01 + 3塊ASM盤

DG部署規劃:

primary

standby

主機

JY-DB

JY-DBS

db_name

jyzhao

jyzhao

db_unique_name

jyzhao

jyzhao_s

instance_name

jyzhao

jyzhao_s

存儲

+DATA1

+DATA1

歸檔

/u01/app/oracle/product/11.2.0/db_1/dbs/arch

/u01/app/oracle/product/11.2.0/db_1/dbs/arch

DGMGRL

jyzhao_dgmgrl

jyzhao_s_dgmgrl

GRID_HOME

/u01/app/11.2.0/grid

/u01/app/11.2.0/grid

ORACLE_HOME

/u01/app/oracle/product/11.2.0/db_1

/u01/app/oracle/product/11.2.0/db_1

一、前期準備

1.1. A機器打包拷貝/u01/app到B機器(包含了grid和oracle軟件安裝目錄)

# tar -zcvf app.tar.gz app

# scp app.tar.gz 192.168.99.160:/u01/

root@192.168.99.160's password:

app.tar.gz? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100% 3564MB? 54.8MB/s? 01:05

B機器解壓,解壓前確保第二步操作已完成。

# pwd

/u01

[root@JY-DBS u01]# ls

app.tar.gz? lost+found

[root@JY-DBS u01]# tar -zxvf app.tar.gz

解壓完成后,檢查權限是正確的

# ls -lh

total 3.5G

drwxrwxr-x. 7 oracle oinstall 4.0K Mar 13 14:47 app

-rw-r--r--. 1 root? root? ? 3.5G Mar 15 22:28 app.tar.gz

1.2. B機器配置用戶,系統參數,安裝依賴包,用戶環境變量,ASM磁盤

配置用戶,系統參數,安裝依賴包,用戶環境變量

注:在第一步解壓前做完,會發現權限都是正確的不用費心再改

root用戶執行腳本

# /u01/app/oraInventory/orainstRoot.sh

# /u01/app/11.2.0/grid/root.sh

# /u01/app/11.2.0/grid/perl/bin/perl -I/u01/app/11.2.0/grid/perl/lib -I/u01/app/11.2.0/grid/crs/install /u01/app/11.2.0/grid/crs/install/roothas.pl

配置has

需要建立asm磁盤組

環境變量:

vi $ORACLE_HOME/dbs/init+ASM.ora

*.asm_diskstring='/dev/mapper/ora*'

*.asm_power_limit=1

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

*.instance_type='asm'

*.large_pool_size=12M

*.remote_login_passwordfile='EXCLUSIVE'

$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 16 10:51:02 2015

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

Connected to an idle instance.

SQL> startup

ORA-01078: failure in processing system parameters

ORA-29701: unable to connect to Cluster Synchronization Service

$? crsctl stat res -t

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

NAME? ? ? ? ? TARGET? STATE? ? ? ? SERVER? ? ? ? ? ? ? ? ? STATE_DETAILS

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

Local Resources

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

ora.ons

OFFLINE OFFLINE? ? ? jy-dbs

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

Cluster Resources

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

ora.cssd

1? ? ? ? OFFLINE OFFLINE

ora.diskmon

1? ? ? ? OFFLINE OFFLINE

ora.evmd

1? ? ? ? ONLINE? ONLINE? ? ? jy-dbs

$? crsctl start resource ora.cssd

CRS-2672: Attempting to start 'ora.cssd' on 'jy-dbs'

CRS-2672: Attempting to start 'ora.diskmon' on 'jy-dbs'

CRS-2676: Start of 'ora.diskmon' on 'jy-dbs' succeeded

CRS-2676: Start of 'ora.cssd' on 'jy-dbs' succeeded

$ crsctl status res -t

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

NAME? ? ? ? ? TARGET? STATE? ? ? ? SERVER? ? ? ? ? ? ? ? ? STATE_DETAILS

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

Local Resources

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

ora.ons

OFFLINE OFFLINE? ? ? jy-dbs

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

Cluster Resources

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

ora.cssd

1? ? ? ? ONLINE? ONLINE? ? ? jy-dbs

ora.diskmon

1? ? ? ? OFFLINE OFFLINE

ora.evmd

1? ? ? ? ONLINE? ONLINE? ? ? jy-dbs

$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 16 10:55:39 2015

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

Connected to an idle instance.

SQL> startup

ASM instance started

Total System Global Area 1135747072 bytes

Fixed Size? ? ? ? ? ? ? ? ? 2260728 bytes

Variable Size? ? ? ? ? ? 1108320520 bytes

ASM Cache? ? ? ? ? ? ? ? ? 25165824 bytes

ORA-15110: no diskgroups mounted

SQL> select status from v$instance;

STATUS

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

STARTED

col description for a35

col process for a35

set linesize 120

select sid, serial#, process, name, description from v$session join v$bgprocess using(paddr);

col path for a45

col name for a30

select group_number, disk_number, mount_status, name, path from v$asm_disk order by group_number, disk_number;

GROUP_NUMBER DISK_NUMBER MOUNT_STATUS? NAME? ? ? ? ? ? ? ? ? ? ? ? ? PATH

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

0? ? ? ? ? 0 CLOSED? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /dev/mapper/ora_vg-lv_asm3

0? ? ? ? ? 1 CLOSED? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /dev/mapper/ora_vg-lv_asm2

0? ? ? ? ? 2 CLOSED? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /dev/mapper/ora_vg-lv_asm1

查看A機器的磁盤組信息:

select group_number, name, type, total_mb, free_mb from v$asm_diskgroup

GROUP_NUMBER NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? ? TOTAL_MB? ? FREE_MB

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

1 DATA1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? EXTERN? ? ? ? ? ? 30708? ? ? 29017

B機器創建ASM磁盤組DATA1:

select group_number, name, type, total_mb, free_mb from v$asm_diskgroup;

no rows selected

CREATE DISKGROUP data1 EXTERNAL REDUNDANCY DISK '/dev/mapper/ora*';

Diskgroup created.

select group_number, name, type, total_mb, free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? ? TOTAL_MB? ? FREE_MB

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

1 DATA1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? EXTERN? ? ? ? ? ? 30708? ? ? 30654

至此,準備工作結束。

二、DG部署配置

1. primary database 配置

確保將數據庫的force_logging打開,設置為歸檔模式,數據庫閃回打開

SQL> select name from v$datafile;

NAME

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

+DATA1/jyzhao/datafile/system.256.874084601

+DATA1/jyzhao/datafile/sysaux.257.874084601

+DATA1/jyzhao/datafile/undotbs1.258.874084601

+DATA1/jyzhao/datafile/users.259.874084601

SQL> select force_logging from v$database;

FOR

---

NO

SQL> alter database force logging;

Database altered.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area 1620115456 bytes

Fixed Size? ? ? ? ? ? ? ? ? 2253704 bytes

Variable Size? ? ? ? ? ? 1006636152 bytes

Database Buffers? ? ? ? ? 603979776 bytes

Redo Buffers? ? ? ? ? ? ? ? 7245824 bytes

Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database flashback on;

alter database flashback on

*

ERROR at line 1:

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

ORA-38709: Recovery Area is not enabled.

SQL> archive log list

Database log mode? ? ? ? ? ? ? Archive Mode

Automatic archival? ? ? ? ? ? Enabled

Archive destination? ? ? ? ? ? /u01/app/oracle/product/11.2.0/db_1/dbs/arch

Oldest online log sequence? ? 12

Next log sequence to archive? 14

Current log sequence? ? ? ? ? 14

$ mkdir -p /u01/app/oracle/product/11.2.0/db_1/dbs/arch

SQL> alter database flashback on;

alter database flashback on

*

ERROR at line 1:

ORA-38706: Cannot turn on FLASHBACK DATABASE logging.

ORA-38709: Recovery Area is not enabled.

SQL> show parameter db_recover

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE

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

db_recovery_file_dest? ? ? ? ? ? ? ? string

db_recovery_file_dest_size? ? ? ? ? big integer 0

SQL> alter system set db_recovery_file_dest_size=5G;

System altered.

SQL> alter system set db_recovery_file_dest='/u01/app/oracle/product/11.2.0/db_1/dbs/arch';

System altered.

SQL> select status from v$instance;

STATUS

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

MOUNTED

SQL> alter database flashback on;

Database altered.

按之前的規劃設置數據庫的參數

主要是db_unique_name, log_archive_config, log_archive_dest_1,? log_archive_dest_2, log_archive_format, fal_server, fal_client, standby_file_management的設置,standby logfile的添加,密碼文件的創建。

alter system set db_unique_name='jyzhao' scope=spfile;

alter system set log_archive_config='DG_CONFIG=(jyzhao,jyzhao_s)'? scope=spfile;

alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jyzhao' scope=spfile;

alter system set log_archive_dest_2='SERVICE=jyzhao_s ASYNC LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao_s' scope=spfile;

alter system set log_archive_format='arch_%r_%t_%s.arc' scope=spfile;

alter system set fal_server=jyzhao_s scope=spfile;

alter system set fal_client=jyzhao scope=spfile;

alter system set standby_file_management=AUTO;

alter database add standby logfile group 4 size 50M;

alter database add standby logfile group 5 size 50M;

alter database add standby logfile group 6 size 50M;

alter database add standby logfile group 7 size 50M;

rm /u01/app/oracle/product/11.2.0/db_1/dbs/orapwjyzhao

orapwd file=$ORACLE_HOME/dbs/orapwjyzhao password=oracle entries=10 ignorecase=Y

grid用戶配置監聽

--listener.ora

DGL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))

)

SID_LIST_DGL =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = jyzhao)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = jyzhao)

)

(SID_DESC =

(GLOBAL_DBNAME = jyzhao_dgmgrl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = jyzhao)

)

)

ADR_BASE_DGL = /u01/app/grid

oracle用戶配置tnsnames.ora

--tnsnames.ora

LINUXIDC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao )

)

)

LINUXIDC_S =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao_s)

)

)

grid用戶重啟監聽:

lsnrctl stop dgl

lsnrctl start dgl

oracle用戶測試連接:

SQL> show parameter audi

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE

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

audit_file_dest? ? ? ? ? ? ? ? ? ? ? string? ? ? /u01/app/oracle/admin/jyzhao/a

dump

重啟primary

shutdown immediate

startup

2.機器B:standby數據庫配置:

grid用戶配置監聽

--listener.ora

DGL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))

)

SID_LIST_DGL =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = jyzhao_s)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = jyzhao_s)

)

(SID_DESC =

(GLOBAL_DBNAME = jyzhao_s_dgmgrl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = jyzhao_s)
? ? ? ? )

)

ADR_BASE_DGL = /u01/app/grid

grid用戶啟動監聽

$ lsnrctl start dgl

oracle用戶配置tnsnames.ora

--tnsnames.ora

LINUXIDC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DB)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao )

)

)

LINUXIDC_S =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = JY-DBS)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = jyzhao_s)

)

)

echo "db_name=jyzhao" >> $ORACLE_HOME/dbs/initjyzhao_s.ora

echo $ORACLE_SID

sqlplus / as sysdba

startup nomount

oracle用戶測試連接? :

3.機器A操作 duplicate數據庫到機器B

驗證到機器B可以登錄

$ sqlplus sys/oracle@jyzhao_s as sysdba

vi duplicate_dg.sql

duplicate target database

for standby

from active database

DORECOVER

spfile

set db_unique_name='jyzhao_s'

set log_archive_dest_1='location=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=jyzhao_s'

set log_archive_dest_2='SERVICE=jyzhao ASYNC LGWR

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao'

set standby_file_management='AUTO'

set fal_server='jyzhao'

set fal_client='jyzhao_s'

set control_files='+DATA1'

set memory_target='0'

set sga_target='600M';

[oracle@JY-DB ~]$? rman target / auxiliary sys/oracle@jyzhaos cmdfile=duplicate_standby.sql

Recovery Manager: Release 11.2.0.4.0 - Production on Mon Mar 16 23:21:37 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.? All rights reserved.

connected to target database: LINUXIDC (DBID=2463175424)

connected to auxiliary database: LINUXIDC (not mounted)

RMAN> duplicate target database

2> for standby

3> from active database

4> DORECOVER

5> spfile

6> set db_unique_name='jyzhao_s'

7> set log_archive_dest_1='location=/u01/app/oracle/product/11.2.0/db_1/dbs/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

8> DB_UNIQUE_NAME=jyzhao_s'

9> set log_archive_dest_2='SERVICE=MACDBN ASYNC LGWR

10> VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jyzhao'

11> set standby_file_management='AUTO'

12> set fal_server='jyzhao'

13> set fal_client='jyzhao_s'

14> set control_files='+DATA1'

15> set memory_target='0'

16> set sga_target='600M';

17>

Starting Duplicate Db at 16-MAR-15

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=111 device type=DISK

……

Recovery Manager complete.

[oracle@JY-DB ~]$

4. B機器 srvctl add數據庫jyzhao_s

注:開始_s有問題,是因為添加指定的參數不足:

srvctl add database -d jyzhao_s -o /u01/app/oracle/product/11.2.0/db_1 -p? +DATA1/LINUXIDC_S/spfilejyzhao_s.ora -n jyzhao -i jyzhao_s

srvctl modify database -d jyzhao_s -r PHYSICAL_STANDBY

三、DG切換測試

3.1 手動switchover

1主庫切換成standby,啟動到mount

select OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS from v$database;

alter database commit to switchover to physical standby;

2.備份切換成primary,啟動到open

select OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS from v$database;

alter database commit to switchover to primary;

3.新的備份執行日志應用

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

3.2 Data Guard Broker 快速switchover

SQL> show parameter dg_broker_start

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE

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

dg_broker_start? ? ? ? ? ? ? ? ? ? ? boolean? ? FALSE

SQL> alter system set dg_broker_start = true;

System altered.

SQL> show parameter dg_broker_start

NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE? ? ? ? VALUE

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

dg_broker_start? ? ? ? ? ? ? ? ? ? ? boolean? ? TRUE

配置dgmgrl

create CONFIGURATION jydb as primary database is jyzhao CONNECT IDENTIFIER IS jyzhao;

add database? jyzhao_s as CONNECT IDENTIFIER IS jyzhao_s MAINTAINED AS? PHYSICAL;

enable configuration;

show configuration;

switchover to jyzhao_s;

switchover to jyzhao;

show database verbose jydb

總結

以上是生活随笔為你收集整理的oracle dg 搭建方式,Linux平台 Oracle 11g DG测试环境快速搭建参考的全部內容,希望文章能夠幫你解決所遇到的問題。

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