使用oracle 9i dbca 复制数据库

  • 格式:doc
  • 大小:683.00 KB
  • 文档页数:14

使用oracle 9i dbca 图形工具复制数据库 Sherwin.Xiao 一. 前言: 一般的复制数据库方式就是shutdown源数据库,然后通过ftp拷贝源数据库的数据文件、参数文件到新的数据库下面,这种方法对比用RMAN来进行数据库复制有简单快捷的特点,但是这种拷贝方式同时有几个个不足:

1. 需要分别拷贝数据库的数据文件、初始化参数文件、用于sysdba用户认证的密码文件以及其他一些参数文件;

2. 源数据库的数据库相关文件的绝对路径一定要和目的数据库相对应的文件的绝对路径也要一致:

eg: 源数据库中system表空间只含有一个数据文件所在的路径为: /opt/oracle/oradata/dg02/system.dbf

那么必须拷贝源数据库中的该system.dbf数据文件到目的数据库文件所在地路径为:

/opt/oracle/oradata/dg02/system.dbf 3. 更改新的数据库的SID,需要重建控制文件或者运用oracle9i自带的nid工具; 4. 不能更改数据库字符集; oracle9i的dbca工具避免了以上的几个不足,可以用创建模板的方式,对数据库进行复制。 二.操作步骤以及相关说明: 1.在源数据库上面的相关操作步骤以及说明: 在源数据库上的相关参数变量为: 数据库用户: zzxdg1 ORACLE_SID=dg02 ORACLE_BASE=/opt/zzxdg1 ORACLE_HOME=/opt/zzxdg1/product/9.2.0

Step1: 运行oracle图形管理工具dbca (路径:$ORACLE_HOME/bin/dbca): 图一: 启动DBCA工具 Step 2:

图二: 选中管理模板 Step 3: 图三: 选中“从已有的数据库(包含数据库结构以及物理文件)中创建模板” Step 4:

图四: 从下拉菜单中选择数据库源创建模板 在这个步骤中oracle dbca会读取/var/opt/oracle/oratab文件,去判断执行dbca的用户(本例子中的oracle用户为zzxdg1)在自己的数据库软件(RDBMS)中创建了几个数据库(INSTANCE),然后列出可以用于作为数据库源的instance以供选择。

Eg: 在/var/opt/oracle/oratab 文件中的相关内容如下: CSSOMP:/opt/oracle/product/9.2.0:Y CSSOVS:/opt/oracle/product/9.2.0:Y CSSCMDM:/opt/oracle/product/9.2.0:N dg02:/opt/zzxdg1/product/9.2.0:N 该参数文件提供信息表明在本台SUN server中有两个数据用户,其$ORACLE_HOME分别为:

 /opt/oracle/product/9.2.0 在该用户的oracle软件(RDBMS)下面创建了三个数据库(INSTANCE),这三个数据库的instance分别是CSSOMP、CSSOVS、CSSCMDM;

 /opt/zzxdg1/product/9.2.0 在该用户的oracle软件(RDBMS)下面创建了一个数据库(INSTANCE),这个数据库的instance是dg02;

所以在上面的zzxdg1 用户(该用户的$ORACLE_HOME文件路径为/opt/zzxdg1/product/9.2.0)运行的dbca工具界面中根据读取oratab参数文件获取的信息,给出在数据库源选择中只有dg02可用。

注:如果oratab文件已经损坏或者被删除掉,那么dbca工具在管理模板选项时候(Step3时候)弹出的界面将如下:(在从已有的数据库(包含数据库结构以及物理文件)中创建模板的选项将是呈灰白显示,这时可以根据上面的example并结合自身的$ORACLE_HOME、SID等参数自行创建oratab文件后再启用dbca工具)

图五: 当oratab文件不可用时调用数据库源创建模板的界面 点击next进行下一步: Step 5: 图六: 对即将创建的数据库模板进行命名以及生成模板文件的绝对路径进行调整 Step 6:

图七:选择使用OFA结构生成模板文件 Oracle软件(RDBMS)对创建数据库(INSTANCE)时候生成的物理数据文件、参数文件等进行管理的时候采用Optimal Flexible Architecture (OFA)进行管理;OFA管理就是在创建数据库的时候把生成的物理文件、参数文件放到和$ORACLE_HOME以及$ORACLE_BASE定义相关的OS路径下面: 比如OFA在一般情况下数据库文件的管理规则如下: 创建的数据文件、日志文件和控制文件路径为: {ORACLE_BASE}/oradata/{DB_NAME}/ 创建的初始化参数文件spfile、sysdba认证的密码文件路径为:{ORACLE_HOME}/dbs/spfile{SID}.ora //用命令 create pfile from spfile 手工生成的pfile文件也在同一目录下 如果目的数据库的路径和源数据库的$ORACLE_HOME以及$ORACLE_BASE参数不一致,那么在dbca的该界面中点击选择Covert the file locations to use OFA structure 该选项(其实就是目的数据库和源数据库的绝对路径等参数一致也可以选择这个选项进行数据库复制)。 点击Finish进行数据库模板创建。 Step 7:

图八:弹出Summary界面进行创建模板的相关信息确认 dbca工具弹出summary信息确认,包括模板文件生成的名字以及绝对路径,采用的源数据库名等。

注:当开始创建模板时候,数据库必须是处于shutdown 状态的!如果以前数据库是open或者其它非shutdown状态时,数据库执行创建模板之前会先强制shutdown源数据库!

Step 8: 图九:创建模板中 Step 9:

图十:创建模板结束提示 在数据库$ORACLE_HOME/assistants/dbca/templates路径下面会生成两个对应文件(如红色所示),分别为参数文件test99.dbc以及内含数据文件等的压缩包文件test99.dbj ;该目录下面的其他文件就是当调用dbca工具创建数据库时候的常用模板选项如下图所示:

[zzxdg1@omp1-css ~]# cd $ORACLE_HOME/assistants/dbca/templates [zzxdg1@omp1-css ~/product/9.2.0/assistants/dbca/templates]# ls Data_Warehouse.dbc Transaction_Processing.dbc test99.dfj Data_Warehouse.dfj Transaction_Processing.dfj test1.dbc General_Purpose.dbc oid.dbc New_Database.dbt test99.dbc

图十一:一般的数据库创建模板选择 2. 在目的数据库上面的相关操作步骤以及说明: 在目的数据库上的相关参数变量为: 数据库用户: zzxdg1 ORACLE_SID=clone ORACLE_BASE=/opt/zzxdg1 ORACLE_HOME=/opt/zzxdg1/product/9.2.0

在目的数据库上面用ftp把在源数据库上面生成的模板文件拷贝到本地的$ORACLE_HOME/assistants/dbca/templates目录下面后:

[zzxdg1@db1-css ~/product/9.2.0/assistants/dbca/templates]#ls Data_Warehouse.dbc General_Purpose.dbc Transaction_Processing.dbc test99.dbc Data_Warehouse.dfj New_Database.dbt Transaction_Processing.dfj test99.dfj

Step 1: 图十二:启动dbca图形工具 Step 2:

图十三:选中创建数据库 Step 3: 图十四:选中从test99模板进行创建 当两个模板文件:参数文件test99.dbc以及内含数据文件等的压缩包文件test99.dbj被拷贝到$ORACLE_HOME/assistants/dbca/templates目录下后,在该数据库模板界面就会加入test99模板,选中该模板并点击下一步。

Step 4:

图十五:定义新的数据库的SID以及全局名称 在该步骤中可以更改新的数据库的sid以及全局名,其中oracle 的SID为clone,域名为test,全局名为clone.test 。 当更改数据库的sid时候,请先在OS用户的环境变量中请先export ORACLE_SID并确认相关环境变量:

[zzxdg1@db1-css ~]#env | grep ORACLE ORACLE_SID=clone ORACLE_BASE=/opt/zzxdg1 ORACLE_HOME=/opt/zzxdg1/product/9.2.0 Step 5:

图十六:选择数据库采用专有模式提供listener服务 该步骤主要配置数据库运行于何种模式对外提供网络服务;如果配置共享模式,那么该过程会更改数据库初始化参数配置启用dispatcher。一般情况下都用专有模式对外提供listener服务。

Step 6: