没有连接到target的复制

将orcl数据库的备份复制为orcl1

一、创建orcl的备份:

run{
  backup database plus archivelog;
}

二、复制数据库为orcl1

1. 为orcl1创建参数文件:

cd $ORACLE_HOME/dbs

vi initorcl1.ora写入如下内容:

DB_NAME=orcl1
DB_BLOCK_SIZE=8192

2. 启动实例:
export ORACLE_SID=orcl1

sqlplus / as sysdba

startup nomount

3. 将归档放到备份所在的位置:

cp /u01/app/oracle/archivelog/* /u01/app/oracle/backup/rmanbk/

4. 开始复制:

rman auxiliary /

run
{
  set newname for database to '/u01/app/oracle/oradata/orcl1/%b';
  duplicate target database to orcl1 backup location '/u01/app/oracle/backup/rmanbk/'
  logfile
  group 1 ('/u01/app/oracle/oradata/orcl1/redo01.log') size 50M reuse,
  group 2 ('/u01/app/oracle/oradata/orcl1/redo02.log') size 50M reuse,
  group 3 ('/u01/app/oracle/oradata/orcl1/redo03a.log') size 50M reuse;
}

5. 检查状态:

SQL> select status from v$instance;
SQL> select name from v$database;

Active Database Duplicate

利用Rman的duplicate命令,可以很方便的将原库复制出一个新库,但是在Oracle11g之前,执行duplicate要求首先对原库用rman进行备份,然后将备份复制到复制库,同时连接源库(作为target)和复制库(作为auxiliary),执行duplicate命令进行复制,在Oracle11g中推出的active database duplicate特性则省略了进行rman备份的步骤,能够直接从原库复制出新库,对于一些大型的数据库来说,这个特性可以节省很多操作时间

以下是在同一个主机上执行duplicate:

原库:orcl(归档模式)
新库:nylg

一、手工创建nylg实例:

首先创建dump路径,初始化参数文件,password文件,网络连接:

export ORACLE_SID=orcl
sqlplus / as sysdba
create pfile from spfile;
cp $ORACLE_HOME/dbs/initorcl.ora $ORACLE_HOME/dbs/initnylg.ora

vi initnylg.ora修改参数:

%s/orcl/nylg/g
log_archive_dest_1='location=/u01/app/oracle/archivelog1'

mkdir -p /u01/app/oracle/archivelog1

添加入以下内容:

DB_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/orcl/','/u01/app/oracle/oradata/nylg/')
LOG_FILE_NAME_CONVERT=('/u01/app/oracle/oradata/orcl11g/','/u01/app/oracle/oradata/nylg/')

创建nylg的dump文件目录:
mkdir -p $ORACLE_BASE/admin/nylg/adump

为数据文件和日志文件创建目录:
mkdir -p /u01/app/oracle/oradata/nylg

为orcl1创建口令文件:
orapwd file=$ORACLE_HOME/dbs/orapwnylg password=a

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

创建连接到orcl和nylg实例的网络连接符:

ORCL =
(DESCRIPTION =
  (ADDRESS =
    (PROTOCOL = TCP)
    (HOST = orcl)
    (PORT = 1521)
  )
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl)
  )
)

NYLG =
(DESCRIPTION =
  (ADDRESS =
    (PROTOCOL = TCP)
    (HOST = nylg)
    (PORT = 1521)
  )
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = nylg)
  )
)

对nylg进行静态注册:
su - grid

cd $ORACLE_HOME/network/admin
vi listener.ora加入以下内容:

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = nylg)
    (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
    (GLOBAL_DBNAME = nylg)
  )
)

二、将nylg启动到nomount状态

export ORACLE_SID=nylg
sqlplus / as sysdba
create spfile from pfile;
startup nomount

三、启动rman,同时连接原库和新库

rman target sys/a@orcl auxiliary sys/a@nylg

四、执行duplicate

RMAN> duplicate target database to nylg from active database;

五、检查新库状态

export ORACLE_SID=nylg
sqlplus / as sysdba
select instance_name,status from v$instance;

OCP读书笔记(20) - 复制数据库的更多相关文章

  1. OCP读书笔记(9) - 诊断数据库

    数据库恢复顾问 Data Recovery Advisor的命令行选项 1. 启动 RMAN 进程并连接到目标$ rman target=/ 2. 假设发生了某个错误,希望找出原因,使用 list f ...

  2. OCP读书笔记(14) - 管理数据库性能

    搜集统计信息 1. dbms_stats gather_schema_stats 1)option:有四个选项: a.gather empty:只分析目前还没有搜集过统计信息的表 SQL> co ...

  3. OCP读书笔记(7) - 使用RMAN执行恢复

    7.Using RMAN to Perform Recovery 使用RMAN进行完全恢复system表空间文件丢失的恢复 模拟损坏: SQL> conn /as sysdba; SQL> ...

  4. 存储器的保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记20

    存储器的保护(三) 修改本章代码清单,使之可以检测1MB以上的内存空间(从地址0x0010_0000开始,不考虑高速缓存的影响).要求:对内存的读写按双字的长度进行,并在检测的同时显示已检测的内存数量 ...

  5. OCP读书笔记(19) - 数据库空间管理

    传输表空间:将linux下的数据库中的test表空间传输到windows平台下的数据库 在传输表空间前,先确定一下源库与目标数据库字符集一致: select * from nls_database_p ...

  6. OCP读书笔记(12) - 执行闪回数据库

    闪回数据库使用的是闪回日志,闪回日志存在于闪回目录(也就是快速闪回区中)闪回日志:就是数据块修改之前的镜像,简称前像 1.查看闪回目录的位置:show parameter recovery 如果闪回目 ...

  7. OCP读书笔记(16) - 管理资源

    使用者组 创建资源用户组OLTP_GRP,将用户HR,OE加入此组: BEGIN dbms_resource_manager.clear_pending_area(); dbms_resource_m ...

  8. OCP读书笔记(15) - 管理SQL性能调优

    SQL Tuning Advisor(STA): 使用oracle提供的程序包进行sql优化 SQL> conn scott/tiger SQL), name )); SQL> inser ...

  9. OCP读书笔记(10) - 使用闪回技术I

    使用闪回技术查询数据 闪回查询:就是查询表在过去某个时间点的数据,所用到的技术就是undo数据 SQL> conn scott/tiger 创建测试表 SQL> create table ...

随机推荐

  1. ProgressDialog使用汇总

    ProgressDialog使用  ProgressDialog 从继承AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口. ProgressDi ...

  2. VMware vSphere服务器虚拟化实验六 vCenter Server 添加储存

                                                                          VMware vSphere服务器虚拟化实验六 vCente ...

  3. [置顶] cocos2d-x 3.0游戏开发xcode5帅印博客教学 004.[HoldTail]主角的上下飞行跟移动

    cocos2d-x 3.0游戏开发xcode5帅印博客教学 004.[HoldTail]主角的上下飞行跟移动 写给大家的前言,在学习cocos2d-x的时候自己走了很多的弯路,也遇到了很多很多问题,不 ...

  4. 积累的VC编程小技巧之文件操作

    1.删除文件夹 // 删除文件夹及其所有内容void CBaseDoc::RemoveFolder(const CString &strPathName){    CString path = ...

  5. js检测是否手机浏览的函数

    原文:js检测是否手机浏览的函数 查看一个web应用的时候查看源代码无意发现的,记录一下,万能什么时候能用得着呢! function isMobile() { var mobile = navigat ...

  6. 一场刺激的游戏——很文艺的山东省第四届ACM赛总结(菜鸟版)

               人生就像一个个节点,节点中或许有成功,失败,满足,遗憾,但是只要它是不可复制的,在日后,便是美好.                                         ...

  7. SPOJ375(树链剖分)

    题目:Query on a tree 题意:给定一棵树,告诉了每条边的权值,然后给出两种操作: (1)把第i条边的权值改为val (2)询问a,b路径上权值最大的边 分析:本题与HDU3966差不多, ...

  8. Swift - 类初始化和反初始化方法(init与deinit)

    1,init():类的初始化方法(构造方法) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

  9. C#日期函数使用大全

    1 DateTime dt = DateTime.Now; 2 3 dt.ToString();//2005-11-5 13:21:25 4 5 dt.ToFileTime().ToString(); ...

  10. linux route命令的使用详解

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...