创建DATAGUARD的主要步骤
2016-03-14 16:46
197 查看
準備工作:
分別在主庫和備庫都安裝上oracle軟件,在主庫上裝數據庫,備庫上不裝。
配置DataGuard
1.在主備库中分別用$ netmgr命令创建监听和网络服务。
用tnsping 相互ping,看能否ping通。
2. 配置主庫為歸檔模式:
查看 archive log list;
如果不是啟動到mount狀態,修改為歸檔模式
alter database archivelog;
打開數據庫:alter database open;
3.更改主庫為強制歸檔模式
可通過 select force_logging from v$database;查看
alter database force logging;
取消 alterdatbase no force logging;
4.在主庫中創建pfile參數文件
create pfile from spfile;
5.編輯pfile文件,添加如下參數:
*.log_archive_dest_1='LOCATION=/data/myora/arch'
*.log_archive_dest_2='service=standby lgwr async noaffirm'
*.log_archive_dest_state_2=ENABLE
*.log_archive_format='%t_%s_%r.dbf'
6.上一步中pfile的內容改變了,相應地要改變spfile的內容。方式新建一個spfile。
startup pfile='/u01/product/oracle/dbs/initmyora.ora'
create spfile from pfile;
7.在主庫上創建備庫所用的控制文件
SQL> startup mount
SQL> alter database create standby controlfile as '/data/myora/standby.ctl';
SQL> shutdown immediate
8.備份主庫,複製(數據文件,剛建立standby控制文件,密碼文件,參數文件)
9.修改備庫pfile
*.log_archive_dest_1='LOCATION=/data/myora/arch'
*.log_archive_dest_state_2=ENABLE
*.log_archive_format='%t_%s_%r.dbf'
*.standby_file_management=auto
并將standby控制文件,改成備庫的控制文件
10.在備庫上創建spfile
SQL> startup pfile='/u01/product/oracle/dbs/initmyora.ora'
SQL> create spfile from pfile;
11. 把主庫也起來。
12.配置standby redolog
(最佳性能模式可以忽略,如果要轉為其他兩種模式則要建立)
在主庫查看日誌組的數量和每個日誌文件的大小
SQL> SELECT GROUP#, BYTES FROM V$LOG;
在被庫中創建日誌組和redo log文件,PS:單實例日誌組數盡量比主庫多一個,大小一樣。語法如下:
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 4 ('/data/myora/standby_redo04.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5 ('/data/myora/standby_redo05.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6 ('/data/myora/standby_redo06.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7 ('/data/myora/standby_redo07.log') SIZE 50M;
注:standby redolog的組數參考公式:(online redolog組數 + 1) * 數據庫線程數;單擊線程數為1,RAC一般為2。
standby redolog的組成員數和大小也盡量和online redolog一樣。
13. 在備庫上執行備庫恢復模式
SQL> alter database recover managed standby database disconnect from session;
14.結束這個恢復進程:
SQL> alter database recover managed standby database cancel;
15.將被庫啟動到open read only的狀態
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open read only;
16.看主庫和備庫的日誌同步情況,確保已經同步
SQL> archive log list;
檢驗:
檢驗方法:在主庫中創建一張表,看在備庫是否可以查看。
1.) 在主庫中創建一個表
SQL> create table test_table(id number);
看備庫上是否可以查到
SQL> desc test_table;
ERROR: ORA-04043: 對象 test_table 不存在
2.)備庫上接收數據,并自動同步:
SQL> alter database recover managed standby database using current logfile disconnect from session;
PS: disconnect from session選項是的Redo應用運行在後台會話中。
using current logfile語句,使得Redo一旦被接收就能投入使用。
3.) 再次验证数据是否同步。
SQL>insert into test_table values(1);
SQL> commit
如果再備庫上能查到,表示數據實現了同步,說明dataguard配置成功了。
創建主備庫可以相互切換的DG需要的參數:
DB_NAME=
DB_UNIQUE_NAME=db1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(db1,db2)'
LOG_ARCHIVE_DEST_1='LOCATION=/PATHT1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db1'
LOG_ARCHIVE_DEST_2='SERVICE=sty監聽名 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES) DB_UNIQUE_NAME=db2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXECLUSIVE
備用較色初始化參數
FAL_SERVER=db2
DB_FILE_NAME_CONVERT='db2' ,'db1' ----如果路徑相同就不用轉換
LOG_FILE_NAME_CONVERT='db2歸檔路徑','db1歸檔路徑'.........
STANDBY_FILE_MANAGEMENT=AUTO
分別在主庫和備庫都安裝上oracle軟件,在主庫上裝數據庫,備庫上不裝。
配置DataGuard
1.在主備库中分別用$ netmgr命令创建监听和网络服务。
用tnsping 相互ping,看能否ping通。
2. 配置主庫為歸檔模式:
查看 archive log list;
如果不是啟動到mount狀態,修改為歸檔模式
alter database archivelog;
打開數據庫:alter database open;
3.更改主庫為強制歸檔模式
可通過 select force_logging from v$database;查看
alter database force logging;
取消 alterdatbase no force logging;
4.在主庫中創建pfile參數文件
create pfile from spfile;
5.編輯pfile文件,添加如下參數:
*.log_archive_dest_1='LOCATION=/data/myora/arch'
*.log_archive_dest_2='service=standby lgwr async noaffirm'
*.log_archive_dest_state_2=ENABLE
*.log_archive_format='%t_%s_%r.dbf'
6.上一步中pfile的內容改變了,相應地要改變spfile的內容。方式新建一個spfile。
startup pfile='/u01/product/oracle/dbs/initmyora.ora'
create spfile from pfile;
7.在主庫上創建備庫所用的控制文件
SQL> startup mount
SQL> alter database create standby controlfile as '/data/myora/standby.ctl';
SQL> shutdown immediate
8.備份主庫,複製(數據文件,剛建立standby控制文件,密碼文件,參數文件)
9.修改備庫pfile
*.log_archive_dest_1='LOCATION=/data/myora/arch'
*.log_archive_dest_state_2=ENABLE
*.log_archive_format='%t_%s_%r.dbf'
*.standby_file_management=auto
并將standby控制文件,改成備庫的控制文件
10.在備庫上創建spfile
SQL> startup pfile='/u01/product/oracle/dbs/initmyora.ora'
SQL> create spfile from pfile;
11. 把主庫也起來。
12.配置standby redolog
(最佳性能模式可以忽略,如果要轉為其他兩種模式則要建立)
在主庫查看日誌組的數量和每個日誌文件的大小
SQL> SELECT GROUP#, BYTES FROM V$LOG;
在被庫中創建日誌組和redo log文件,PS:單實例日誌組數盡量比主庫多一個,大小一樣。語法如下:
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 4 ('/data/myora/standby_redo04.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5 ('/data/myora/standby_redo05.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6 ('/data/myora/standby_redo06.log') SIZE 50M;
SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7 ('/data/myora/standby_redo07.log') SIZE 50M;
注:standby redolog的組數參考公式:(online redolog組數 + 1) * 數據庫線程數;單擊線程數為1,RAC一般為2。
standby redolog的組成員數和大小也盡量和online redolog一樣。
13. 在備庫上執行備庫恢復模式
SQL> alter database recover managed standby database disconnect from session;
14.結束這個恢復進程:
SQL> alter database recover managed standby database cancel;
15.將被庫啟動到open read only的狀態
SQL> shutdown immediate
SQL> startup mount
SQL> alter database open read only;
16.看主庫和備庫的日誌同步情況,確保已經同步
SQL> archive log list;
檢驗:
檢驗方法:在主庫中創建一張表,看在備庫是否可以查看。
1.) 在主庫中創建一個表
SQL> create table test_table(id number);
看備庫上是否可以查到
SQL> desc test_table;
ERROR: ORA-04043: 對象 test_table 不存在
2.)備庫上接收數據,并自動同步:
SQL> alter database recover managed standby database using current logfile disconnect from session;
PS: disconnect from session選項是的Redo應用運行在後台會話中。
using current logfile語句,使得Redo一旦被接收就能投入使用。
3.) 再次验证数据是否同步。
SQL>insert into test_table values(1);
SQL> commit
如果再備庫上能查到,表示數據實現了同步,說明dataguard配置成功了。
創建主備庫可以相互切換的DG需要的參數:
DB_NAME=
DB_UNIQUE_NAME=db1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(db1,db2)'
LOG_ARCHIVE_DEST_1='LOCATION=/PATHT1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db1'
LOG_ARCHIVE_DEST_2='SERVICE=sty監聽名 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES) DB_UNIQUE_NAME=db2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXECLUSIVE
備用較色初始化參數
FAL_SERVER=db2
DB_FILE_NAME_CONVERT='db2' ,'db1' ----如果路徑相同就不用轉換
LOG_FILE_NAME_CONVERT='db2歸檔路徑','db1歸檔路徑'.........
STANDBY_FILE_MANAGEMENT=AUTO
相关文章推荐
- HDU 2932 Extraordinarily Tired Students
- IE浏览器利用ActiveXObject对象对文件系统进行操作
- Java Web 学习路线
- javamail接收邮件(较全代码)
- XCTest进行单元测试
- 自己添加的android模块不编译的问题
- 使用java如图的打印正三角形倒三角形
- task_struct
- 如何为你的Android应用缩放图片
- Redis持久化(一)
- Git 常用命令大全
- xcode7.1 真机调试
- 浅析Java语言interface机制
- Freemarker标签使用
- dispatch_async 和dispatch_sync GCD
- CentOS7.1 KVM虚拟化之虚拟机快照(5)
- android触摸事件传递
- AJAX实现跨域的三种方法
- 对数据库表中的某一字段去重分组排序
- Spring源码入门——AnnotationBeanNameGenerator解析