由于自己机器配置很低,内存2G,硬盘250G 创建了两个XP系统虚拟机安装了ORACLE 10G 测试DATAGURAD
主库 主机名 TEST1 IP 192.168.128.11 ORACLE_SID=ORCL DB_UNIQUE_NAME=primary
备库 主机名 TEST1 IP 192.168.128.12 ORACLE_SID=ORCL DB_UNIQUE_NAME=standby
C:\Documents and Settings\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 20 16:27:05 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> show user
USER 为 "SYS"
SQL> alter user scott account unlock;
用户已更改。
SQL> alter user scott identified by cat;
用户已更改。
SQL> create table seward (id varchar2(50));
表已创建。
SQL> insert into seward values('seward');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from seward;
ID
--------------------------------------------------
seward
SQL> conn /as sysdba
已连接。
设置主数据库为force logging模式
SQL> alter database force logging;
数据库已更改。
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
当前日志序列 2
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> select group#,member from v$logfile;
GROUP# MEMBER
---------- --------------------------------------------------
3 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
2 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
添加备用联机日志文件
SQL> alter database add standby logfile group 4('C:\ORACLE\PRODUCT\10.2.0\ORADAT
A\ORCL\REDO04.LOG') size 50M;
数据库已更改。
SQL> alter database add standby logfile group 5('C:\ORACLE\PRODUCT\10.2.0\ORADAT
A\ORCL\REDO05.LOG') size 50M;
数据库已更改。
SQL> alter database add standby logfile group 6('C:\ORACLE\PRODUCT\10.2.0\ORADAT
A\ORCL\REDO06.LOG') size 50M;
数据库已更改。
SQL> alter database add standby logfile group 7('C:\ORACLE\PRODUCT\10.2.0\ORADAT
A\ORCL\REDO07.LOG') size 50M;
数据库已更改。
创建主库初始化参数文件给备库
SQL> create pfile='c:\initorcl.ora' from spfile;
文件已创建。
创建主库控制文件给备库用
SQL> alter database create standby controlfile as 'C:\control01.ctl'
数据库已更改。
C:\Documents and Settings\Administrator>orapwd file=c:/PWDorcl.ora password=oracle entries=5;
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
在主库pfile 文件 initORCL.ORA 中添加
*.log_archive_format='%T%S%r.ARC'
*.DB_UNIQUE_NAME='primary'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='location=C:/oracle/product/10.2.0/oradata/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary'
*.log_archive_dest_2='SERVICE=standby arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby'
*.STANDBY_FILE_MANAGEMENT=AUTO
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='standby'
*.FAL_CLIENT='primary'
SQL> startup pfile='c:\initORCL.ora';
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
数据库已经打开。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/product/10.2.0/oradata/arch
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2
SQL> create spfile from pfile;
文件已创建。
在主库创建监听和配置TNSNAMS.ORA
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.11)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
primary =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
standby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
C:\Documents and Settings\Administrator>lsnrctl start
C:\Documents and Settings\Administrator>tnsping standby
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 20-8月 -
2013 18:59:07
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的参数文件:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.128.12)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (40 毫秒)
拷贝数据文件,参数文件,控制文件,密码文件到备库上 -
initorcl.ora参数文件,PWDorcl.ora密码文件考到$ORACLE_HOME/database下的, -
controlbak.ctl 考到$ORACLE_base/oradata/orcl/下,并分别重命名为control01.ctl,control02.ctl,control03.ctl -
数据文件考到$ORACLE_base/oradata/orcl/下 -
用Rman拷贝,不用停机-
$ rman target /-
RMAN> backup full format 'D:/FULL_%d_%T_%s.bak' database include current controlfile for standby;-
RMAN> sql 'alter system archive log current';-
RMAN> Backup ArchiveLog all format='D:/arch_%d_%T_%s.bak'; -
备份完后将备份文件拷到standby上同样的目录,强调:同样的目录,在standby进行rman 恢复即可-
以下为备库操作
C:\Documents and Settings\Administrator>oradim -new -sid orcl -startmode m
实例已创建。
C:\Documents and Settings\Administrator>oradim -edit -sid orcl -startmode a
C:\Documents and Settings\Administrator>cd c:\oracle\product\10.2.0
C:\oracle\product\10.2.0>mkdir oradata\orcl
C:\oracle\product\10.2.0>mkdir admin\orcl\adump
C:\oracle\product\10.2.0>mkdir admin\orcl\bdump
C:\oracle\product\10.2.0>mkdir admin\orcl\cdump
C:\oracle\product\10.2.0>mkdir admin\orcl\dpdump
C:\oracle\product\10.2.0>mkdir admin\orcl\pfile
C:\oracle\product\10.2.0>mkdir admin\orcl\udump
C:\oracle\product\10.2.0>mkdir flash_recovery_area\ORCL
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> col member format a50
SQL> select group#,member from v$logfile order by group#;
GROUP# MEMBER
---------- --------------------------------------------------
1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
2 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
3 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
4 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04.LOG
5 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO05.LOG
6 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO06.LOG
7 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO07.LOG
已选择7行。
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.12)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
primary =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
standby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.12)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
*.log_archive_format='%T%S%r.ARC'
*.DB_UNIQUE_NAME='standby'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='location=C:/oracle/product/10.2.0/oradata/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'
*.log_archive_dest_2='SERVICE=primary arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary'
*.STANDBY_FILE_MANAGEMENT=AUTO
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='primary'
*.FAL_CLIENT='standby'
SQL> startup mount pfile='C:\oracle\product\10.2.0\db_1\database\initORCL.ora';
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> create spfile from pfile='C:\oracle\product\10.2.0\db_1\database\initORCL.
ora';
文件已创建。
SQL>shutdown immediate
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 62915940 bytes
Database Buffers 100663296 bytes
Redo Buffers 2945024 bytes
SQL> alter database mount standby database;
数据库已更改。
SQL> alter database recover managed standby database disconnect from session;
数据库已更改。
SQL> alter database recover managed standby database cancel;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/product/10.2.0/oradata/arch
最早的联机日志序列 4
下一个存档日志序列 6
当前日志序列 6
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/product/10.2.0/oradata/arch
最早的联机日志序列 5
下一个存档日志序列 0
当前日志序列 16
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
15
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28894640/viewspace-769070/
,如需转载,请注明出处,否则将追究法律责任。