DataGuard 搭建 uweb 分行資料庫
STANDBY 建立步驟 (分行資料庫uweb)
環境:
104 主庫資料庫環境
89 備庫資料庫環境
一: 主庫環境(104)
1: 主庫Enable Force Logging
ALTER DATABASE FORCE LOGGING;
2:主庫配置 Standby Redo Log
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 '/rman/standby_log/redo1_1.log' size 314572800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 '/rman/standby_log/redo2_1.log' size 314572800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 '/rman/standby_log/redo3_1.log' size 314572800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 '/rman/standby_log/redo7_1.log' size 314572800;
二:tnsnames.ora下新增
1:104環境
uweb=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.160.1.104)(PORT = 1521))
)
(CONNECT_DATA =
(SID = uweb)
)
)
uweb2=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.160.67.104)(PORT = 1521))
)
(CONNECT_DATA =
(SID = uweb2)
)
)
測試:
sqlplus system/system@uweb
sqlplus system/system@uweb2
2:89環境:
uweb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.160.1.104)(PORT = 1521))
)
(CONNECT_DATA =
(SID = uweb)
)
)
uweb2=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.160.67.104)(PORT = 1521))
)
(CONNECT_DATA =
(SID = uweb2)
)
)
Sqlplus system/system@uweb
Sqlplus system/system@uweb2
三:更改引數
1:備份主環境spfile (104)
create pfile='/home/oracle/inituweb_bak.ora from spfile;
2: 修改主環境spfile(104) 見附件(beadb_pfile.ora)
Alter system set log_archive_dest_1='location=/rman/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=uweb';
Alter system set LOG_ARCHIVE_DEST_2='SERVICE=uweb2 OPTIONAL LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=uweb2';
Alter system set DB_UNIQUE_NAME=uweb scope=spfile;
Alter system set SERVICE_NAMES=uweb scope=spfile;
Alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(uweb,uweb2)';
Alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;
Alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
Alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile;
Alter system set STANDBY_FILE_MANAGEMENT=AUTO;
Alter system set INSTANCE_NAME=uweb scope=spfile;
Alter system set FAL_SERVER=uweb2;
Alter system set FAL_CLIENT=uweb;
3: 修改standby pfile 見附件(beadb2_pfile.ora)(89環境)
/home/oracle/uweb2pfile.ora
4: 建立spfile (89環境)
create spfile from pfile='/home/oracle/uweb2pfile.ora';
四:RMAN備份主庫(104)
1:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /archive
Oldest online log sequence 1
Next log sequence to archive 1
Current log sequence 1
2:
rman target /
crosscheck archivelog all;
delete noprompt expired archivelog all;
crosscheck backup;
delete noprompt obsolete;
delete expired copy;
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
allocate channel c6 type disk;
backup database format '/rman/archive/rman/full_level_%U';
backup current controlfile format '/rman/archive/rman/control_bak_%T';
backup current controlfile for standby format '/rman/archive/rman/control_stdbak_%T';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
}
delete archivelog all completed before 'sysdate-1/2';
shutdown immediate;
startup
3: 傳輸rman備份(主庫與備庫的rman路徑需要一致)
scp /rman/archive/rman/* 10.161.67.104:/rman/archive/rman
五:建立並複製密碼檔案
1:
建立主庫密碼檔案(檢視是否存在)不存在即建立 (104環境)
orapwd file='$ORACLE_HOME/dbs/orapwuweb' password=sys;
orapwd file='$ORACLE_HOME/dbs/orapwuweb2' password=sys
2:複製密碼檔案
echo $ORACLE_HOME
scp $ORACLE_HOME/dbs/orapwuweb 192.168.143.219:/oracle/product/10.2.0/db_1/dbs/orapwuweb2
六:standby環境建立目錄
cd $ORACLE_BASE/admin/uweb2
mkdir adump udump bdump cdump
七:使用RMAN Duplicate 建立standby 資料庫
1:備庫上將資料庫開啟至nomount狀態
sqlplus “/as sysdba”
Sql>startup nomount;
2:在主庫上執行(104環境)
Sql>alter system archive log current;
3: 備庫上利用RMAN恢復資料庫
rman target sys/sys@uweb auxiliary /
run {
allocate auxiliary channel c1 type disk;
allocate auxiliary channel c2 type disk;
allocate auxiliary channel c3 type disk;
allocate auxiliary channel c4 type disk;
allocate auxiliary channel c5 type disk;
allocate auxiliary channel c6 type disk;
duplicate target database for standby dorecover nofilenamecheck;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
}
4: 備庫上建立standby redo log(如不存在的話)
備庫執行
Select * from v$standby_log;
(如不存在standby redo log的話,執行以下命令建立standby redo log)。
alter database recover managed standby database cancel;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 1 '/rman/standby_log/redo1_1.log' size 314572800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 2 '/rman/standby_log/redo2_1.log' size 314572800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 3 '/rman/standby_log/redo3_1.log' size 314572800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 '/rman/standby_log/redo7_1.log' size 314572800;
5:將備庫資料庫置於恢復模式
備庫執行
select name,db_unique_name,database_role from v$database;
alter database recover managed standby database disconnect;
主庫執行:
alter system set log_archive_dest_state_2 = 'defer';
alter system set log_archive_dest_state_2 = 'enable';
SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
select name,database_role,switchover_status from v$database;
八:檢視主庫與備庫是否一致
主庫上執行:
alter system switch logfile;
語句一:主庫上執行:
SELECT THREAD# "Thread",SEQUENCE# "Last Sequence Generated"
FROM V$ARCHIVED_LOG
WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)
ORDER BY 1;
語句二:備庫上執行:
SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# "Last Sequence Applied", (ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference"
FROM
(SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH,
(SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
WHERE
ARCH.THREAD# = APPL.THREAD#
ORDER BY 1;
語句三: 主庫與備庫均執行
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
1. Check for GAP on standby
檢視語句三的執行結果:
(結果必須均為no row select,如果存在查詢結果,表示在備庫上缺少歸檔日誌)
2. 檢視日誌接受情況
檢視語句一與語句二的執行結果
主庫上的Last Sequence Generated 值必須與備庫上的Last Sequence Generated一致,如果不一致代表主庫與備庫不一致。
3. 檢視備庫上日誌應用情況
檢視語句二的執行結果
欄位Difference的值必須為0,為0代表已接受的日誌已經被應用到備庫上面,主庫與備庫一致。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22578826/viewspace-663030/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫(DataGuard)遷移方案(上)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(中)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(下)Oracle資料庫
- 資料庫升級之-Dataguard滾動升級資料庫
- Oracle資料庫由dataguard備庫引起的log file sync等待Oracle資料庫
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- 【MySQL資料庫】認識資料庫+環境搭建--------Windows系統MySql資料庫Windows
- mongo資料庫單節點搭建Go資料庫
- 搭建 mariadb 資料庫主從同步資料庫主從同步
- 【DATAGUARD】Oracle 通過Dataguard指定恢復時間用於找回丟失資料Oracle
- Centos 7 搭建MariaDB 資料庫高可用CentOS資料庫
- 關於dataguard需要查詢的資料字典
- pycharm 爬蟲輸出資料太長讓其分行顯示PyCharm爬蟲
- 教小白搭建sybase資料庫環境資料庫
- MySQL資料庫伺服器搭建指南-VeCloudMySql資料庫伺服器Cloud
- 達夢DM7 資料庫之資料守護DG搭建資料庫
- C#快速搭建模型資料庫SQLite操作C#模型資料庫SQLite
- MySQL資料庫與Nacos搭建監控服務MySql資料庫
- 把Github當作資料庫,搭建部落格Github資料庫
- Python量化資料倉儲搭建3:資料落庫程式碼封裝Python封裝
- Python量化資料倉儲搭建系列1:資料庫安裝與操作Python資料庫
- DBA福音 | 如何無視資料量快速搭建測試資料庫資料庫
- MySQL-主從複製之搭建從資料庫MySql資料庫
- MySQL-主從複製之搭建主資料庫MySql資料庫
- 基於Docker搭建Percona XtraDB Cluster資料庫叢集Docker資料庫
- Elasticsearch資料庫 | Elasticsearch-7.5.0應用搭建實戰Elasticsearch資料庫
- 物理DATAGUARD庫上的KSVCREATE: PROCESS(M000)
- dataguard 搭建 oracle_sid相同 2節點 primary+standbyOracle
- dataguard 搭建 oracle_sid不同 2節點 primary+standbyOracle
- 【DATAGUARD】Oracle Dataguard nologging 塊修復Oracle
- 【Dataguard】DataGuard運維注意事項運維
- 2024年Q1法國主要細分行業風險投資額(附原資料表) 行業
- 2024年Q1德國主要細分行業風險投資額(附原資料表) 行業
- 快速搭建基於 Serverless 的 .NET Core 資料庫應用Server資料庫
- 搭建springboot專案,檢測資料庫是否連線成功Spring Boot資料庫
- 詳解phpMyAdmin怎麼搭建多資料庫伺服器PHP資料庫伺服器
- ORACLE 12C DATAGUARD環境搭建和主從切換Oracle
- 資料庫PostrageSQL-管理資料庫資料庫SQL