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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle rac实例切换,RAC+单实例DG的切换

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle rac实例切换,RAC+单实例DG的切换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RAC+單實例DG的切換

RAC+單實例DG的搭建過程

之前切換不成功,和參數設置有關。注意的參數是sid=* 之類的,剛搭建好的環境

racdbdg是單實例的,是備庫,rac節點是主庫。

搭建完畢,切換了一次,剛好主庫是單實例的racdbdg,rac節點是備庫了。

進行后續的切換

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

primary :racdbdg? 單實例

SYS@racdbdg>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PRIMARY

TO STANDBY

SYS@racdbdg>

Standby : 是RAC節點

SYS@racdb2>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PHYSICAL STANDBY NOT ALLOWED

SYS@racdb1>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PHYSICAL STANDBY NOT ALLOWED

或者這樣查詢

SYS@racdb2>select inst_id,database_role,switchover_status from gv$database;

INST_ID DATABASE_ROLE? ? SWITCHOVER_STATUS

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

2 PHYSICAL STANDBY NOT ALLOWED

1 PHYSICAL STANDBY NOT ALLOWED

--------開始切換

查看主庫的狀態? 在主機 racdbdg上查看 。 是to standby? ,可以切換

SYS@racdbdg>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PRIMARY

TO STANDBY

SYS@racdbdg>

-- 將主庫切換到備庫狀態

alter database commit to switchover to physical standby with session shutdown;

SYS@racdbdg>alter database commit to switchover to physical standby with session shutdown;

Database altered.

將新的備庫啟動到mount狀態,這個時候新的備庫是關閉狀態,啟動后,狀態是備庫

SYS@racdbdg>archive log list

ORA-01012: not logged on

SYS@racdbdg>conn / as sysdba

Connected to an idle instance.

SYS@racdbdg>startup mount

ORACLE instance started.

Total System Global Area 1235959808 bytes

Fixed Size

2252784 bytes

Variable Size

922746896 bytes

Database Buffers

301989888 bytes

Redo Buffers

8970240 bytes

Database mounted.

SYS@racdbdg>

SYS@racdbdg>select database_role from v$database;

DATABASE_ROLE

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

PHYSICAL STANDBY

SYS@racdbdg>

-- 將原備庫切換為主庫。在rac 任意一個節點上執行

-- 查看rac節點的狀態,是可以切換的

SYS@racdb1>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PHYSICAL STANDBY TO PRIMARY

SYS@racdb2>select inst_id,database_role,switchover_status from gv$database;

INST_ID DATABASE_ROLE? ? SWITCHOVER_STATUS

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

1 PHYSICAL STANDBY SESSIONS ACTIVE

2 PHYSICAL STANDBY SESSIONS ACTIVE

SYS@racdb2>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PHYSICAL STANDBY TO PRIMARY

SYS@racdb2>

-- 進行切換,在任何一個節點執行。其中另一個節點,會自動切換為mount狀態

--在節點2上執行:

SYS@racdb2>alter database commit to switchover to primary with session shutdown ;

Database altered.

SYS@racdb2>select switchover_status ,open_mode,database_role from v$database;

SWITCHOVER_STATUS? ? OPEN_MODE

DATABASE_ROLE

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

NOT ALLOWED

MOUNTED

PRIMARY

SYS@racdb2>alter database open;

Database altered.

SYS@racdb2>

--另一個節點狀態

SYS@racdb1>archive log list

ORA-03135: connection lost contact

SYS@racdb1>conn / as sysdba

Connected.

SYS@racdb1>

-- 這個時候,主庫是rac。備庫是單實例的racdbdg了? 在主庫上插入數據,備庫查詢

SYS@racdb2>select count(*) from t;

COUNT(*)

----------

6

SYS@racdb2>insert into t values(7);

1 row created.

SYS@racdb2>commit;

Commit complete.

SYS@racdbdg>select * from t;

ID

----------

1

2

3

4

5

6

7

7 rows selected.

------- 再切換一次,主備切換

現在的主庫是雙節點的rac, 備庫是單實例的racdbdg 。再切換一次,把主庫切換成單節點,備庫切換成rac

SYS@racdb1>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PRIMARY

TO STANDBY

SYS@racdb1>alter database commit to switchover to physical standby with session shutdown;

Database altered.

SYS@racdb1>

切換為備庫后,原來的雙節點的主庫變成備庫,兩個節點都被關閉。需要mount

SYS@racdb1>select open_mode ,database_role from v$database;

select open_mode ,database_role from v$database

*

ERROR at line 1:

ORA-01034: ORACLE not available

Process ID: 9039

Session ID: 32 Serial number: 19

SYS@racdb1>conn / as sysdba

Connected to an idle instance.

SYS@racdb1>startup mount;

ORACLE instance started.

Total System Global Area 1235959808 bytes

Fixed Size

2252784 bytes

Variable Size

1090519056 bytes

Database Buffers

134217728 bytes

Redo Buffers

8970240 bytes

Database mounted.

SYS@racdb1>select open_mode ,database_role from v$database;

OPEN_MODE

DATABASE_ROLE

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

MOUNTED

PHYSICAL STANDBY

SYS@racdb1>

-- 切換單實例的備庫為主庫:

SYS@racdbdg>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PHYSICAL STANDBY TO PRIMARY

SYS@racdbdg>

SYS@racdbdg>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PHYSICAL STANDBY TO PRIMARY

SYS@racdbdg>alter database commit to switchover to primary with session shutdown ;

Database altered.

Database altered.

SYS@racdbdg>conn / as sysdba

Connected.

SYS@racdbdg>select database_role,switchover_status from v$database;

DATABASE_ROLE

SWITCHOVER_STATUS

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

PRIMARY

NOT ALLOWED

SYS@racdbdg>alter database open;

Database altered.

SYS@racdbdg>

--- 驗證 主庫插入數據

SYS@racdbdg>select count(*) from t;

COUNT(*)

----------

8

SYS@racdbdg>insert into t values(9);

1 row created.

SYS@racdbdg>commit;

Commit complete.

SYS@racdbdg>

-- 備庫查詢

SYS@racdb2>archive log list

Database log mode

Archive Mode

Automatic archival

Enabled

Archive destination

+FRA

Oldest online log sequence? ? ?0

Next log sequence to archive? ?0

Current log sequence

0

SYS@racdb2>archive log list

Database log mode

Archive Mode

Automatic archival

Enabled

Archive destination

+FRA

Oldest online log sequence? ? ?0

Next log sequence to archive? ?0

Current log sequence

0

SYS@racdb2>select count(*) from t;

COUNT(*)

----------

9

SYS@racdb2>

SYS@racdb1>archive log list

Database log mode

Archive Mode

Automatic archival

Enabled

Archive destination

+FRA

Oldest online log sequence? ? ?23

Next log sequence to archive? ?0

Current log sequence

23

SYS@racdb1>

SYS@racdbdg>archive log list

Database log mode

Archive Mode

Automatic archival

Enabled

Archive destination

/u01/archivelog

Oldest online log sequence? ? ?22

Next log sequence to archive? ?23

Current log sequence

23

SYS@racdbdg>

從上面可以看到,切換成功了 。

從alert log中看到的一些信息。說明,在搭建的時候,要考慮sid

Archived Log entry 91 added for thread 2 sequence 16 ID 0x396d1acf dest 1:

Fri Jan 19 15:44:15 2018

ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=MEMORY SID='*';

Fri Jan 19 15:45:43 2018

Thread 1 cannot allocate new log, sequence 23

Checkpoint not complete

Current log# 1 seq# 22 mem# 0: /u01/app/oracle/oradata/racdbdg/group_1.257.965769287

******************************************************************

LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2

******************************************************************

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

Thread 1 advanced to log sequence 23 (LGWR switch)

Current log# 2 seq# 23 mem# 0: /u01/app/oracle/oradata/racdbdg/group_2.258.965769287

Fri Jan 19 15:45:45 2018

Archived Log entry 94 added for thread 1 sequence 22 ID 0x396d1acf dest 1:

總結

以上是生活随笔為你收集整理的oracle rac实例切换,RAC+单实例DG的切换的全部內容,希望文章能夠幫你解決所遇到的問題。

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