您的位置:首页 > 数据库

RMAN创建辅助实例(副本数据库)

2012-07-28 15:40 330 查看
辅助实例是创建副本数据库的重要一步,一般而言会有下列几个步骤

一、创建辅助实例的密码文件

orapwd file=$\database\PWDjssdup.ora password=oracle entries=30


二、连接实例

注意,windows环境需要先通过ORADIM命令创建一个新的OracleService, Linux环境可以跳过这一步,其它操作还是要继续。

oradim -new -sid jssdup


然后配置监听,修改tnsname.ora。总之能够连接上辅助实例就可以了。

三、创建辅助实例的初始化参数文件

1. 手工创建相应目录



2. 创建本地初始化参数文件并修改参数

在源数据库生成pfile

SQL> create pfile='D:\learnoracle\pfile.ora' from spfile;


用记事打开并更改相应的参数。并添加以下两参数:

db_file_name_convert='oradata\jssweb','oradata\jssdup'
log_file_name_convert='oradata\jssweb','oradata\jssdup'

3. 在辅助数据库中创建初始化参数文件-在primary数据库生成的pfile基础上修改

SQL> create spfile from pfile='D:\learnoracle\pfile.ora';


4. 启动辅助实例

接着上一步创建完spfile之后:

SQL> startup force nomount;


5. 确保源数据库处于mount或open的状态

6. 确认拥有必备的备份

7. 分配辅助通道

首先运行rman连接到目标数据库和辅助实例

set oracle_sid=orcl

rman target/ auxiliary sys/oracle@jssdup


这里可能会出现如下的错误信息:

Recovery Manager: Release 11.1.0.6.0 - Production on Wed Nov 7 01:45:35 2007
Copyright (c) 1982, 2007, Oracle. All rights reserved.

connected to target database: ORA11G (DBID=4026820313)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections


造成这个问题的原因是,实例虽然启动,但是没有注册到监听。实例是通过PMON进程注册到监听上的,而PMON进程需要在MOUNT状态下才会启动。因此造成了上面的错误。

Oracle给出了两种解决方案,一种方法是对AUXILIARY数据库直接使用/,对TARGET数据库通过网络访问。

a. rman target sys/oracle@orcl auxiliary /

b. 为AUXILIARY数据库设置静态监听

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = jssdup)
(ORACLE_HOME = /data/oracle/product/11.1)
)
)


启动正常后分配通道。如下例:

RMAN>RUN

{

ALLOCATE AUXILIARY CHANNEL aux1 DEVICE TYPE DISK;

ALLOCATE AUXILIARY CHANNEL aux2 DEVICE TYPE DISK;

ALLOCATE AUXILIARY CHANNEL aux3 DEVICE TYPE DISK;

DUPLICATE TARGET DATABASE TO jssdup;

release channel aux1;

release channel aux2;

release channel aux3;

}


执行到这一步辅助实例就已创建完成了:)

删除辅助数据库

-只须通过dbca即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: