Oracle 11g 之Rman Duplicating a database
Oracle 11 g2 版本下,duplicating a database 有两种方法:
1. Active database duplication
2. Backup-based duplication
通过duplicate 一个数据库的好处在于:
Test backup and recovery procedures
Test an upgrade to a new release of Oracle Database
Test the effect of applications on database performance
Create a standby database
Generate reports
先学习基于Backup-based duplication ,比较好理解一些,测试环境:异机同目录
环境准备前提:
现在有两台oracle server,一台:192.168.1.249 一台:192.168.1.248
让192.168.1.249 作为primary A, 192.168.1.248上就作为auxiliary B
为了操作的便捷,我就以auxiliary B为主要操作点来完成duplicate操作
一:在primary A上操作
现在呢,就通过dbca来创建一个新的oracle database_name和SID,也是再通观的学习下oracle 创建表和插入数据
通过dbca,会默认创建一个表空间和临时表空间,测试的就不再创建表空间了,创建表空间的语法:
create tablespace 空间名称 datafile ' 数据文件的路径' 大小 size 200m ;
创建一个表:
create table employees (employee_id number(6), first_name varchar2(20),last_name varchar2(25),phone_number varchar2(15),salary number(8,2),department_id number(4), constraint emp_salary_min check (salary > 0) );
在创建表的过程中插入了一些约束
插入数据:
insert into employees (employee_id,first_name,last_name,phone_number,salary,department_id) values (1189,'wang','ying',18920782475,4900,2);
insert into employees (employee_id,first_name,last_name,phone_number,salary,department_id) values (1109,'zhang','ying',18920482475,4900,3);
随意插入两条数据就好了,证明表里有数据就好
二:启动监听和打开数据库:
分别执行:
Lsnrctl start
Sqlplus / as sysdba
Startup;
三:在B上通过netmgr实现远程库A的访问,也就是修改
/opt/oracle/product/11.2.0/dbhome_1/network/admin下的
Tnsnames.ora 和listener.ora 文件
Netmgr
配置listener
之后点击关闭窗口,保存退出
之后来尝试下是否在B server上能连接到Aserver上的test05库
[oracle@test1 ~]$ rman
RMAN> connect target sys/biao_123@test05;
RMAN 连接的格式是: username/password@监听名(就是上步netmgr建立的到A库上的监听名称)
connected to target database: TEST05 (DBID=4183336084) (表示连接成功)
注意:如果这一步,你不记得在安装database的时候,记录的sys、system的密码的话,解决办法:
在目标数据库上,在操作系统的级别登陆数据库是不需要密码的
所以可以使用sqlplus / as sysdba (登录)
更改user sys和system的密码
Alter user sys identified by 密码; 这个密码尽量不要含有‘点号’字符
推荐阅读: