无痕客

落花无情,流水无痕……

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

最近一个项目使用到Oracle,由于数据库比较大,每次备份恢复时间比较长,这几天参考了较多的资料,终于成功进行了数据库克隆,欣喜之余通过图解方式把这个过程共享出来。
Oracle 10g克隆数据库步骤:
1、 准备目标数据库存放路径、配置信息等
2、 配置目标数据库控制文件脚本
3、 准备目标数据库的数据文件(通过冷备份方式进行)
4、 运行控制文件脚本
5、 打开克隆的数据库

1、 准备目标数据库存放路径、配置信息等
a) 创建目标数据库存放路径:
分别创建数据库文件 (D:\oracle\product\10.1.0\oradata\CLNE)和运行信息(D:\oracle\product\10.1.0\admin\CLNE)文件夹,其中运行信息文件夹包括bdump、cdump、create、pfile、udump五个文件夹

b) 初始化参数文件:
可以从其他数据库拷贝,进行修改。在这里拷贝源数据库PRACTICE的初始化配置文件到D:\oracle\product\10.1.0\Db_1\databas\目录中,并把该文件命名为initCLNE.ora,打开该文件把”PRACTICE”替换成”CLNE”

修改后如下图:


c) 数据库密码文件
通过命令行进行创建,放置于D:\oracle\product\10.1.0\Db_1\database\ ,文件名称为PWDCLNE.ora
命令为:orapwd file=D:\oracle\product\10.1.0\Db_1\database\PWDCLNE.ora password=CLNE entries=4

 


d) 创建Oracle实例服务
通过命令行进行创建,服务名称为OracleServiceCLNE
命令为:oradim –new –sid CLNE –intpwd CLNE;
 

 

2、 配置目标数据库控制文件脚本
在SQL PLUS以dba的身份登录PRACTICE,通过如下命令生成PRACTICE的控制文件:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;
 

可以在D:\oracle\product\10.1.0\admin\PRACTICE\udump文件夹中找到创建控制文件时刻的文件,把该文件复制到D:\oracle\product\10.1.0\admin\CLNE\create中,并且更名为create_control.sql;打开该文件进行
 删除脚本中的注释行
 将CREATE CONTROLFILE REUSE DATABASE "CLNE"中的”REUSE”修改为”SET”
 将CREATE CONTROLFILE 中的”PRACTICE”修改为”CLNE”
 将每个数据文件和日志文件所在的路径由原来的/oradata/PRACTICE目录修改为/oradata/CLNE
修改后最好的结果下图:


3、 准备目标数据库的数据文件(通过冷备份方式进行)
在服务中把PRACTICE服务停止或者用Shutdown immediate等方法把源数据库关闭,然后把源数据库文件(D:\oracle\product\10.1.0\oradata\PRACTICE)拷贝到目标数据库文件夹(D:\oracle\product\10.1.0\oradata\CLNE)中
 
4、 运行控制文件脚本
a) 配置TNS服务:打开D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\ tnsnames.ora,添加目标数据库服务

b) 配置Lisenter服务:打开D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\ listener.ora,添加目标数据库服务
(缺图待补)
c) 执行控制文件:在命令行中以NOLOG方式登录
命令为:sqlplus /nolog
  Connect sys/CLNE as sysdba
  D:\oracle\product\10.1.0\admin\CLNE\create\create_control.sql
(缺图待补)

5、 打开克隆的数据库
通过重设日志的方式打开数据库
命令为:alter database open resetlogs;
(缺图待补)

至此,克隆关闭数据库的整个过程结束!

转载自:http://server.chinabyte.com/175/2641675.shtml

posted on 2010-10-17 15:12  无痕客  阅读(413)  评论(0编辑  收藏  举报