使用rman本机复制新数据库

使用rman复制数据库

原数据库sid orcl  复制新的数据库sid为 nylg

1.创建复制备份数据库的参数文件

在原数据库创建pfile

create pfile from spfile;

然后复制pfile参数文件

[[email protected] dbs]$ pwd

/u01/app/oracle/product/11.2/dbs

[[email protected] dbs]$ cp initorcl.ora initnylg.ora

修改orcl数据库名改为nylg

vi initnylg.ora 修改如下:

:%s/orcl/nylg/g

在这里注意,修改参数文件后,在最后行添加两行转换参数,指定新数据文件存放路径

db_file_name_convert = (‘/u01/app/oracle/oradata/orcl‘,‘/u01/app/oracle/oradata/nylg‘)

log_file_name_convert = (‘/u01/app/oracle/oradata/orcl‘,‘/u01/app/oracle/oradata/nylg‘)

2.创建相对应的目录,启动复制数据库的辅助实例

mkdir -p $ORACLE_BASE/admin/nylg/{a,b,c,u}dump

mkdir -p /u01/app/oracle/oradata/nylg

orapwd file=$ORACLE_HOME/dbs/orapwnylg password=yuanlei force=y

[[email protected] ~]$ export ORACLE_SID=nylg

使用pfile启动辅助实例到nomount

startup nomount pfile=?/dbs/initnylg.ora

如下:

[[email protected] ~]$ export ORACLE_SID=nylg

[[email protected] ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 13 10:27:25 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup nomount pfile=?/dbs/initnylg.ora

ORACLE instance started.

Total System Global Area  413372416 bytes

Fixed Size    2213896 bytes

Variable Size  314574840 bytes

Database Buffers   92274688 bytes

Redo Buffers    4308992 bytes

3.在新的会话中(ORACLE_SID=orcl)对原数据库做rman全备

export ORACLE_SID=orcl

rman target /

run {

sql ‘alter system archive log current‘;

backup database format=‘/u01/rmanbak/%d_%s.dbf‘

plus archivelog format=‘/u01/rmanbak/%d_%s.arc‘;

sql ‘alter system archive log current‘;

}

4.配置复制库监听(就是本机的监听文件),服务名采用静态注册,启动监听,这步很重要

不要有错误

[[email protected] admin]$ vim listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/11.2)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = nylg)

(ORACLE_HOME = /u01/app/oracle/product/11.2)

(GLOBAL_DBNAME = NYLG)

)

)

ADR_BASE_LISTENER = /u01/app/oracle

[[email protected] admin]$ vim tnsnames.ora

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

NYLG =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.210)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = nylg)

)

)

lsnrctl start

5.用rman连接到主库实例和辅助实例,运行复制命令

[[email protected] dbs]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Wed Aug 13 11:01:56 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1382226447)

RMAN> connect auxiliary sys/[email protected]

connected to auxiliary database: NYLG (not mounted)

这里如果遇到

RMAN-04006: error from auxiliary database: ORA-01031: insufficient privileges

请检查你的监听配置和口令文件是否正确,一般就这两个原因(我做的时候是把监听sid大写小弄错)

然后继续

RMAN> duplicate target database to nylg;

其它配置没问题话的,这里等一会就完成了

Starting Duplicate Db at 2014/08/13 11:02:38

using target database control file instead of recovery catalog

.

.

.复制过程

.

.

contents of Memory Script:

{

Alter clone database open resetlogs;

}

executing Memory Script

database opened

Finished Duplicate Db at 2014/08/13 11:07:26

此时新的数据库已经处于open状态了!

[[email protected] ~]$ echo $ORACLE_SID

nylg

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 13 11:08:49 2014

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select status from v$instance;

STATUS

------------

OPEN

OK!

使用rman本机复制新数据库

时间: 2024-10-29 02:47:55

使用rman本机复制新数据库的相关文章

使用rman异机复制数据库

源端数据库:192.168.1.210 sid:orcl hostname:Nagiostest ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/11.2 目标数据库:192.168.1.211 sid:orcl hostname:OEL6 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 这里是相同实例名的复制,如果实例

通过RMAN 异机克隆数据库

使用RMAN进行复制时,RMAN会连接目标数据库和辅助实例,如果使用了catalog备份的还会连接恢复目录.RMAN连接了目标数据库才能够访问其控制文件中记录的备份的详细信息,连接辅助实例才能够在辅助实例上分配一个或多个通道进程,9i开始会自动创建通道: 要连接辅助实例就先要启动辅助实例,就需要一个pfile参数文件,由目标数据库creata pfile from spfile得来,由于没有控制文件,所以只能启动到nomount阶段,RMAN会生成到这个辅助实例的sysdba连接.连接了目标库和

rman数据库恢复;关键/非关键文件、影像副本、控制文件、还原点、非归档、增量、新数据库、灾难性回复

执行完全恢复:在 ARCHIVELOG 模式下 丢失了系统关键数据文件: 如果某个数据文件丢失或损坏,且该文件属于 SYSTEM 或 UNDO 表空间,请执行以下步骤: 1. 实例可能会也可能不会自动关闭. 2.如果未自动关闭,请使用 SHUTDOWN ABORT 关闭实例. 3. 装载数据库. 4. 还原并恢复缺失的数据文件. 5.打开数据库. 1.归档模式丢失非关键数据文件  完全恢复 第一种方法: shutdown abort; startup mount; alter database 

rman数据库恢复;关键/非重要文件、影像副本、控制文件、还原点、非归档、增量、新数据库、灾难性回复

运行全然恢复:在 ARCHIVELOG 模式下 丢失了系统重要数据文件: 假设某个数据文件丢失或损坏.且该文件属于 SYSTEM 或 UNDO 表空间,请运行下面步骤: 1. 实例可能会也可能不会自己主动关闭. 2.假设未自己主动关闭.请使用 SHUTDOWN ABORT 关闭实例. 3. 装载数据库. 4. 还原并恢复缺失的数据文件. 5.打开数据库. 1.归档模式丢失非重要数据文件  全然恢复 第一种方法: shutdown abort; startup mount; alter datab

Linux平台下RMAN异机恢复总结

下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准备工作里面,有些步骤不是必须的,可以跳过或忽略的.这个取决于你的实际环境和你对RMAN异机恢复的熟悉程度. 准备工作 1:了解一下目标服务器与源服务器的操作系统版本信息 需要对比一下目标服务器与源服务器的操作系统版本是否一致,具体来说,操作系统版本信息.内核信息(例如Oracle Linux是否使用

Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1] http://blog.csdn.net/tianlesoftware/archive/2010/12/09/6065903.aspx   RMAN 备份异机恢复 并创建新DBID http://blog.csdn.net/tianle

window Oracle 10g RMAN异机异目录恢复

1.实验环境简介                                  1.1  SOA原数据库                                                                                                                                                           数据库名        COMSOA 实例名          COMSOA DB

rman异机恢复

rman异机恢复 注意事项: 1.源数据库与目标数据库的目录结构相同 2.目标数据库只需要安装ORACLE软件(但是参数文件中指定的目录要创建) 3.要将源数据库的数据文件,参数文件,控制文件,密码文件,归档日志统统备份 1.源数据库备份 参数文件与控制文件自动备份 CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/home/oracle/r

Python之路【第八篇】:堡垒机实例以及数据库操作

Python之路[第八篇]:堡垒机实例以及数据库操作 堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: + import paramiko transport = paramiko.Transport(('hostname', 22)) transport.connect(username='wupeiqi', password='123') ssh