oracle_dataGuard_11G

【李紅】--切記_從庫只安裝實例_不須要 dbca 建立數據庫 可是 netca 建立監聽看我的喜歡,我反正是建立了。
【DataGuard_主數據庫的參數配置】
1.啓用 force logging 功能
SQL> select force_logging from v$database; //查看數據庫有沒有開啓此功能 若是不是 YES 是 NO 的話執行下面一條語句。若是是的話,則不須要執行
SQL> alter database force logging;sql

2.啓用歸檔
SQL> archive log list;
SQL> select log_mode from v$database;數據庫

歸檔有兩個參數以下:
SQL> show parameter log;
文件名格式的參數:log_archive_format
SQL> alter system set log_archive_format='%t_%s_%r.arc' scope = spfile; //修改默認文件參數:log_archive_formatvim

位置:log_archive_dest
SQL> alter system set log_archive_dest_1='location=/u02/oracle/archive'; //設置歸檔文件路徑oracle


SQL> shutdown immediate; //修改配置須要重啓數據庫實例app

SQL> startup mount; //啓動到 mount 狀態 修改歸檔
SQL> alter database archivelog; //打開數據庫的歸檔模式
SQL> alter database open; //啓動數據庫dom


3.設置主庫監聽
主庫:
作靜態監聽 1522 端口
備庫:
作靜態監聽 1522 端口測試

[oracle@DBprimary admin]$ pwd
/u01/app/oracle/product/11.2.0.4/db_1/network/adminui

[oracle@DBprimary admin]$ ls
listener.ora samples shrept.lst tnsnames.ora
[oracle@DBprimary admin]$ vim listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.日誌

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)orm


LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1522))
)
)
)

SID_LIST_LISTENER1 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = primary)
(SID_NAME = primary)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/db_1)
)
)


ADR_BASE_LISTENER = /u01/app/oracle

 


[oracle@primary ~]$ lsnrctl start listener1 //啓動剛剛配置的 靜態監聽

4.配置主庫的初始化參數:
SQL> show parameter db_unique_name; //查看本身的服務名
SQL> alter system set db_unique_name = '本身要設置的服務名' scope=spfile; //修改以後須要重啓數據庫_根據須要,這一步能夠不操做
SQL> alter system set log_archive_config='DG_CONFIG=(primary,standby)' scope=both;
SQL> show parameter log_archive_config; //查看設置的 DG_CONFIG
SQL> alter system set log_archive_dest_1='LOCATION=/u02/oracle/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary' scope=both;
SQL> alter system set log_archive_dest_2='SERVICE=tnsstandby LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' scope=both;
SQL> quit;

[oracle@primary admin]$ pwd
/u01/app/oracle/product/11.2.0/db_1/network/admin

[oracle@primary admin]$ ls
listener.ora samples shrept.lst tnsnames.ora

[oracle@primary admin]$ vim tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

PRIMARY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

tnsstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.localdomain)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

tnsprimary =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

 

[oracle@primary admin]$ sqlplus / as sysdba
SQL> show parameter db_file;
db_file_name_convert //設置這個參數:數據文件

SQL> show parameter log;
log_file_name_convert //設置這個參數:重作日誌文件

SQL> select name from v$datafile; //查看數據庫的數據存放路徑
SQL> alter system set db_file_name_convert='/u01/app/oracle/oradata/standby','/u01/app/oracle/oradata/primary' scope = spfile; //作對望在前的綁定地址
SQL> select * from v$logfile; //查看 redo 日誌
SQL> alter system set log_file_name_convert='/u01/app/oracle/oradata/standby','/u01/app/oracle/oradata/primary' scope = spfile; //作對望在前的綁定地址
SQL> show parameter standby;
SQL> alter system set standby_file_management = auto;
SQL> show parameter fal;
fal_client //這個參數能夠不配置_若是要配置能夠看下邊的 alter
fal_server //這個參數能夠不配置_若是要配置能夠看下邊的 alter

SQL> alter system set fal_client='tnsprimary' scope = both;
SQL> alter system set fal_server='tnsstandby' scope = both;

 

【DataGuard_備數據庫的參數配置】
1.拷貝密碼文件
主庫和備庫的 oracle 用戶的 sys 密碼必須一致。
在主庫上操做:
[oracle@primary admin]$ cd $ORACLE_HOME/dbs
[oracle@primary dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs
[oracle@primary dbs]$ scp orapwprimary root@備庫IP:/u01/app/oracle/product/11.2.0/db_1/dbs


在備庫上操做:
[oracle@standby dbs]$ ll
total 16
-rw-rw----. 1 oracle oinstall 1544 Mar 28 15:13 hc_standby.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r-----. 1 oracle oinstall 24 Mar 15 14:53 lkDBSTANDB
-rw-r----- 1 root root 1536 Mar 29 13:27 orapwprimary

[oracle@standby dbs]$ mv orapwprimary orapwstandby

[oracle@standby dbs]$ ll
total 16
-rw-rw----. 1 oracle oinstall 1544 Mar 28 15:13 hc_standby.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r-----. 1 oracle oinstall 24 Mar 15 14:53 lkDBSTANDB
-rw-r----- 1 root root 1536 Mar 29 13:27 orapwstandby

[oracle@standby dbs]$ orapwd file=orapwstandby password = //或者這樣設置 密碼也能夠
[oracle@standby dbs]$ touch initstandby.ora //建立一個啓動文件,由於備庫不須要 dbca 來建立數據庫,因此指定給文件的形式

[oracle@primary dbs]$ strings spfileprimary.ora //在主庫上操做查看這個文件

[oracle@standby dbs]$ vim initstandby.ora //編輯文件類容
db_name='primary'
db_unique_name='standby'
memory_target=1581252608
audit_file_dest='/u01/app/oracle/admin/standby/adump'
compatible='11.2.0.4.0'
control_files='/u01/app/oracle/oradata/standby/control01.ctl','/u01/app/oracle/fast_recovery_area/standby/control02.ctl'
log_archive_config='DG_CONFIG=(primary,standby)'
log_archive_dest_1='LOCATION=/u02/oracle/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'
log_archive_dest_2='SERVICE=tnsprimary LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary'
log_archive_format='%t_%s_%r.arc'
db_file_name_convert='/u01/app/oracle/oradata/primary','/u01/app/oracle/oradata/standby'
log_file_name_convert='/u01/app/oracle/oradata/primary','/u01/app/oracle/oradata/standby'
fal_client='tnsprimary'
fal_server='tnsstandby'
standby_file_management='AUTO'


[oracle@standby ~]$ mkdir -p /u01/app/oracle/admin/standby/adump //建立目錄
[oracle@standby ~]$ mkdir -p /u01/app/oracle/oradata/standby
[oracle@standby ~]$ mkdir -p /u01/oracle/archive
[oracle@standby ~]$ mkdir -p /u01/app/oracle/fast_recovery_area/standby/


2.建立實例_啓動到 mount 狀態
[oracle@standby dbs]$ sqlplus / as sysdba
SQL> create spfile from pfile; //建立啓動文件

File created.

SQL> startup nomount; //啓動到 nomount 狀態
ORACLE instance started.

Total System Global Area 1586708480 bytes
Fixed Size 2253624 bytes
Variable Size 922750152 bytes
Database Buffers 654311424 bytes
Redo Buffers 7393280 bytes

SQL> show parameter spfile; //查看啓動文件的路徑地址_能夠不看

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
.4/db_1/dbs/spfilestandby.ora

SQL> show parameter log; //能夠同過 log 日誌進行查看_設置的參數

 

3.配置靜態監聽_和主庫配置是同樣的
重要:爲何必定要配置靜態監聽
nomount 狀態下必須使用靜態監聽才能鏈接到實例

[oracle@Standby admin]$ cd /u01/app/oracle/product/11.2.0.4/db_1/network/admin/ //進入該目錄
[oracle@Standby admin]$ vim listener.ora //編輯文件類容
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)


LISTENER1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.localdomain)(PORT = 1522))
)
)
)

SID_LIST_LISTENER1 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = primary)
(SID_NAME = standby)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/db_1)
)
)


ADR_BASE_LISTENER = /u01/app/oracle

 


[oracle@Standby admin]$ lsnrctl start //啓動監聽
[oracle@Standby admin]$ lsnrctl start listener1 //啓動靜態監聽

[oracle@Standby admin]$ sqlplus / as sysdba //進入數據庫

SQL> select status from v$instance; //查看數據庫處於什麼樣的狀態

STATUS
------------
STARTED


4.tns配置
先在主庫上操做_以下:
[oracle@Primary admin]$ cd /u01/app/oracle/product/11.2.0.4/db_1/network/admin
[oracle@Primary admin]$ vim tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

PRIMARY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

tnsstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.localdomain)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

tnsprimary =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

 

後再從庫上操做_以下:
[oracle@Standby admin]$ cd /u01/app/oracle/product/11.2.0.4/db_1/network/admin
[oracle@Standby admin]$ vim tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0.4/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

STANDBY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = standby)
)
)

tnsstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = standby.localdomain)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

tnsprimary =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = primary.localdomain)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = primary)
)
)

 

5.測試 tns
主庫_從庫 都作如下操做,經過 OK 才能行
tnsping tnsprimary
tnsping tnsstandby


6.測試鏈接數據庫
主庫_從庫 都作如下操做,經過 OK 才能行 在這裏我就不寫 備庫的操做了!
[oracle@Primary admin]$ sqlplus sys/oracle@tnsprimary as sysdba //主庫上操做

SQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 30 12:05:05 2019

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>


[oracle@Primary admin]$ sqlplus sys/oracle@tnsstandby as sysdba //主庫上操做

SQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 30 12:06:44 2019

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


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>


【DataGuard主備庫參數檢查】
[oracle@Primary admin]$ sqlplus / as sysdba //主庫上操做
SQL> show parameter db_unique_name; //檢查 db_unique_name 是否一致
SQL> show parameter compa; //查看版本信息是否一致
SQL> show parameter log_archive_config; //查看 DG_config
SQL> show parameter log_archive_dest_1; //查看歸檔路徑_指定詳細信息
SQL> show parameter log_archive_dest_2; //查看歸檔路徑_指定詳細信息
SQL> show parameter db_file; //查看數據文件存放路徑
SQL> show parameter log_file_name_convert; //查看數據LOG存放路徑
SQL> show parameter log_archive_format;


[oracle@Standby admin]$ sqlplus / as sysdba //從庫上操做
SQL> show parameter db_unique_name; //檢查 db_unique_name 是否一致
SQL> show parameter compa; //查看版本信息是否一致
SQL> show parameter log_archive_config; //查看 DG_config
SQL> show parameter log_archive_dest_1; //查看歸檔路徑_指定詳細信息
SQL> show parameter log_archive_dest_2; //查看歸檔路徑_指定詳細信息
SQL> show parameter db_file; //查看數據文件存放路徑
SQL> show parameter log_file_name_convert; //查看數據LOG存放路徑
SQL> show parameter log_archive_format;

【從庫操做】
[oracle@Standby ~]$ cd $ORACLE_HOME/dbs //發現 從庫的 db_unique_name 是主庫的 db_unique_name 須要更改
[oracle@Standby dbs]$ vim initstandby.ora //編輯文件類容 往這個文件裏面插入一條新數據——以下:
db_unique_name='standby' //原有的文件內容不變,只是插入一條新的內容進去

[oracle@Standby dbs]$ sqlplus / as sysdba //進入數據庫
SQL> shutdown immediate; //關閉數據庫
SQL> create spfile from pfile; //從新建立啓動文件_由於你修改配置了,須要從新建立一個啓動文件
SQL> startup nomount; //啓動到 nomount 狀態下

 

【使用 Duplicate 建立物理 standby】 備註:主庫上操做
[oracle@Primary primary]$ rman target sys/oracle@tnsprimary auxiliary sys/oracle@tnsstandby //這是第一種鏈接方式_下邊的是第二種方式
RMAN> duplicate target database for standby from active database nofilenamecheck;


[oracle@Primary admin]$ rman target sys/oracle@tnsprimary //建立
RMAN> connect auxiliary sys/oracle@tnsstandby //鏈接輔助實例 備庫就是輔助實例
RMAN> duplicate target database for standby from active database nofilenamecheck; //主備鏈接實例

 

 

到這裏基本  oracle   主從結束了!小夥伴們動起手來吧!

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息