基於多種場景DataGuard切換方案
描述
架構說明
為了簡單明瞭的描述生產庫、本地容災、異地容災三者之間的架構關係以及搭建步驟,現分別用以A 機、B 機、C 機來表示。
本地主庫伺服器:A 機
本地備庫伺服器:B 機
異地備庫伺服器:C 機
硬體環境
以下為方案編寫時採用的測試環境,DataGuard 搭建需要在同平臺同版本前提下實現,且更多是資料庫層面的引數設定,對使用何種作業系統關係不大。
A 機規劃:
主機名 |
IP |
型號 |
作業系統版本 |
資料庫版本 |
oracledb01 |
192.168.200.71 |
X86 |
RHEL6.4 |
11.2.0.4 |
B 機規劃:
主機名 |
IP |
型號 |
作業系統版本 |
資料庫版本 |
oracledb02 |
192.168.200.75 |
X86 |
RHEL6.4 |
11.2.0.4 |
C 機規劃:
主機名 |
IP |
型號 |
作業系統版本 |
資料庫版本 |
oracledb03 |
192.168.200.67 |
X86 |
RHEL6.4 |
11.2.0.4 |
切換說明
在異常情況下,本地主庫異常當機,若主庫重啟之後,能正常使用,只需確保DataGuard 環境保持同步即可;若本地主庫,在異常情況下,不可用或暫不可用,為保證業務的連續性,採用DataGuard 切換方案。 本文件針對異常情況發生,主庫不可用或暫不可用的場景下,給出的各種切換方案以及主庫正常後回切方案。
同時搭建本地& 異地備庫
搭建步驟
步驟 |
內容 |
Step 1 |
主庫引數配置 |
Step 2 |
本地備庫引數檔案配置 |
Step 3 |
本地備庫資料同步 |
Step 4 |
異地備庫引數檔案配置 |
Step 5 |
異地備庫資料同步 |
主庫引數配置
主庫引數配置包括確認歸檔是否開啟,force_logging 是否開啟,修改主庫引數檔案,新增網路連線串等等一系列的主庫配置資訊。
歸檔開啟
確認歸檔是否開啟:
[root@oracledb01 ~]# su - oracle [oracle@oracledb01 ~]$ sqlplus "/ as sysdba" SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 5 10:56:20 2015 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, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination /oradata/test/arch Oldest online log sequence 82 Next log sequence to archive 0 Current log sequence 83 SQL> |
以上說明歸檔已經開啟,如果沒有開啟請參照一下方法開啟歸檔:
[root@oracledb01 ~]# su - oracle [oracle@oracledb01 ~]$ sqlplus "/ as sysdba" SQL> alter system set log_archive_dest_1='location=/oradata/test/arch' scope =both sid='*'; 關閉資料庫: SQL>shutdown immediate; 例項啟動: SQL>startup mount; SQL> alter database archivelog ; Database altered. SQL> alter database open; Database altered |
開啟資料庫force_logging
檢查是否開啟了force_logging : SQL> SELECT FORCE_LOGGING FROM V$DATABASE; FOR --- YES // 如果狀態為YES ,則已經開啟,如果狀態為NO ,則參考下面步驟: SQL> ALTER DATABASE FORCE LOGGING; |
新增網路連線串
網路連線串用於連線主備兩端資料庫,傳輸歸檔等作用,具體需要配置如下幾個:主庫連線串,本地備庫連線串,異地備庫連線串,詳細配置資訊如下:
su – oracle cd $ORACLE_HOME/network/admin vi tnsnames.ora 新增如下資訊:(如果已經存在以下連線串,酌情考慮新增刪除) ###################A 機連線串######################### test = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.71)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test) ) )
###################B 機連線串######################### local = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.75)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test) ) )
###################C 機連線串######################### remote = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.67)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test) ) ) |
修改主庫引數檔案
備份引數檔案:(方便修改引數出現問題及時回退)
[root@oracledb01 ~]# su - oracle [oracle@oracledb01 ~]$ sqlplus "/ as sysdba" SQL> create pfile='/tmp/inittest20170809.ora' from spfile; File created. |
主庫需要修改的引數如下:
引數 |
閥值 |
定義 |
standby_file_management |
AUTO |
primary 資料庫資料檔案發生修改(如新建,重新命名等)則按照本引數的設定在standby 中做相應修改。 |
log_archive_dest_2
|
'SERVICE=local arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test'; |
歸檔檔案的生成路徑,location代表本地機上,service指明在另一臺機器上 |
log_archive_dest_3
|
'SERVICE=remote arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test'; |
歸檔檔案的生成路徑,location代表本地機上,service指明在另一臺機器上 |
fal_server |
local,remote
|
備庫端的引數,給出Oracle網路服務名,通常為指向主庫的連線串 |
fal_client |
test |
備庫端的引數,給出Oracle網路服務名,通常為指向備庫的連線串 |
db_file_name_convert |
'/oradata/test/', '/oradata/test/' |
資料庫和備用資料庫的資料檔案轉換目錄對映 |
log_file_name_convert |
'/oradata/test/', '/oradata/test/' |
指明主資料庫和備用資料庫的log檔案轉換目錄對映 |
LOG_ARCHIVE_DEST_STATE_1 |
ENABLE |
啟用或者不啟用定義的歸檔日誌目錄,允許redo 傳輸服務傳輸redo資料到指定的路徑 |
LOG_ARCHIVE_DEST_STATE_2 |
ENABLE |
啟用或者不啟用定義的歸檔日誌目錄,允許redo 傳輸服務傳輸redo資料到指定的路徑 |
LOG_ARCHIVE_DEST_STATE_3 |
ENABLE |
啟用或者不啟用定義的歸檔日誌目錄,允許redo 傳輸服務傳輸redo資料到指定的路徑 |
具體設定如下:
SQL>alter system set standby_file_management=auto scope=both sid='*'; SQL>alter system set log_archive_dest_2='SERVICE=local arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test' scope=both sid='*'; SQL>alter system set log_archive_dest_3='SERVICE=remote arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test' scope=both sid='*'; SQL>alter system set db_file_name_convert ='/oradata/test/','/oradata/test/' scope=spfile sid='*'; SQL>alter system set log_file_name_convert='/oradata/test/','/oradata/test/' scope=spfile sid='*'; SQL>ALTER SYSTEM set LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=both sid='*'; SQL>ALTER SYSTEM set LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=both sid='*'; SQL>ALTER SYSTEM set LOG_ARCHIVE_DEST_STATE_3=ENABLE scope=both sid='*'; |
建立standby redo log 檔案
standby redo log 作用在備庫,用於接收從主庫傳過來的日誌資訊,在主庫部署主要是為了方便日後的主備切換
建立適當數量的 Standby Redo Log 組數
公式如下 :
1. 如果主庫是單例項資料庫 :Standby Redo Log 組數 = 主庫日誌組總數 +1
2. 如果主庫是RAC資料庫:Standby Redo Log組數=(所有節點中日誌組數最大值 + 1) * RAC節點數
3. 大小和生產庫redo日誌組大小一致
alter database add standby logfile ('/oradata/test/std_redo01.log') size 500m; alter database add standby logfile ('/oradata/test/std_redo02.log') size 500m; alter database add standby logfile ('/oradata/test/std_redo03.log') size 500m; alter database add standby logfile ('/oradata/test/std_redo04.log') size 500m; |
主庫收集相關檔案
1. 建立備庫所需引數檔案
#mkdir –p /backup
#chown oracle:oinstall /backup
#chmod 775 /backup
sqlplus "/ as sysdba" SQL> create pfile='/backup/inittest.ora' from spfile; |
2. 建立standby 控制檔案:
sqlplus "/as sysdba" SQL> alter database create standby controlfile as '/backup/control01.ctl'; |
3. 複製tnsnames.ora 檔案:
su – oracle cd $ORACLE_HOME/network/admin cp tnsnames.ora /backup |
4. 複製密碼檔案:
su – oracle cd $ORACLE_HOME/dbs cp orapwtest /backup |
主庫相關檔案複製至備庫( 包括本地和異地)
# su – oracle $ cd /backup $ scp * oracle@192.168.200.75:/backup $ scp * oracle@192.168.200.63:/backup |
備庫( 包括本地與異地) 引數配置
環境確認
備庫需要確認如下資訊:
1. 資料庫軟體已經正常安裝,版本和生產保持一致
2. 監聽已經啟動
3. 將2.2 章節中備份出來的/backup 下面的檔案複製到備庫指定位置
修改備庫引數檔案
將從生產庫複製過來的引數檔案進行編輯,在保證主庫中3.2.4 修改主庫引數檔案章節中的引數已經確認生效的情況下,修改以下引數
本地備庫 需要調整的引數如下:
引數 |
閥值 |
定義 |
log_archive_dest_2
|
'SERVICE=remote arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test'; |
歸檔檔案的生成路徑,location代表本地機上,service指明在另一臺機器上 |
log_archive_dest_3
|
'SERVICE=test arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test'; |
歸檔檔案的生成路徑,location代表本地機上,service指明在另一臺機器上 |
db_file_name_convert |
'/oradata/test/', '/oradata/test/' |
資料庫和備用資料庫的資料檔案轉換目錄對映 |
log_file_name_convert |
'/oradata/test/', '/oradata/test/' |
指明主資料庫和備用資料庫的log檔案轉換目錄對映 |
control_files |
'/oradata/test/control01.ctl' |
控制檔案指向最新的路徑 |
本地備庫 初始化引數修改
*.audit_file_dest='/oracle/app/admin/test/adump' *.audit_trail='db' *.compatible='11.2.0.4.0' *.control_files='/oradata/test/control01.ctl' *.db_block_size=8192 *.db_domain='' *.db_file_name_convert='/oradata/test/','/oradata/test/' *.db_name='test' *.diagnostic_dest='/oracle/app' *.dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)' *.log_archive_dest_1='location=/oradata/test/arch' *.log_archive_dest_2='SERVICE=remote ARCH ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test' *.log_archive_dest_3='SERVICE=test ARCH ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test' *.log_archive_dest_state_2='ENABLE' *.log_archive_dest_state_3='ENABLE' *.log_file_name_convert='/oradata/test/','/oradata/test/' *.open_cursors=300 *.pga_aggregate_target=825229312 *.processes=150 *.remote_login_passwordfile='exclusive' *.sga_target=2475687936 *.standby_file_management='AUTO' *.undo_tablespace='UNDOTBS1' |
異地備庫 需要調整的引數如下:
引數 |
閥值 |
定義 |
log_archive_dest_2
|
'SERVICE=test arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test'; |
歸檔檔案的生成路徑,location代表本地機上,service指明在另一臺機器上 |
db_file_name_convert |
'/oradata/test/', '/oradata/test/' |
資料庫和備用資料庫的資料檔案轉換目錄對映 |
log_file_name_convert |
'/oradata/test/', '/oradata/test/' |
指明主資料庫和備用資料庫的log檔案轉換目錄對映 |
control_files |
'/oradata/test/control01.ctl' |
控制檔案指向最新的路徑 |
異地備庫 初始化引數修改
*.audit_file_dest='/oracle/app/admin/test/adump' *.audit_trail='db' *.compatible='11.2.0.4.0' *.control_files='/oradata/test/control01.ctl' *.db_block_size=8192 *.db_domain='' *.db_file_name_convert='/oradata/test/','/oradata/test/' *.db_name='test' *.diagnostic_dest='/oracle/app' *.dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)' *.log_archive_dest_1='location=/oradata/test/arch' *.log_archive_dest_2='SERVICE=test ARCH ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=test' *.log_archive_dest_state_2='ENABLE' *.log_file_name_convert='/oradata/test/','/oradata/test/' *.open_cursors=300 *.pga_aggregate_target=825229312 *.processes=150 *.remote_login_passwordfile='exclusive' *.sga_target=2475687936 *.standby_file_management='AUTO' *.undo_tablespace='UNDOTBS1' |
複製檔案到備庫指定位置
將之前從生產庫/backup 指定檔案複製到指定路徑下面:
引數檔案: 複製到$ORACLE_HOME/dbs
控制檔案: 複製到/oradata/test 下面
tnsnames.ora: 複製到$ORACLE_HOME/network/admin/
密碼檔案:複製到$ORACLE_HOME/dbs
啟動資料庫
啟動備端資料庫到mount 狀態:
su – oracle SQL>create spfile from pfile; SQL>startup mount; |
主庫開啟日誌傳輸
主庫啟用RFS
su - oracle sqlplus "/ as sysdba" SQL>alter system set log_archive_dest_state_2=defer; SQL>alter system set log_archive_dest_state_2=enable; SQL>alter system set log_archive_dest_state_3=defer; SQL>alter system set log_archive_dest_state_3=enable; |
檢查日誌傳輸是否報錯:
su - oracle sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=2 or dest_id=3; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
備庫全量同步
主庫rman 全庫備份
su - oracle $ rman target / RMAN> backup database format '/backup/fulldb_test_%U.bak'; |
將主庫/backup/ 中的fulldb_test* 檔案複製到備庫伺服器/backup
備庫全量還原
$ rman target / RMAN>catalog backuppiece '/backup/fulldb_test_09sbfbg8_1_1.bak'; RMAN>catalog backuppiece '/backup/fulldb_test_0asbfbhl_1_1.bak'; RMAN>restore database; |
備庫增量同步
備庫開啟MRP 程式,進行增量同步
su - oracle sqlplus "/ as sysdba" SQL>alter database recover managed standby database disconnect from session 或者 SQL> alter database recover managed standby database using current logfile disconnect from session;
|
備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
本地備庫切換成主庫
本地備庫強制切換成主庫
在異常情況下,主庫不可用,需要將本地備庫強制切換成主庫
su - oracle $ sqlplus "/ as sysdba" SQL> recover managed standby database cancel; SQL> recover managed standby database finish; SQL> select name,open_mode,database_role,switchover_status from v$database; SQL> alter database commit to switchover to primary; SQL> shutdown immediate; SQL> startup; |
機主庫與C 機備庫資料同步
B 機主庫啟用RFS ,進行日誌傳輸
su - oracle sqlplus "/ as sysdba" SQL>alter system set log_archive_dest_state_2=defer; SQL>alter system set log_archive_dest_state_2=enable; |
B 機主庫檢查日誌傳輸是否報錯:
su - oracle sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=2; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
C 機備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
C 機備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
機主庫與A 機備庫資料同步
A 機修復後,繼續以下操作。
B 機主庫啟用RFS ,進行日誌傳輸
su - oracle sqlplus "/ as sysdba" SQL>alter system set log_archive_dest_state_3=defer; SQL>alter system set log_archive_dest_state_3=enable; |
B 機主庫檢查日誌傳輸是否報錯:
su - oracle sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=3; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
A 機備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
A 機備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
機主庫與A 機備庫進行主備切換
B 機主庫切換成physical standby 角色
su - oracle sqlplus "/ as sysdba" SQL> select name,open_mode,database_role,switchover_status from v$database; SQL> alter database commit to switchover to physical standby; SQL> shutdown immediate; SQL> startup mount; SQL> recover managed standby database disconnect from session; |
A 機備庫切換成primary 角色
su - oracle sqlplus "/ as sysdba" SQL> select name,open_mode,database_role,switchover_status from v$database; SQL> alter database commit to switchover to primary; SQL> shutdown immediate; SQL> startup; |
此時 A 機是主庫, B 機是備庫 。
A 機主庫檢查日誌傳輸是否報錯:
su - oracle sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=2; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
B 機備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
B 機備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
機主庫與C 機備庫資料同步
A 機主庫啟用RFS ,進行日誌傳輸
su - oracle sqlplus "/ as sysdba" SQL>alter system set log_archive_dest_state_3=defer; SQL>alter system set log_archive_dest_state_3=enable; |
A 機主庫檢查日誌傳輸是否報錯:
su - oracle sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=3; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
C 機備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
C 機備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
異地備庫切換成主庫
異地備庫強制切換成主庫
在異常情況下,主庫、本地備庫均不可用,需要將異地備庫強制切換成主庫
su - oracle $ sqlplus "/ as sysdba" SQL> recover managed standby database cancel; SQL> recover managed standby database finish; SQL> select name,open_mode,database_role,switchover_status from v$database; SQL> alter database commit to switchover to primary; |
機主庫部署A 機及B 機資料同步
此過程可參照步驟二
機主庫與A 機備庫進行主備切換
C 機主庫切換成standby 角色
su - oracle $ sqlplus "/ as sysdba" SQL> select name,open_mode,database_role,switchover_status from v$database; SQL> alter database commit to switchover to physical standby; SQL> shutdown immediate; SQL> startup mount; SQL> recover managed standby database disconnect from session; |
A 機備庫切換成primary 角色
su - oracle $ sqlplus "/ as sysdba" SQL> recover managed standby database cancel; SQL> select name,open_mode,database_role,switchover_status from v$database; SQL> alter database commit to switchover to primary; SQL> shutdown immediate; SQL> startup; |
此時 A 機是主庫, C 機是備庫。
A 機主庫檢查日誌傳輸是否報錯:
su - oracle sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=3; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
C 機備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
C 機備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
機主庫與B 機備庫資料同步
A 機主庫啟用RFS ,進行日誌傳輸
su - oracle sqlplus "/ as sysdba" SQL>alter system set log_archive_dest_state_2=defer; SQL>alter system set log_archive_dest_state_2=enable; |
A 機主庫檢查日誌傳輸是否報錯:
sqlplus "/ as sysdba" SQL> select dest_name,status,error from v$archive_dest where dest_id=2; 檢查是否存在報錯,如果有報錯,檢查報錯原因 |
B 機備庫確認日誌傳輸和應用是否正常
su - oracle sqlplus "/ as sysdba" SQL>select process,status from v$managed_standby; SQL>select thread#,max(sequence#) from v$archived_log group by thread#; SQL>select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#; |
B 機備庫檢查alert 日誌輸出是否正常
$ tail -f /oracle/app/diag/rdbms/test/test/trace/alert_test.log |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2770905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於單機的DataGuard切換文件
- DATAGUARD強行切換
- DATAGUARD失敗切換
- Oracle 11.2.0.4 physical dataguard和snapshot dataguard切換Oracle
- oracle11g dataguard切換Oracle
- 【DATAGUARD】Oracle Dataguard物理備庫切換最佳實踐(sqlplus)OracleSQL
- cocos2dx 場景切換特效特效
- 基於工控場景的DNS隧道檢測方案DNS
- DataGuard---->物理StandBy的角色切換之switchover
- Web前端主題切換的幾種方案Web前端
- 2-39. 建立 TransitionManager 控制人物場景切換
- 基於Spring的Web專案執行時切換資料來源的一種解決方案SpringWeb
- Oracle DataGuard 主備切換 (switchover) oracle11gOracle
- angular5 基於ngx-translate實現多語言切換Angular
- 視訊場景切換檢測的FPGA實現FPGA
- Oracle 11g 一主多備切換方案Oracle
- 【技術向】基於工控場景的DNS隧道攻擊方案DNS
- 非常規 - VUE 實現特定場景的主題切換Vue
- jdk 多版本切換JDK
- 多螢幕切換
- GCC 多版本切換GC
- ORACLE 12C DATAGUARD環境搭建和主從切換Oracle
- 3-03. 實現切換場景儲存和讀取場景中的建造物品
- 【通用文字識別OCR】多場景、多語種、高精度
- Cocos Creator 資源載入流程剖析【六】——場景切換流程
- PHP 併發場景的幾種解決方案PHP
- @Transactional 註解下,事務失效的多種場景
- Redis多種資料型別以及使用場景Redis資料型別
- ubuntu多版本php切換UbuntuPHP
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- 基於多場景化解決方案,華為雲助力製造業企業走出數字化轉型困境
- 基於業務場景下的圖片/檔案上傳方案總結
- RSM:超實用的多場景請求管理方案
- jmeter混合場景的多種實現方式比較JMeter
- NIO是什麼?適用於何種場景?
- 智慧提醒助手——基於HarmonyOS Next的多場景後臺任務實現
- 非扁平網路場景下,基於開源istio治理CCE多叢集
- 關於AppDelegate瘦身的多種解決方案APP