說明;Oracle9i數據庫的Data Guard 特性確保對數據進行完整的保護,是Oracle 9i的一個關鍵特性之一.Data Guard可以創建物理的Standby數據庫,也可以創建邏輯的Standby數據庫,還可以混合使用,靈活性比較強.這個文檔是Fenng練習時候記下來的東西,談不上是什麼心得.*這不過是一份安裝過程中的筆記而已* 如果對這個有更高的期望,或者想得到關於Oracle數據庫的data guard 和Standby的更多信息,請參考官方的文檔.
系統環境:Windows 2000 專業版 SP3 512M 內存
現有的數據庫實例(Primary)名字:Demo
預創建的Standby 數據庫實例名字:Pstandby
數據庫版本信息:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
PL/SQL Release 9.2.0.1.0 - Production
CORE 9.2.0.1.0 Production
TNS for 32-bit Windows: Version 9.2.0.1.0 - Production
NLSRTL Version 9.2.0.1.0 - Production
准備工作
首先確認Primary數據庫是否在歸檔模式下
SQL> show user
USER is "SYS"
SQL>
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination d:\oracle\oradata\demo\archive
Oldest online log sequence 42
Next log sequence to archive 44
Current log sequence 44
如果不在歸檔模式下,調整數據庫。
首先提交命令修改SPfile:
SQL>alter system set LOG_ARCHIVE_START=TRUE scope=spfile;
然後關閉數據庫實例
SQL>SHUTDOWN
備份數據庫
SQL>STARTUP MOUNT
SQL>ALTER DATABASE ARCHIVELOG;
SQL>ALTER DATABASE OPEN;
SQL>SHUTDOWN IMMEDIATE
備份
1. Primary Database 需要做的准備工作:
1.1 激活 Forced Logging
SQL> ALTER DATABASE FORCE LOGGING;
1.2 設置本地歸檔目標
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=D:\oracle\oradata\DEMO\Archive' SCOPE=BOTH;
此操作直接生效
2.創建物理的Standby數據庫
2.1 標記出Primary數據庫的數據文件
SQL> select name from v$datafile;
NAME
-----------------------------------------------------
D:\ORACLE\ORADATA\DEMO\SYSTEM01.DBF
D:\ORACLE\ORADATA\DEMO\UNDOTBS01.DBF
D:\ORACLE\ORADATA\DEMO\CWMLITE01.DBF
D:\ORACLE\ORADATA\DEMO\DRSYS01.DBF
D:\ORACLE\ORADATA\DEMO\EXAMPLE01.DBF
D:\ORACLE\ORADATA\DEMO\INDX01.DBF
D:\ORACLE\ORADATA\DEMO\ODM01.DBF
D:\ORACLE\ORADATA\DEMO\TOOLS01.DBF
D:\ORACLE\ORADATA\DEMO\USERS01.DBF
D:\ORACLE\ORADATA\DEMO\XDB01.DBF
D:\ORACLE\ORADATA\DEMO\OEM_REPOSITORY.DBF
11 rows selected.
SQL>
2.2 關閉Instance 拷貝數據文件到既定目的地
SQL> SHUTDOWN IMMEDIATE;
2.3 為Standby 數據庫創建控制文件
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE
AS 'C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL';
要注意這個控制文件的名字不要和Primary的控制文件名字重復
2.4 為Standby數據庫准備初始化參數文件名字:
SQL> CREATE PFILE='C:\DataGuard\Pstandby\DEMO\initpstandby' FROM SPFILE;
2.5 設定初始化Physical Standby Database參數
*.aq_tm_processes=1
*.background_dump_dest='D:\oracle\admin\DEMO\bdump'
*.compatible='9.2.0.0.0'
*.control_files='C:\DataGuard\Pstandby\DEMO\DEMOSTANDBY.CTL'
*.core_dump_dest='D:\oracle\admin\DEMO\cdump'
*.db_block_size=8192
*.db_cache_size=19922944
*.db_domain=''
*.db_file_multiblock_read_count=32
*.db_name='DEMO'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DEMOXDB)'
*.fast_start_mttr_target=300
*.hash_area_size=1048576
*.hash_join_enabled=TRUE
*.instance_name='pstandby'
*.java_pool_size=20971520
*.job_queue_processes=10
*.large_pool_size=7340032
*.log_archive_dest_1='location=d:\oracle\oradata\demo\archive'