SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 E:\ora10g\oradata\jssweb
最早的联机日志序列 148
下一个存档日志序列 150
当前日志序列 150
2、将primary 数据库置为FORCE LOGGING 模式
SQL> alter database force logging;
数据库已更改。
SQL> alter database create standby controlfile as 'd:\backup\jsspdg01.ctl';
数据库已更改。
SQL> create pfile from spfile;
文件已创建。
SQL> host copy e:\ora10g\product\10.2.0\db_1\database\initjssweb.ora d:\backup\initjsspdg.ora
已复制1 个文件。
修改客户端初始化参数文件,增加下列内容:
DB_UNIQUE_NAME=jssweb
LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg)'
LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jssweb\
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jssweb'
LOG_ARCHIVE_DEST_2='SERVICE=jsspdg LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jsspdg'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
#--------配置standby 角色的参数用于角色转换
FAL_SERVER=jsspdg
FAL_CLIENT=jssweb
DB_FILE_NAME_CONVERT='oradata\jsspdg','oradata\jssweb'
LOG_FILE_NAME_CONVERT='oradata\jsspdg','oradata\jssweb'
STANDBY_FILE_MANAGEMENT=AUTO
SQL> shutdown immediate
... ...
SQL> create spfile from pfile='initjssweb.ora';
文件已创建。
注意需要复制所有数据文件,备份的控制文件及客户端初始化参数文件
E:\ora10g>lsnrctl stop
E:\ora10g>lsnrctl start
E:\ora10g>tnsping jssweb
... ...
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jss)(PORT = 1521))
(CONNECT_
DATA = (SERVER = DEDICATED) (SERVICE_NAME = jssweb)))
OK (30 毫秒)
E:\ora10g>tnsping jsspdg
... ...
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jss)(PORT = 1521))
(CONNECT_
DATA = (SERVER = DEDICATED) (SERVICE_NAME = jsspdg)))
OK (10 毫秒)
1、通过ORADIM 创建新的OracleService
2、创建密码文件,注意保持sys 密码与primary 数据库一致。
E:\ora10g>orapwd file=e:\ora10g\product\10.2.0\db_1\database\PWDjsspdg.ora password=verysafe entries=30
3、创建目录
E:\ora10g\product\10.2.0\admin\jsspdg>mkdir adump
4、复制文件,不做过多描述
5、修改初始化参数文件
增加下列参数:
db_unique_name=jsspdg
LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg)'
DB_FILE_NAME_CONVERT='oradata\jssweb','oradata\jsspdg'
LOG_FILE_NAME_CONVERT='oradata\jssweb','oradata\jsspdg'
LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc
LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jsspdg\
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jsspdg'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
#---下列参数用于角色切换
LOG_ARCHIVE_DEST_2='SERVICE=jssweb LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jssweb'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=jssweb
FAL_CLIENT=jsspdg
STANDBY_FILE_MANAGEMENT=AUTO
SQL> create spfile from pfile='D:\backup\initjsspdg.ora';
文件已创建。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1289484 bytes
Variable Size 62915316 bytes
Database Buffers 96468992 bytes
Redo Buffers 7098368 bytes
数据库装载完毕。
SQL> alter database recover managed standby database disconnect from session;
数据库已更改。
SQL> show parameter instance_name;
NAME TYPE VALUE
--------------------- ----------- ------------------------------
instance_name string jssweb
SQL> alter system switch logfile;
系统已更改。
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
51
SQL> show parameter instance_name;
NAME TYPE VALUE
--------------------- ----------- ------------------------------
instance_name string jsspdg
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
51
通过下列语句暂停redo 应用。
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
数据库已更改。
哈哈,成功鸟!现在你是不是想知道怎么把standby 变成primary 呢?接着往下看~~~~~~~~~