1. 程式人生 > >資料庫遷移方案之DG方式遷移

資料庫遷移方案之DG方式遷移

一:環境資訊

1)主庫(單例項)

主機平臺:AIX6.1

資料庫版本:11.2.0.3(psu5)

2)備庫(部署了crs)

主機平臺:AIX6.1

資料庫版本:11.2.0.3(psu5)

二:方案背景

  由於業務量增加,資料庫需要由單例項,改成兩節點rac。為了減少停機時間,採用DG方式遷移。

三遷移方案:

1.檢查資料庫是否支援Data Guard(只有企業版才支援DG)

SQL> select * from v$option where parameter = 'Managed Standby';
PARAMETER                                                        VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
Managed Standby                                                  TRUE

2.修改主庫為歸檔模式及force logging狀態
1)

SQL> alter database force logging;
Database altered.

2)
SQL> archive log list;
如果未開歸檔,開啟歸檔模式

alter system set log_archive_dest_2='location=/archlog/egap';
alter system set log_archive_format='egap_%t_%s_%r.arch' scope=spfile; --靜態引數,重啟後生效
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
archive log list;

3.建立備庫pfile檔案
在主庫上建立pfile,修改,並新增DG備庫所有引數,然後傳至備庫

SQL> create pfile='/data01/pfileegap' from spfile;

1)備庫需要新增的引數
DB_UNIQUE_NAME;LOG_ARCHIVE_DEST_1;FAL_SERVER;FAL_CLIENT; STANDBY_FILE_MANAGEMENT=AUTO;DB_FILE_NAME_CONVERT;LOG_FILE_NAME_CONVERT
2)根據pfile中涉及到路徑需要提前在備庫主機上建好(如果主備庫路徑不一致要修改)
如主庫*.audit_file_dest='/apps/oracle/admin/egap/adump'
我們在備庫需要建 mkdir -p /apps/oracle/admin/egap/adump
cd /apps/oracle/admin
chown -R oracle:oinstall egap
chmod -R 775 egap

改變前引數檔案

*.__db_cache_size=27648851968
*.__java_pool_size=67108864
*.__large_pool_size=67108864
*.__oracle_base='/apps/oracle'#ORACLE_BASE set from environment
*.__pga_aggregate_target=10334765056
*.__sga_target=30937186304
*.__shared_io_pool_size=0
*.__shared_pool_size=2952790016
*.__streams_pool_size=0
*.audit_file_dest='/apps/oracle/admin/egap/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/data01/egap/control01.ctl','/data01/egap/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='egap'
*.diagnostic_dest='/apps/oracle'
*.log_archive_dest_1='location=/archlog/egap'
*.log_archive_format='egap_%t_%s_%r.arch'
*.open_cursors=300
*.pga_aggregate_target=10307502080
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=30922506240
*.undo_tablespace='UNDOTBS1'

改變後引數檔案

egap1.__oracle_base='/apps/oracle'#ORACLE_BASE set from environment
*._gc_policy_time=0
*._undo_autotune=FALSE
*.audit_trail='NONE'
*.archive_lag_target=1800
*.audit_file_dest='/apps/oracle/admin/egapdb/adump'
*.compatible='11.2.0.0.0'
*.control_files='/data01/egapdb/controlfile/control01.ctl','/data02/egapdb/controlfile/control02.ctl'
*.db_block_size=8192
*.db_cache_size=12884901888
*.db_create_file_dest='/data01/egapdb/datafile'
*.db_domain=''
*.db_name='egap'
*.diagnostic_dest='/apps/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=egapXDB)'
*.large_pool_size=1073741824
*.open_cursors=1000
*.pga_aggregate_target=21474836480
*.processes=4000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=3305
*.sga_max_size=34359738368
*.sga_target=34359738368
*.shared_pool_size=4294967296
*.undo_retention=5400
*.undo_tablespace='UNDOTBS1'
egapdb1.log_archive_dest_1='location=/archlog/egapdb1'
*.log_archive_dest_2='SERVICE=egap LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=egap'
*.log_archive_format='egapdb_%t_%s_%r.arch'
*.DB_UNIQUE_NAME=egapdb
*.FAL_SERVER=egap
egapdb1.FAL_CLIENT=egapdb1
egapdb2.FAL_CLIENT=egapdb2
*.STANDBY_FILE_MANAGEMENT=AUTO
*.DB_FILE_NAME_CONVERT='+DATA3/egap/datafile','/data01/egapdb/datafile','+DATA4/egap/datafile','/data02/egapdb/datafile','+DATA3/egap/tempfile','/data01/egapdb/tempfile','+DATA4/egap/tempfile','/data02/egapdb/tempfile'
*.LOG_FILE_NAME_CONVERT='+DATA3/egap/onlinelog','/data01/egapdb/onlinelog','+FRA3/egap/onlinelog','/data02/egapdb/onlinelog'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(egap,egapdb)'

##注意db_file_name_convert和log_file_name_convert引數指定的路徑要存在

##關閉資料庫審計(audit_trail='NONE'),sga,pga適當加大

4)根據修改後的pfile建立備庫spfile

export ORACLE_SID=egapdb1
sqlplus / as sysdba
create spfile from pfile;

--使用新生成的spfile檢查是否能夠成功啟動例項

4.生成備庫的密碼檔案
scp主庫密碼檔案到備庫,並改名
如果主庫沒有密碼檔案,需要新建

orapwd file=/oracle/app/oracle/product/v11.2.0.3/db_1/dbs/orapwegap password=oracle  entries=5 ignorecase=y

--主庫密碼檔案傳到備庫以後要重啟備庫

5.配置主備庫監聽及net服務
1)listener
--主庫
一般建庫後都會配置監聽我們無需再配置
--備庫(因為安裝了cluster,所以用的是cluster的監聽)
lsnrctl status 檢視監聽檔案位置,並在監聽檔案中加入如下類容

LISTENER_SCAN3=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN3))))                # line added by Agent
LISTENER_SCAN2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2))))                # line added by Agent
#LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))           # line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))))                # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON                # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON                # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN3=ON                # line added by Agent
--注意叢集安裝完畢以後,上面部分內容在監聽中已經存在
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /apps/oracle/product/11.2.0.3/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = /apps/oracle/product/11.2.0.3/db_1)
(SID_NAME = egapdb1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.1)(PORT = 1521)(IP = FIRST))
)
)

2)tns
主備庫tnsnames.ora檔案中加入如下部分

primary =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.16)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = egap)
)
)
standby1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = egapdb1)
)
)
standby2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.96.2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = egapdb2)
)
)

--DG搭建後要主備切換並新增例項

6. 測試網路連線
1)檢視監聽狀態是否正常
lsnrctl status
2) 測試連線串是否能正常連線到指定資料庫

tnsping egap
tnsping egapdb1
tnsping egapdb2
sqlplus sys/[email protected] as sysdba
sqlplus sys/[email protected] as sysdba
sqlplus sys/[email protected] as sysdba

7. 複製備庫
有兩種1:rman線上複製 2:rman備份異機恢復
方法1:rman線上複製(不需要備份主庫)
此種方式僅適用於ORACLE 11G,可以自動備份datafile,control等檔案到備庫,在複製過程主庫仍可正常執行,但複製過程時間較長,會佔用一定的網路資源。
1)將備庫啟動到nomount狀態
export ORACLE_SID=egapdb1
sqlplus / as sysdba
startup nomount;
2)在備庫上執行如下命令

rman target sys/[email protected] auxiliary sys/[email protected] nocatalog
duplicate target database for standby from active database nofilenamecheck;

--如果主備庫檔案路徑不變,要加nofilenamecheck。登陸時加nocatalog否則會報如下錯誤:

PLS-00201: identifier 'DBMS_RCVCAT.GETDBID' must be declared

8. 新增standby log
--為了日後切換,建議為主庫也新增standby log
--注意stnadby log的大小(同主庫redolog相同大小)
--注意新增合適數量的standby log

alter database add standby logfile thread 1
GROUP 7('/data01/egapdb/stand07.log') SIZE 50M,
GROUP 8('/data01/egapdb/stand08.log') SIZE 50M,
GROUP 9('/data01/egapdb/stand09.log') SIZE 50M,
GROUP 10('/data01/egapdb/stand10.log') SIZE 50M,
GROUP 11('/data01/egapdb/stand11.log') SIZE 50M,
GROUP 12('/data01/egapdb/stand12.log') SIZE 50M,
GROUP 13('/data01/egapdb/stand13.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 group 3('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;

SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
檢查是否成功建立

standy log 的推薦數目為=(每個執行緒的日誌檔案的最大數目+1)×執行緒最大數目

9.配置主庫DG引數
主庫需要配置的引數為DB_UNIQUE_NAME;LOG_ARCHIVE_CONFIG;LOG_ARCHIVE_DEST_2;REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
--為了方便以後切主庫也應該新增備庫所需要的引數

*.DB_UNIQUE_NAME=egap
*.FAL_SERVER=standby1
*.FAL_CLIENT=primary
*.STANDBY_FILE_MANAGEMENT=AUTO
*.DB_FILE_NAME_CONVERT='/data01/egapdb','/data01/egap'
*.LOG_FILE_NAME_CONVERT='/data01/egapdb','/data01/egap'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(egap,egapdb)'
*.log_archive_dest_1='location=/archlog/egap'
*.log_archive_dest_2='SERVICE=standby1 LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=egapdb'
alter system set fal_server='standby1';
alter system set fal_client='primary';
alter system set standby_file_management=auto;
alter system set db_file_name_convert='/data01/egapdb','/data01/egap' scope=spfile;
alter system set log_file_name_convert='/data01/egapdb','/data01/egap' scope=spfile;
alter system set log_archive_config='DG_CONFIG=(egap,egapdb)';
alter system set log_archive_dest_2='SERVICE=standby1 LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=egapdb';

10.在備庫上啟動恢復
啟動恢復

alter database recover managed standby database using current logfile disconnect;
alter database recover managed standby database cancel;

--主庫切換日誌,觀察DG能否正常應用日誌
1)在備庫檢視 data guard 為哪種日誌接受方式,以及當前被應用的日誌

SQL> select process,client_process,sequence#,status from v$managed_standby;
PROCESS   CLIENT_P  SEQUENCE# STATUS
--------- -------- ---------- ------------
ARCH      ARCH            132 CLOSING
ARCH      ARCH            131 CLOSING
ARCH      ARCH              0 CONNECTED
ARCH      ARCH            133 CLOSING
MRP0      N/A             134 APPLYING_LOG
RFS       ARCH              0 IDLE
RFS       LGWR            134 IDLE
RFS       UNKNOWN           0 IDLE

--rfs程序接受的是lgwr日誌,說明主庫用的是lgwr程序傳輸日誌。mrp0程序存在說明此時已啟動恢復管理

2)在備庫檢視新的歸檔日誌有沒有正常傳輸過來,並被應用

SQL> select THREAD#,SEQUENCE#,ARCHIVED,APPLIED,DELETED,STATUS from v$archived_log order by 1,2;

3)檢視主備庫的alert日誌,是否正常
4)備庫檢視日誌應用延時

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
select name,value from v$dataguard_stats where name in ('apply lag','apply finish time');

11.新增例項

1.oracle DG主備切換(switchover)
--切換前檢查主備庫引數,及standbylog是否配置(如下引數在主備庫都需配置)

*.DB_UNIQUE_NAME=egap
*.FAL_SERVER=standby1
*.FAL_CLIENT=primary
*.STANDBY_FILE_MANAGEMENT=AUTO
*.DB_FILE_NAME_CONVERT='/data01/egapdb','/data01/egap'
*.LOG_FILE_NAME_CONVERT='/data01/egapdb','/data01/egap'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(egap,egapdb)'
*.log_archive_dest_1='location=/archlog/egap'
*.log_archive_dest_2='SERVICE=standby1 LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=egapdb'

1)主庫

--檢視是否可以切換為備庫

select database_role,switchover_status from v$database;
注:當SWITCHOVER_STATUS的值為TO STANDBY or SESSIONS ACTIVE的時候表示主庫可以支援SWITCHOVER.
alter database commit to switchover to physical standby;
shutdown immediate;
startup nomount;
alter database mount standby database;
alter database recover managed standby database using current logfile disconnect;

2)備庫

select database_role,switchover_status from v$database;
注:當SWITCHOVER_STATUS的值為TO PRIMARY or SESSIONS ACTIVE的時候表示備庫可以支援SWITCHOVER(在主庫執行完commit後會變成to primary
而在主庫沒有執行之前是not allowed狀態)
alter database commit to switchover to primary;

12.配置cluster listener(主要是配置第二個節點的listener)
具體方法見DG實施方案的第五步

3.建立叢集引數檔案

1)create pfile from spfile;(在轉換後的主庫上)
修改pfile,並新增rac需要的引數

*.cluster_database = TRUE
*.cluster_database_instances = 2
*.undo_management=AUTO
<SID1>.undo_tablespace=undotbs (undo tablespace which already exists)
<SID1>.instance_name=<SID1>
<SID1>.instance_number=1
<SID1>.thread=1
<SID1>.local_listener=<LISTENERNAME>_<HOSTNAME1>
<SID2>.instance_name=<SID2>
<SID2>.instance_number=2
<SID2>.local_listener=<LISTENERNAME>_<HOSTNAME2>
<SID2>.thread=2
<SID2>.undo_tablespace=UNDOTBS2
<SID2>.cluster_database = TRUE
<SID2>.cluster_database_instances = 2

修改後引數檔案如下:

--注意引數檔案中定義的路徑要在第二個節點提前建立

egapdb1.__oracle_base='/apps/oracle'#ORACLE_BASE set from environment
egapdb2.__oracle_base='/apps/oracle'#ORACLE_BASE set from environment
*.audit_file_dest='/apps/oracle/admin/egapdb/adump'
*.compatible='11.2.0.0.0'
*.control_files='/data01/egapdb/controlfile/control01.ctl','/data02/egapdb/controlfile/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='egap'
*.db_unique_name='egapdb'
*.diagnostic_dest='/apps/oracle'
egapdb1.fal_client='egapdb1'
egapdb2.fal_client='egapdb2'
*.fal_server='egap'
*.log_archive_config='DG_CONFIG=(egap,egapdb)'
egapdb1.log_archive_dest_1='location=/archlog/egapdb1'
egapdb2.log_archive_dest_1='location=/archlog/egapdb2'
*.log_archive_dest_2='SERVICE=egap LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=egap'
*.log_archive_format='egapdb%t_%s_%r.arc'
*.DB_FILE_NAME_CONVERT='+DATA3/egap/datafile','/data01/egapdb/datafile','+DATA4/egap/datafile','/data02/egapdb/datafile','+DATA3/egap/tempfile','/data01/egapdb/tempfile','+DATA4/egap/tempfile','/data02/egapdb/tempfile'
*.LOG_FILE_NAME_CONVERT='+DATA3/egap/onlinelog','/data01/egapdb/onlinelog','+FRA3/egap/onlinelog','/data02/egapdb/onlinelog'
*._gc_policy_time=0
*._undo_autotune=FALSE
*.audit_trail='NONE'
*.archive_lag_target=1800
*.db_files=1000
*.db_cache_size=24G
*.large_pool_size=512M
*.shared_pool_size=4294967296
*.java_pool_size=150M
*.undo_retention=5400
*.open_cursors=1000
*.pga_aggregate_target=21474836480
*.processes=4000
*.sessions=3305
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=34359738368
*.sga_target=34359738368
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.cluster_database = TRUE
*.cluster_database_instances = 2
*.undo_management=AUTO
egapdb1.undo_tablespace='UNDOTBS1'
egapdb1.instance_name=egapdb1
egapdb1.instance_number=1
egapdb1.thread=1
egapdb1.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.96.3)(PORT=1521))))'
egapdb2.instance_name=egapdb2
egapdb2.instance_number=2
egapdb2.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.96.4)(PORT=1521))))'
egapdb2.thread=2
egapdb2.undo_tablespace='UNDOTBS2'

2).修改備庫fal_server

alter system set fal_server='standby1','standby2';

--可以在一開始就配置,此處就不必修改

3)建立新的spfile(注意建在共享路徑下)

create spfile='/data01/egapdb/spfileegapdb.ora' from pfile='/apps/oracle/product/11.2.0.3/db_1/dbs/initegapdb1.ora';

4)在兩個節點的寫入如下資訊(並刪除$ORACLE_HOME/dbs目錄下的spfile檔案)
SPFILE='/data01/egapdb/spfileegap.ora'

13.生成第二個節點的密碼檔案
傳第老庫的密碼檔案到第二個節點,並改名
scp orapwegap [email protected]:$ORACLE_HOME/dbs
mv orapwegap orapwegapdb2

14.重啟主庫使修改的引數生效
1)停主庫前,先停掉備庫的日誌應用
alter database recover managed standby database cancel;
2)停主庫
shutdown immediate;
3)startup;
--檢視rac相關引數是否生效,tail -f 主備庫的alert日誌,觀察是否有報錯,DG是否正常
show parameter cluster;

15.新增其他節點的redo及undo
1)redo

alter database
add logfile thread 2
group 4 ('/data01/egapdb/redo04.log') size 50M,
group 5 ('/data01/egapdb/redo05.log') size 50M,
group 6 ('/data01/egapdb/redo06.log') size 50M;
alter database enable public thread 2;

2)undo

create undo tablespace UNDOTBS2 datafile '/data03/egapdb/undotbs2_03.dbf' size 30G,'/data02/egapdb/undotbs2_02.dbf' size 30G,'/data01/egapdb/undotbs2_01.dbf' size 30G;
alter system set undo_tablespace='undotbs2' sid='egapdb2';--如果引數檔案中已修改則可以省略此步

16.在備庫新增第二個例項的standby log(不建好像也可以)

17.在備庫設定db_recovery_file_dest,db_recovery_file_dest_size引數
--如果不設該引數,備庫會報錯(主庫新增第二個例項日誌,在備庫應用會報錯)
OpenVMS: Error Creating Redo Logs In Standby Database ORA-01264: Unable to create logfile file name (Doc ID 1376892.1)

8.在第二個節點開啟資料庫
--tail -f 主備庫alert日誌,檢視是否有報錯,DG是否正常
export ORACLE_SID=egapdb2
sqlplus / as sysdba
startup

19.向crs中註冊資源
1)檢視註冊前叢集中資源

[email protected]:/home/grid$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....ER.lsnr ora....er.type ONLINE    ONLINE    egapdb1
ora....N1.lsnr ora....er.type ONLINE    ONLINE    egapdb1
ora....N2.lsnr ora....er.type ONLINE    ONLINE    egapdb2
ora....N3.lsnr ora....er.type ONLINE    ONLINE    egapdb2
ora.asm        ora.asm.type   OFFLINE   OFFLINE
ora.cvu        ora.cvu.type   ONLINE    ONLINE    egapdb2
ora....SM1.asm application    OFFLINE   OFFLINE
ora....B1.lsnr application    ONLINE    ONLINE    egapdb1
ora....db1.gsd application    OFFLINE   OFFLINE
ora....db1.ons application    ONLINE    ONLINE    egapdb1
ora....db1.vip ora....t1.type ONLINE    ONLINE    egapdb1
ora....SM2.asm application    OFFLINE   OFFLINE
ora....B2.lsnr application    ONLINE    ONLINE    egapdb2
ora....db2.gsd application    OFFLINE   OFFLINE
ora....db2.ons application    ONLINE    ONLINE    egapdb2
ora....db2.vip ora....t1.type ONLINE    ONLINE    egapdb2
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE
ora....network ora....rk.type ONLINE    ONLINE    egapdb1
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    egapdb2
ora.ons        ora.ons.type   ONLINE    ONLINE    egapdb1
ora....ry.acfs ora....fs.type OFFLINE   OFFLINE
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    egapdb1
ora.scan2.vip  ora....ip.type ONLINE    ONLINE    egapdb2
ora.scan3.vip  ora....ip.type ONLINE    ONLINE    egapdb2

2)註冊(在任意一個節點新增即可)

srvctl add database -d <db_unique_name> -o <ORACLE_HOME path> -p <spfile location and name>
srvctl add instance -d <db_unique_name> -i <instance 1 name> -n <node 1 name >
srvctl add instance -d <db_unique_name> -i <instance 2 name> -n <node 2 name >

--如果用的是asm的話還需要新增資料庫例項同asm例項的對應關係

srvctl modify instance -d <db_unique_name> -i <SID1> -s <+ASM1>
srvctl modify instance -d <db_unique_name> -i <SID2> -s <+ASM2>

3)檢視註冊後的叢集資源

[email protected]:/home/grid$ crs_stat -t
Name           Type           Target    State     Host
------------------------------------------------------------
ora....ER.lsnr ora....er.type ONLINE    ONLINE    egapdb1
ora....N1.lsnr ora....er.type ONLINE    ONLINE    egapdb1
ora....N2.lsnr ora....er.type ONLINE    ONLINE    egapdb2
ora....N3.lsnr ora....er.type ONLINE    ONLINE    egapdb2
ora.asm        ora.asm.type   OFFLINE   OFFLINE
ora.cvu        ora.cvu.type   ONLINE    ONLINE    egapdb2
ora.egapdb.db  ora....se.type OFFLINE   OFFLINE
ora....SM1.asm application    OFFLINE   OFFLINE
ora....B1.lsnr application    ONLINE    ONLINE    egapdb1
ora....db1.gsd application    OFFLINE   OFFLINE
ora....db1.ons application    ONLINE    ONLINE    egapdb1
ora....db1.vip ora....t1.type ONLINE    ONLINE    egapdb1
ora....SM2.asm application    OFFLINE   OFFLINE
ora....B2.lsnr application    ONLINE    ONLINE    egapdb2
ora....db2.gsd application    OFFLINE   OFFLINE
ora....db2.ons application    ONLINE    ONLINE    egapdb2
ora....db2.vip ora....t1.type ONLINE    ONLINE    egapdb2
ora.gsd        ora.gsd.type   OFFLINE   OFFLINE
ora....network ora....rk.type ONLINE    ONLINE    egapdb1
ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    egapdb2
ora.ons        ora.ons.type   ONLINE    ONLINE    egapdb1
ora....ry.acfs ora....fs.type OFFLINE   OFFLINE
ora.scan1.vip  ora....ip.type ONLINE    ONLINE    egapdb1
ora.scan2.vip  ora....ip.type ONLINE    ONLINE    egapdb2
ora.scan3.vip  ora....ip.type ONLINE    ONLINE    egapdb2

4)srctl start instance啟動例項(新增資源後DB資源是offline狀態)

--檢驗crs能否正常啟停資料庫

20.檢查DG狀態是否正常

##檢查方法前面已經列出

相關推薦

資料庫遷移方案DG方式遷移

一:環境資訊 1)主庫(單例項) 主機平臺:AIX6.1 資料庫版本:11.2.0.3(psu5) 2)備庫(部署了crs) 主機平臺:AIX6.1 資料庫版本:11.2.0.3(psu5) 二:方案背景   由於業務量增加,資料庫需要由單例項,改成兩節點rac。為了減少

代碼遷移旅(二)- 漸進式遷移方案

std api 接收 小事 業務邏輯 hidden img 優先級 default * { color: #3e3e3e } body { font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", "Micr

oracle遷移到mysql方案——ogg(goldengate)

icp ger AR 問題 IT flush get gop extract source源端 oracle 11.2.0.4 ogg12cip:10.200.3.193 系統centos 7.1 1. 創建source表和一些初始化數據su - oraclesqlplu

oracle遷移到mysql分庫分表方案——ogg(goldengate)

apply columns version alt ML -c testing name sam 之前文章主要介紹了oracle 遷移到mysql,主要是原表原結構遷移,但是實際運維中會發現,到mysql以後需要分庫和分表的拆分操作,這個時候,用ogg來做,也是很強大好用的

遷移合作伙伴解決方案_雲資料遷移_資料庫遷移

Amazon Web Services 誠聘精英。 Amazon Web Services (AWS) 是 Amazon.com 的一個充滿活力、不斷壯大的業務部門。我們現誠聘軟體開發工程師、產品經理、客戶經理、解決方案架構師、支援工程師、系統工程師以及設計師等人才。請訪問我

資料庫實踐操作(二)--資料庫遷移方案

例如:開發好的銀行系統進行遷移 介紹四種方法 1>分離附加法(常當前資料庫中分離) 前提:該資料庫不處於被訪問狀態 1>開啟要分離的資料庫檔案位置 右擊資料庫屬性–檔案–複製路徑–win+R開啟路徑 注意:開啟這一

HDFS資料遷移解決方案DistCp工具的巧妙使用分析

前言 在當今每日資訊量巨大的社會中,源源不斷的資料需要被安全的儲存.等到資料的規模越來越大的時候,也許瓶頸就來了,沒有儲存空間了.這時候怎麼辦,你也許會說,加機器解決,顯然這是一個很簡單直接但是又顯得有些欠缺思考的辦法.無謂的加機器只會帶來無限上升的成本消耗,更好的辦法應該是做到更加精細化的資料

HBase——叢集資料手動遷移方案

1、從源HBase叢集中複製出HBase資料庫到本地目錄hadoop fs -get2、目標HBase匯入hadoop fs -put3、修復.META.表hbase hbck -fixMeta4、重新

oracle資料庫工作筆記遷移oracle的dbf資料檔案

可能你在搭建資料庫的時候沒有考慮的很周全,數量的迅速增大,裝置效能的跟不上,這個時候可能會需要考慮將資料庫的資料檔案等一些檔案放到效能比較高的儲存上時就會涉及到以下的知識,希望能夠幫到你。 首先用oracle使用者執行sqlplus / as sysdba,進

XTTS系列之一:U2L遷移解決方案XTTS的使用

本系列的定位是對XTTS及相關技術進行深入的學習研究。作為本系列的開篇,本著實用性的原則,我先把一次實際生產環境U2L的遷移實戰實施方案進行提煉簡化,旨在能清楚說明該如何使用XTTS這種解決方案來進行U2L遷移,先達到可以跟著做下來的初級目標,如果有興趣再去深入研究相關細節。 1.XTTS概述 2.遷移準備

Oracle數據庫遷移的幾種方式

備份與恢復 行遷移 target span spf 位置 server create 設備 面試: 一、exp/imp邏輯備份與恢復: 二、Storage存儲遷移: 將數據文件、控制文件、日誌文件、spfile掛到新機器上,然後在新機器上啟動數據庫。 三、利用data gu

線上項目mysql、redis平滑遷移方案及步驟

perl stop global 運行 ati 項目部 只讀 install iba 1.清晰系統內網及公網可達,CVM配置 2.遷移完整數據,項目部署,測試網絡環境. redis:復制rdb文件mysql:xtrabackup備份3.確保項目正常運行,網絡正常訪問.項

.NET Core 2.0遷移技巧MemoryCache問題修復

命名空間 ram ons ret http option ext obj mar 對於傳統的.NET Framework項目而言,System.Runtime.Caching命名空間是常用的工具了,其中MemoryCache類則常被用於實現內存緩存。 .NET Core

sqoop 數據遷移

1.2 ide span data conf error nds 修改配置文件 解壓 安裝sqoop的前提是已經具備java和hadoop的環境 1、下載並解壓 最新版下載地址http://ftp.wayne.edu/apache/sqoop/1.4.6/ 2、修改配

Linux服務器的配置和數據遷移方案資料分享

Linux服務器對於從Windows系統遷移過來的用戶,困擾大家的 “Linux系統下是否可以把系統文件和用戶文件分開到C盤和D盤中” 的問題也可以得到完滿解決。 之前的文章對Linux的文件系統有過粗略的介紹,但是了解文件系統結構後,有什麽用途呢?在本章節將圍繞 "基於用戶角度的Linux下的數

Asp.Net Core @Html.Action 遷移

ML csdn core catch true ESS 方法 actor AS 想必只要 接觸了 net core的小夥伴們 已經發現 @html.Action()方法 官方已經不提供支持了,轉而使用 ViewComponents替代了,同時也增加了TagHelper。但是

yii2資料庫表與表之間的遷移

public function actionThirdEditionAdmin() { $sql = file_get_contents(__DIR__ . '/../../../../common/sql/20180815_hyz.sql');

螞蟻金服 Service Mesh 漸進式遷移方案|Service Mesh Meetup 實錄

敖小劍,螞蟻金服高階技術專家,十六年軟體開發經驗,微服務專家,Service Mesh 佈道師,Servicemesher 社群聯合創始人 龍軾,阿里巴巴技術專家、前京東 Hadoop 負責人、Hadoop 程式碼貢獻者、現負責UC 基於 Kubernetes 自研的 PaaS 平臺整體的

大量資料遷移到物件儲存服務過程中使用聯合檔案系統的遷移方案

記一次遷移3T靜態資料到儲存服務的實踐過程,跟大家分享一下。 剛畢業,水平有限,重在記錄和分享。^ _ ^ 1.任務概述 幾個T的靜態資料遷移,主要是小圖,從本地檔案系統遷移到新物件儲存服務中。 遷移過程時間跨度大,可能要幾天甚至一週才能完成,在這過程

Node.js實現對mysql資料庫的crud時報加密方式錯誤解決方案

本人在學習全棧開發過程中做一個Node的web專案在連線本地MySQL8.0版本的資料庫時,發現Navicat連線不上,它報了一個數據庫的加密方式導致連線不上的錯誤,錯誤如下: MySQL8.0版本的加密方式和MySQL5.0的不一樣,連線會報錯。 解決方法如下: 開啟mysql的命令列進入