OCP读书笔记(20) - 复制数据库
没有连接到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) - 复制数据库的更多相关文章
- OCP读书笔记(9) - 诊断数据库
数据库恢复顾问 Data Recovery Advisor的命令行选项 1. 启动 RMAN 进程并连接到目标$ rman target=/ 2. 假设发生了某个错误,希望找出原因,使用 list f ...
- OCP读书笔记(14) - 管理数据库性能
搜集统计信息 1. dbms_stats gather_schema_stats 1)option:有四个选项: a.gather empty:只分析目前还没有搜集过统计信息的表 SQL> co ...
- OCP读书笔记(7) - 使用RMAN执行恢复
7.Using RMAN to Perform Recovery 使用RMAN进行完全恢复system表空间文件丢失的恢复 模拟损坏: SQL> conn /as sysdba; SQL> ...
- 存储器的保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记20
存储器的保护(三) 修改本章代码清单,使之可以检测1MB以上的内存空间(从地址0x0010_0000开始,不考虑高速缓存的影响).要求:对内存的读写按双字的长度进行,并在检测的同时显示已检测的内存数量 ...
- OCP读书笔记(19) - 数据库空间管理
传输表空间:将linux下的数据库中的test表空间传输到windows平台下的数据库 在传输表空间前,先确定一下源库与目标数据库字符集一致: select * from nls_database_p ...
- OCP读书笔记(12) - 执行闪回数据库
闪回数据库使用的是闪回日志,闪回日志存在于闪回目录(也就是快速闪回区中)闪回日志:就是数据块修改之前的镜像,简称前像 1.查看闪回目录的位置:show parameter recovery 如果闪回目 ...
- OCP读书笔记(16) - 管理资源
使用者组 创建资源用户组OLTP_GRP,将用户HR,OE加入此组: BEGIN dbms_resource_manager.clear_pending_area(); dbms_resource_m ...
- OCP读书笔记(15) - 管理SQL性能调优
SQL Tuning Advisor(STA): 使用oracle提供的程序包进行sql优化 SQL> conn scott/tiger SQL), name )); SQL> inser ...
- OCP读书笔记(10) - 使用闪回技术I
使用闪回技术查询数据 闪回查询:就是查询表在过去某个时间点的数据,所用到的技术就是undo数据 SQL> conn scott/tiger 创建测试表 SQL> create table ...
随机推荐
- Swift - 分段选择控件(UISegmentedControl)的用法
1,选择控件的创建,并监听控件选择值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class ViewController: UIVie ...
- Linux入门基础 #10:命令行文本处理工具
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- Spark中的Scheduler
Spark中的Scheduler scheduler分成两个类型.一个是TaskScheduler与事实上现,一个是DAGScheduler. TaskScheduler:主要负责各stage中传入的 ...
- iOS视图控制器之间delegate传值教程
之前在StackOverFlow上看到一篇讲传值(segue传值和delegate传值)的文章,感觉讲的非常清晰,就将delegate部分翻译了一下.有兴趣能够看看. 原文: http://stack ...
- UVA 1386 - Cellular Automaton(循环矩阵)
UVA 1386 - Cellular Automaton option=com_onlinejudge&Itemid=8&page=show_problem&category ...
- 【iOS发展-44】通过案例谈iOS重构:合并、格式化输出、宏观变量、使用数组来存储数据字典,而且使用plist最终的知识
我们今天的情况下是第一个例子,下面的5一来通过切换页上一页下一页: (1)第一步,基本是以非常傻非常直接的方式来创建.这里用到的主要点有: --把对象变量设置为全局变量使得能够在其它方法中调用来设置它 ...
- CentOS6-釋放ip重新分配,centos7 ifconifg没有ip
http://bbs.csdn.net/topics/390725823 系统win7 ,dhcp自动获取ip虚拟机是10.0 安装之后我装了ubuntu 选用 NAT网络, 刚装完我能上网 ,但是 ...
- 16位图像Alpha混合的实现(用汇编写的,比MMX还要快)
Alpha 混合的算法很简单,基于下面的公式就可以实现: D := A * (S - D) / 255 + D D 是目标图像的像素, S 是源图像的像素 A 是 Alpha 值, 0 为全透明, 2 ...
- 获取Jenkins project build结果
当Jenkins管理的build project越来越多的时候,须要脚本收集每一个project的近期一次build结果,从而集中管理.依据业务规则,决定是否重算和何时重算. 以下的命令是利用curl ...
- remove()和直接使用system的一个差别
1.事出有因 今天在做一个从web页面中得到POST回应数据的时候.须要把暂时目录里面(包括子文件)内容清空.本来一直使用的是system("rmdir /s /q ..//tmp//dat ...