oracle9204(9i)_linux_logical db構建指南
與10g dg最大區別:你要一步步,如紅軍涉二萬五千里長片一般,配置9i logical dg,而非可由physical db conversion
1,前提:
primary
archive mode
force logging
log_parallelism配置為1
enable supplemental logging
--查是否開啟
SELECT SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI FROM V$DATABASE;
--如無,開啟
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
2,簡略描述下相關logical standby db creation processes
--就是切下日誌,讓上面supplemental logging生效,日誌不能共存於:no and yes
ALTER SYSTEM ARCHIVE LOG CURRENT;
--在主庫新增一個專用於logical standby db的表空間,為什麼呢?一般用於管理它們的資訊全儲存在system表空間,呵,為了減負;所以。
CREATE TABLESPACE logmnrts DATAFILE '/disk1/oracle/dbs/logmnrts.dbf'
2> SIZE 25M AUTOEXTEND ON MAXSIZE UNLIMITED;
SQL> EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('logmnrts');
---shutdown immediate 主庫,cp or scp 所有v$datafile內容
---把主庫startup mount,生產出一個用於logical standby db的控制檔案
SQL> ALTER DATABASE BACKUP CONTROLFILE TO
2> '/disk1/oracle/oradata/payroll/standby/payroll3.ctl';
---為了防止在構建logical dg,有不法分子對主庫進行ddl and dml
ALTER SYSTEM ENABLE RESTRICTED SESSION;
---open 主庫,且生成用於logical db的dictionary
SQL> ALTER DATABASE OPEN;
SQL> EXECUTE DBMS_LOGSTDBY.BUILD;
--歸檔當前主庫日誌,且查詢最新的歸檔日誌,這個資訊,要用於在權建的備庫上註冊及應用喲,很重要的
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
SQL> SELECT NAME FROM V$ARCHIVED_LOG
2> WHERE (SEQUENCE#=(SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG
3> WHERE DICTIONARY_BEGIN = 'YES' AND STANDBY_DEST= 'NO'));
--根據主庫,生成備庫的pfile
需要注意幾個引數,其他無異
instance_name--不同於主庫的sid
lock_name_space --同上
standby_archive_dest --這目錄,就是主庫rfs過來的歸檔儲存地喲
---startup mount pfile --mount備庫
--如備庫資料檔案及日誌檔案所在與主庫有所不同,執行如下指令碼
SQL> ALTER DATABASE RENAME FILE '/disk1/oracle/oradata/payroll/system01.dbf'
2> TO '/disk1/oracle/oradata/payroll/standby/system01.dbf';
SQL> ALTER DATABASE RENAME FILE '/disk1/oracle/oradata/payroll/undotbs01.dbf'
2> TO '/disk1/oracle/oradata/payroll/standby/undotbs01.dbf'
SQL> ALTER DATABASE RENAME FILE '/disk1/oracle/oradata/payroll/cwmlite01.dbf'
2> TO '/disk1/oracle/oradata/payroll/standby/cwmlite01.dbf'
.
SQL> ALTER DATABASE RENAME FILE '/disk1/oracle/oradata/payroll/redo01.log'
2> TO '/disk1/oracle/oradata/payroll/standby/redo01.log';
---為了防止有淘氣小孩,破壞備庫內容
SQL> ALTER DATABASE GUARD ALL;
SQL> ALTER DATABASE OPEN RESETLOGS;
--邏輯備庫的db_name要用dbnewid修改下,在未重啟備庫前,重新生成密碼檔案及pfile中的db_name
shutdown immeidate
startup mount pfilr
nid TARGET=SYS/password@PAYROLL3 DBNAME=PAYROLL3 --
orapwd --生成備庫新的密碼檔案
vi pfile --備庫的喲,改db_name與nid的資訊一致
--這下以上db_name修改好了,關閉備庫,啟動備庫到mount
shutdown immediate
sqlplus '/as sysdba'
create spfile from pfile='備庫pfile' ---發現原來例項在未到nomount也可以根據pfile生成spfile
--open resetlogs備庫
alter database open resetlogs;
---為備庫刪除已存在或新增新的臨時檔案
select * from v$tempfile;
如有,刪除
ALTER DATABASE TEMPFILE 'tempfilename' DROP;
新增臨時檔案
SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES WHERE
2> CONTENTS ='TEMPORARY';
TABLESPACE_NAME
--------------------------------
TEMP- Add a new temporary file, for example:
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE
2> '/disk1/oracle/oradata/payroll/standby/temp01.dbf'
3> SIZE 40M REUSE;
---註冊以上相關步在主庫,archive log current查詢到(已scp到備庫)相關歸檔檔案
SQL> ALTER DATABASE REGISTER LOGICAL LOGFILE
2> '/disk1/oracle/oradata/payroll/standby/arc0004.001';
--開啟備庫sql apply
ALTER DATABASE START LOGICAL STANDBY APPLY INITIAL;--注意用了initial,因為首次開啟,以後就可以不用這個選項了
可以採用如下
SQL> ALTER DATABASE STOP LOGICAL STANDBY APPLY;
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-626852/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle9204(9i)_linux_logical standby_switchover操作指南OracleLinux
- oracle9204(physical dg)配置_指南Oracle
- oracle9204(9i)_logical standby_ddl_relatedOracle
- oracle9204(9i)_dg(data guard)_重新命名主庫資料檔案_指南_轉摘官檔Oracle
- oracle9204(9i)_dg(data guard)__Tuning Logical Standby DatabasesOracleDatabase
- Envoy Proxy構建控制平面指南
- AvaloniaChat—從原始碼構建指南原始碼
- oracle9204(9i)_dg(data guard)_archive gap_query_apply_transmitOracleHiveAPPMIT
- GreatSQL 構建高效 HTAP 服務架構指南(MGR)SQL架構
- 使用Cloud DB構建APP 快速入門 - iOS篇CloudAPPiOS
- Webpack自動化構建實踐指南Web
- 新一代CMDB模型構建指南模型
- oracle 9i 建庫模板Oracle
- 構建現代Web應用的安全指南Web
- Spring Boot 參考指南(構建系統)Spring Boot
- oracle 9i 手動建庫Oracle
- DB2_建庫DB2
- 實時資料架構體系建設指南架構
- [譯]構建現代Web應用的安全指南Web
- Vue CLI 4與專案構建實戰指南Vue
- oracle 9i 後 maxdatafiles 與db_files的關係Oracle
- oracle 9i DBCA建庫報錯Oracle
- GraphQL初體驗,Node.js構建GraphQL API指南Node.jsAPI
- Laravel 原始碼閱讀指南 -- Database 查詢構建器Laravel原始碼Database
- 前端任務構建利器Gulp.js使用指南前端JS
- Docker映象構建:技術深度解析與實踐指南Docker
- Nuxt Kit 的使用指南:從載入到構建UX
- jive安裝指南(DB2版)DB2
- Maven專案多環境構建的最小配置方案指南Maven
- 構建高效的 Python Web 應用:最佳實踐指南PythonWeb
- 使用開源工具構建 DevOps 流水線的初學者指南開源工具dev
- 基於以太坊構建私有區塊鏈網路教程指南區塊鏈
- React Native 學習指南(一) - 構建第一個應用React Native
- Java微服務開發指南 -- 使用Spring Boot構建微服務Java微服務Spring Boot
- 使用Ollama部署本地LLM:構建AI REST API的簡易指南AIRESTAPI
- Oracle手工建庫指南Oracle
- Spring Boot 構建多租戶SaaS平臺核心技術指南Spring Boot
- Gradle 構建 android 應用常見問題解決指南GradleAndroid