在两机器间克隆数据库的两种方法

数据|数据库

关于克隆数据库的方法,最近一直在研究,偶尔在cnoug上闲逛,发现了两篇帖子不错,现作为以后工作中的参考:

方法一:
如何使用RMAN在两机器间克隆数据库

原文摘自:www.cnoug.org

关键字:目标、目录、克隆、日志、

目标数据库和克隆数据库分别在两台机器,其环境都一样:

WINDOWS 2000 SERVER SP4、IE6.1, ORACLE9205

在本文中,使用的是目标数据库上的RMAN,目录数据库在第3台机器上,

操作步骤:

1、连接目标数据库,对目标数据库做全库备份

D:\ORACLE\BIN>rman

恢复管理器: 版本9.2.0.5.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

RMAN> connect catalog rman/rman@187

连接到恢复目录数据库

RMAN> connect target /

连接到目标数据库: ENCORE (DBID=3146513770)
RMAN> run
2> {allocate channel d1 type disk maxpiecesize = 500m;
3> backup full database
4> format 'E:\rmanbak\db_%d_%s_%p_%t';
5> release channel d1;
6> }

分配的通道: d1
通道 d1: sid=16 devtype=DISK

启动 backup 于 2004-06-28 21:03:31
通道 d1: 正在启动 full 数据文件备份集
通道 d1: 正在指定备份集中的数据文件
在备份集中包含当前的 SPFILE
备份集中包括当前控制文件
输入数据文件 fno=00001 name=D:\ORACLE\ORADATA\ENCORE YSTEM01.DBF
输入数据文件 fno=00002 name=D:\ORACLE\ORADATA\ENCORE\UNDOTBS01.DBF
输入数据文件 fno=00005 name=D:\ORACLE\ORADATA\ENCORE\EXAMPLE01.DBF
输入数据文件 fno=00008 name=D:\ORACLE\ORADATA\ENCORE\TOOLS01.DBF
输入数据文件 fno=00010 name=D:\ORACLE\ORADATA\ENCORE\XDB01.DBF
输入数据文件 fno=00006 name=D:\ORACLE\ORADATA\ENCORE\INDX01.DBF
输入数据文件 fno=00009 name=D:\ORACLE\ORADATA\ENCORE\USERS01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\ORADATA\ENCORE\CWMLITE01.DBF
输入数据文件 fno=00004 name=D:\ORACLE\ORADATA\ENCORE\DRSYS01.DBF
输入数据文件 fno=00007 name=D:\ORACLE\ORADATA\ENCORE\ODM01.DBF
通道 d1: 正在启动段 1 于 2004-06-28 21:03:37
通道 d1: 已完成段 1 于 2004-06-28 21:05:02
段 handle=E:\RMANBAK\DB_ENCORE_1_1_530053412 comment=NONE
通道 d1: 正在启动段 2 于 2004-06-28 21:05:02
通道 d1: 已完成段 2 于 2004-06-28 21:06:07
段 handle=E:\RMANBAK\DB_ENCORE_1_2_530053412 comment=NONE
通道 d1: 备份集已完成, 经过时间:00:02:35
完成 backup 于 2004-06-28 21:06:07

释放的通道: d1

RMAN>

2、备份目标数据库的参数文件

SQL> create pfile from spfile;

文件已创建

SQL>

3、--将目标数据库的参数文件(第2步创建)拷贝到克隆机器上,修改相应的参数(主要是实例名和
数据库名,和bdump、udump、cdump 等后台进程的跟踪文件存放的路径,本文中,克隆数据库
的实例名为 CLONE,数据库名为 CLONE_DB),然后在克隆机器上创建实例

D:\oracle\bin>oradim -new -sid clone -PFILE D:\ORACLE\database\INITCLONE.ORA -INTPWD SYS1

D:\oracle\bin>

4、--修改克隆数据库的监听器,增加对克隆数据库的监听(第3段)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\ORACLE)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORACLE)
(ORACLE_HOME = D:\ORACLE)
(SID_NAME = ORACLE92)
)
(SID_DESC =
(GLOBAL_DBNAME = clone_db)
(ORACLE_HOME = D:\ORACLE)
(SID_NAME = clone)
)
)

5、修改RMAN机器上的TNSNAMES.ORA文件,增加此连接串,保证RMAN使用此连接串能够连接到
克隆数据库的实例

CLONE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.194)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = CLONE_DB)
)
)

5、将目标数据库的备份集拷贝到克隆数据库机器的同一位置,并启动克隆数据库(nomount 状态)

6、由于第1步骤中没有备份日志,在使用

RMAN> run
2> {allocate auxiliary channel d1 type disk;
3> set newname for datafile 1 to 'F:\CLONE\data YSTEM01.DBF';

脚本克隆数据库时,出现 NO BACKUP COPY 之类的错误,
之后补充备份目标数据库的日志,

RMAN> run
2> {allocate channel d1 type disk maxpiecesize = 500m;
3> backup archivelog all
4> format 'E:\rmanbak\log_%d_%s_%p_%t';
5> release channel d1;
6> }

分配的通道: d1
通道 d1: sid=11 devtype=DISK

启动 backup 于 2004-06-28 21:42:18
当前日志已存档
通道 d1: 正在启动存档日志备份集
通道 d1: 正在指定备份集中的存档日志
输入存档日志线程 =1 序列 =107 记录 ID=107 时间戳=528371132
输入存档日志线程 =1 序列 =108 记录 ID=108 时间戳=530053839
输入存档日志线程 =1 序列 =109 记录 ID=109 时间戳=530054855
输入存档日志线程 =1 序列 =110 记录 ID=110 时间戳=530055437
输入存档日志线程 =1 序列 =111 记录 ID=111 时间戳=530055540
输入存档日志线程 =1 序列 =112 记录 ID=112 时间戳=530055739
通道 d1: 正在启动段 1 于 2004-06-28 21:42:23
通道 d1: 已完成段 1 于 2004-06-28 21:42:26
段 handle=E:\RMANBAK\LOG_ENCORE_2_1_530055742 comment=NONE
通道 d1: 备份集已完成, 经过时间:00:00:04
完成 backup 于 2004-06-28 21:42:26

释放的通道: d1

7、将日志备份集拷贝到克隆机器的同一目录后,回到RMAN处,连接辅助(克隆)数据库,
执行脚本,剩下的RMAN自己会做

RMAN> connect auxiliary sys/sys1@clone

已连接到备用数据库: CLONE_DB (未安装)

RMAN> run
2> {allocate auxiliary channel d1 type disk;
3> set newname for datafile 1 to 'F:\CLONE\data YSTEM01.DBF';
4> set newname for datafile 2 to 'F:\CLONE\data\UNDOTBS01.DBF';
5> set newname for datafile 3 to 'F:\CLONE\data\CWMLITE01.DBF';
6> set newname for datafile 4 to 'F:\CLONE\data\DRSYS01.DBF';
7> set newname for datafile 5 to 'F:\CLONE\data\EXAMPLE01.DBF';
8> set newname for datafile 6 to 'F:\CLONE\data\INDX01.DBF';
9> set newname for datafile 7 to 'F:\CLONE\data\ODM01.DBF';
10> set newname for datafile 8 to 'F:\CLONE\data\TOOLS01.DBF';
11> set newname for datafile 9 to 'F:\CLONE\data\USERS01.DBF';
12> set newname for datafile 10 to 'F:\CLONE\data\XDB01.DBF';
13> DUPLICATE TARGET DATABASE TO CLONE_DB
14> LOGFILE
15> GROUP 1 ('F:\clone\data\REDO01.DBF') SIZE 10M,
16> GROUP 2 ('F:\clone\data\REDO02.DBF') SIZE 10M,
17> GROUP 3 ('F:\clone\data\REDO03.DBF') SIZE 10M;
18> }

分配的通道: d1
通道 d1: sid=8 devtype=DISK

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 Duplicate Db 于 2004-06-28 21:43:51

正在打印存储的脚本: Memory Script
{
set until scn 261688166;
set newname for datafile 1 to
"F:\CLONE\DATA YSTEM01.DBF";
set newname for datafile 2 to
"F:\CLONE\DATA\UNDOTBS01.DBF";
set newname for datafile 3 to
"F:\CLONE\DATA\CWMLITE01.DBF";
set newname for datafile 4 to
"F:\CLONE\DATA\DRSYS01.DBF";
set newname for datafile 5 to
"F:\CLONE\DATA\EXAMPLE01.DBF";
set newname for datafile 6 to
"F:\CLONE\DATA\INDX01.DBF";
set newname for datafile 7 to
"F:\CLONE\DATA\ODM01.DBF";
set newname for datafile 8 to
"F:\CLONE\DATA\TOOLS01.DBF";
set newname for datafile 9 to
"F:\CLONE\DATA\USERS01.DBF";
set newname for datafile 10 to
"F:\CLONE\DATA\XDB01.DBF";
restore
check readonly
clone database
;
}
正在执行脚本: Memory Script

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 2004-06-28 21:43:54

通道 d1: 正在开始恢复数据文件备份集
通道 d1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到F:\CLONE\DATA YSTEM01.DBF
正将数据文件00002恢复到F:\CLONE\DATA\UNDOTBS01.DBF
正将数据文件00003恢复到F:\CLONE\DATA\CWMLITE01.DBF
正将数据文件00004恢复到F:\CLONE\DATA\DRSYS01.DBF
正将数据文件00005恢复到F:\CLONE\DATA\EXAMPLE01.DBF
正将数据文件00006恢复到F:\CLONE\DATA\INDX01.DBF
正将数据文件00007恢复到F:\CLONE\DATA\ODM01.DBF
正将数据文件00008恢复到F:\CLONE\DATA\TOOLS01.DBF
正将数据文件00009恢复到F:\CLONE\DATA\USERS01.DBF
正将数据文件00010恢复到F:\CLONE\DATA\XDB01.DBF
通道 d1: 已恢复备份段 1
段 handle=E:\RMANBAK\DB_ENCORE_1_1_530053412 tag=TAG20040628T210331 params=NULL
通道 d1: 已恢复备份段 2
段 handle=E:\RMANBAK\DB_ENCORE_1_2_530053412 tag=TAG20040628T210331 params=NULL
通道 d1: 恢复完成
完成 restore 于 2004-06-28 21:46:35
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "CLONE_DB" RESETLOGS ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 ( 'F:\clone\data\REDO01.DBF' ) SIZE 10485760 ,
GROUP 2 ( 'F:\clone\data\REDO02.DBF' ) SIZE 10485760 ,
GROUP 3 ( 'F:\clone\data\REDO03.DBF' ) SIZE 10485760
DATAFILE
'F:\CLONE\DATA YSTEM01.DBF'
CHARACTER SET ZHS16GBK

正在打印存储的脚本: Memory Script
{
switch clone datafile all;
}
正在执行脚本: Memory Script

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=530056505 文件名=F:\CLONE\DATA\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=530056505 文件名=F:\CLONE\DATA\CWMLITE01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=530056505 文件名=F:\CLONE\DATA\DRSYS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=530056505 文件名=F:\CLONE\DATA\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=530056505 文件名=F:\CLONE\DATA\INDX01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=530056505 文件名=F:\CLONE\DATA\ODM01.DBF
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=7 stamp=530056505 文件名=F:\CLONE\DATA\TOOLS01.DBF
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=8 stamp=530056505 文件名=F:\CLONE\DATA\USERS01.DBF
数据文件 10 已转换成数据文件副本
输入数据文件副本 recid=9 stamp=530056505 文件名=F:\CLONE\DATA\XDB01.DBF

正在打印存储的脚本: Memory Script
{
set until scn 261688166;
recover
clone database
delete archivelog
;
}
正在执行脚本: Memory Script

正在执行命令: SET until clause

启动 recover 于 2004-06-28 21:46:37

正在开始介质的恢复

通道 d1: 正在启动到默认目标的存档日志恢复
通道 d1: 正在恢复存档日志
存档日志线程 =1 序列=108
通道 d1: 正在恢复存档日志
存档日志线程 =1 序列=109
通道 d1: 正在恢复存档日志
存档日志线程 =1 序列=110
通道 d1: 正在恢复存档日志
存档日志线程 =1 序列=111
通道 d1: 正在恢复存档日志
存档日志线程 =1 序列=112
通道 d1: 已恢复备份段 1
段 handle=E:\RMANBAK\LOG_ENCORE_2_1_530055742 tag=TAG20040628T214221 params=NULL
通道 d1: 恢复完成
存档日志文件名 =F:\CLONE\LOG\ARC00108.001 线程 =1 序列 =108
通道 clone_default: 正在删除存档日志
存档日志文件名 =F:\CLONE\LOG\ARC00108.001 记录 ID=3 时间戳 =530056510
存档日志文件名 =F:\CLONE\LOG\ARC00109.001 线程 =1 序列 =109
通道 clone_default: 正在删除存档日志
存档日志文件名 =F:\CLONE\LOG\ARC00109.001 记录 ID=4 时间戳 =530056510
存档日志文件名 =F:\CLONE\LOG\ARC00110.001 线程 =1 序列 =110
通道 clone_default: 正在删除存档日志
存档日志文件名 =F:\CLONE\LOG\ARC00110.001 记录 ID=5 时间戳 =530056510
存档日志文件名 =F:\CLONE\LOG\ARC00111.001 线程 =1 序列 =111
通道 clone_default: 正在删除存档日志
存档日志文件名 =F:\CLONE\LOG\ARC00111.001 记录 ID=2 时间戳 =530056510
存档日志文件名 =F:\CLONE\LOG\ARC00112.001 线程 =1 序列 =112
通道 clone_default: 正在删除存档日志
存档日志文件名 =F:\CLONE\LOG\ARC00112.001 记录 ID=1 时间戳 =530056510
完成介质的恢复
完成 recover 于 2004-06-28 21:46:47

正在打印存储的脚本: Memory Script
{
shutdown clone;
startup clone nomount ;
}
正在执行脚本: Memory Script

数据库已卸载
Oracle 例程已关闭

已连接到备用数据库 (未启动)
Oracle 例程已启动

系统全局区域总计 319889436 字节

Fixed Size 454684 字节
Variable Size 109051904 字节
Database Buffers 209715200 字节
Redo Buffers 667648 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "CLONE_DB" RESETLOGS ARCHIVELOG
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 ( 'F:\clone\data\REDO01.DBF' ) SIZE 10485760 ,
GROUP 2 ( 'F:\clone\data\REDO02.DBF' ) SIZE 10485760 ,
GROUP 3 ( 'F:\clone\data\REDO03.DBF' ) SIZE 10485760
DATAFILE
'F:\CLONE\DATA YSTEM01.DBF'
CHARACTER SET ZHS16GBK

正在打印存储的脚本: Memory Script
{
catalog clone datafilecopy "F:\CLONE\DATA\UNDOTBS01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\CWMLITE01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\DRSYS01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\EXAMPLE01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\INDX01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\ODM01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\TOOLS01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\USERS01.DBF";
catalog clone datafilecopy "F:\CLONE\DATA\XDB01.DBF";
switch clone datafile all;
}
正在执行脚本: Memory Script

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\UNDOTBS01.DBF recid=1 stamp=530056530

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\CWMLITE01.DBF recid=2 stamp=530056530

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\DRSYS01.DBF recid=3 stamp=530056531

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\EXAMPLE01.DBF recid=4 stamp=530056531

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\INDX01.DBF recid=5 stamp=530056531

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\ODM01.DBF recid=6 stamp=530056531

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\TOOLS01.DBF recid=7 stamp=530056532

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\USERS01.DBF recid=8 stamp=530056532

已将数据文件副本列入目录
数据文件副本 filename=F:\CLONE\DATA\XDB01.DBF recid=9 stamp=530056532

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=530056530 文件名=F:\CLONE\DATA\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=530056530 文件名=F:\CLONE\DATA\CWMLITE01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=530056531 文件名=F:\CLONE\DATA\DRSYS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=530056531 文件名=F:\CLONE\DATA\EXAMPLE01.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=530056531 文件名=F:\CLONE\DATA\INDX01.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=530056531 文件名=F:\CLONE\DATA\ODM01.DBF
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=7 stamp=530056532 文件名=F:\CLONE\DATA\TOOLS01.DBF
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=8 stamp=530056532 文件名=F:\CLONE\DATA\USERS01.DBF
数据文件 10 已转换成数据文件副本
输入数据文件副本 recid=9 stamp=530056532 文件名=F:\CLONE\DATA\XDB01.DBF

正在打印存储的脚本: Memory Script
{
Alter clone database open resetlogs;
}
正在执行脚本: Memory Script

数据库已打开

RMAN>

--执行此步骤需要注意:避免连接克隆数据库,否则,RMAN将无法正常关闭克隆数据库
(shutdown clone),剩下的步骤无法继续执行。

8、测试克隆数据库

D:\oracle\bin>sqlplus

SQL*Plus: Release 9.2.0.5.0 - Production on Mon Jun 28 22:01:46 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Enter user-name: sys/sys1@clone as sysdba

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, Oracle Label Security, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination F:\CLONE\log
Oldest online log sequence 0
Next log sequence to archive 1
Current log sequence 1
SQL>

总结:在两台机器间用RMAN克隆数据库,个人认为,有两点需要注意:

1、在对目标数据库做全库备份时,要注意同时备份日志,缺少此步骤,RMAN在克隆时将报NO BACKUP COPY 之类的错误.
2、要将目标数据库备份的备份集拷贝到克隆机器的同一个目录(同备份目标数据库时备份集存放的目录)下,否则,RMAN将报:找不到XXXX备份集.

DBCA是一款可以配置、管理和建立数据库的工具。在初始数据库安装过程中,如果你选择“建立一个数据库选项(Create A Database option)”,这一工具就会启动并运行。你可以建立一个基于模板的数据库,也可以从先前的范例中导入一个新的模板。
很多管理人员并不知道,只要在命令行中键入dbca这可以进入到DBCA环境。一旦这一工具启动,你可以建立一个新的数据库,配置数据库的INIT.ORA选项,删除一个现有的数据库,或者管理数据库模板。这些数据库模板与安装时生成的模板类似(比如General Purpose, Data Warehouse,以及Transaction Processing)。

在安装过程中,出现一个警示对话框以询问是否需要保存你的模板。你可以点击No,或者可以在安装时就人工定义你的数据库。DBCA工具能够检查数据库设置并生成一个基于当前操作系统的模板,甚至可以有选择性地输出当前数据。这一特性就使得它成为将一个数据库转移到另一机器或者将一个数据库嵌入到其它有价值产品的优秀工具。

DBCA工具将模板存储在一个以.dbc扩展名的文件。一个.dbc文件包含init.ora参数、位置数据文件、日志文件、以及数据库中以XML格式的控制文件的列表。如果你选择包含你的数据库数据,这一工具也会生成一个扩展名为.dbj的文件,即一个包含你的数据文件的图像的ZIP压缩文件。有些用户会想到建立所有这些设置的一个备份,以避免在一个新机器上重新建立一个数据库的必要。

方法二:
使用DBCA克隆一个数据库

有很多变量允许DBCA为Oracle软件将文件安装到合适的路径,比如{ORACLE_BASE}以及{DB_NAME}。由于这些只是简单的XML,可以使用一个diff函数快速查看这些模板之间的差别。例如,General Purpose 和 Data Warehouse数据库模板之间的差别是在于Oracle 9i 9.2.0.0的Data Warehouse模板:

TEMP tablespace小于1M.

init.ora参数包括:

star_transformation_enabled被激活。

pga_aggregate_target比较在。

query_rewrite_enabled被激活。

db_file_multiblock_read_count为双倍。

sort_area_size为双倍。

hash_area_size没有被设置。

db_cache_size比较小。

对于Transaction Processing模板,差别在于:

Oracle OLAP选项没有被激活。

init.ora参数包括:

db_block_size为一半。

undo_retention比较小。

pga_aggregate_target比较小。

db_file_multiblock_read_count为一半。

hash_join_enabled被关闭。

db_cache_size比较大。

无需建立一个CWMLITE tablespace(因为OLAP选项已经被关闭)。

EXAMPLE 和 SYSTEM tablespaces比较小。

TEMP tablespace为双倍大小。

当你使用DBCA工具从数据库中输出数据时,DBCA将生成一个以.dfj扩展名的文件,即一个包含每一数据文件的源图像的ZIP压缩文件。这就意味着这些数据在转移过程中保证了安全性。然而,这些文件并没有很好被EXP和IMP文档化和支持。同样,这些图像绝大多数直接写入到磁盘,而不是类似于IMP的通过SQL写入。

时间: 2024-10-03 06:10:33

在两机器间克隆数据库的两种方法的相关文章

Odbc连SQL Server数据库的几种方法

odbc|server|数据|数据库 Odbc连SQL Server数据库的几种方法   这篇文章是针对在CSDN论坛 中的一些想知道这方面技术的网友而写的.因为最近我本人在论坛上看到很多网友提到这个问题,所以就写了这篇文章,以飨读者. SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成.也是今天市场上几种大型关系型数据库(SQL Server\Oracle ybase等)之一.对于今天复杂的B/S服务器系统来说,SQL

Visual Basic.Net连各种数据库的几种方法

问题描述 VisualBasic.Net连各种数据库的几种方法MicrosoftVisualBasic.NET是MicrosoftVisualBasic的更新版本,它基于.NET的框架结构,能使用户非常容易地创建MicrosoftWindows操作系统和网络的应用程序.使用VisualBasic.NET,可以快速地实现可视化开发网络应用程序.网络服务.Windows应用程序和服务器端组件.另外,VisualBasic.NET为Windows应用程序提供了XCOPY部署,开发人员不再需要为DLL的

新建Oracle数据库的3种方法

以下是对新建Oracle数据库的三种方法进行了详细的分析介绍,需要的朋友可以过来参考下   1.通过运行Oracle Database Configuration  Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca): 2.用命令行的方式建立数据库 3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建.配置.或删除数据库. 详述:1.通过运行Oracle Database Configurati

Yii操作数据库的3种方法

 这篇文章主要介绍了Yii操作数据库的3种方法,需要的朋友可以参考下 一.执行原生太SQL的PDO方式.  代码如下:$sql = "";//原生态sql语句  xx::model()->dbConnection->createCommand($sql)->execute();  二.Active Record方式  (1)New 方式  代码如下:$post=new Post;  $post->title='sample post';  $post->c

ASP.NET连接 Access数据库的几种方法_实用技巧

web.config 第一种方法: <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <appSettings> <add key="AccessConnString"

阻止特定的ip登陆数据库的2种方法 (轉)

阻止特定的ip登陆数据库的2种方法 =========================================================== 方法1:使用系统触发器 方法2:修改监听器参数文件 (window nt平台,oracle 8.1.7下验证通过)方法1:使用系统触发器   create or replace trigger sys_trigger_test     after logon on database      begin                    

同步两个SQLServer数据库的内容解决方法

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户 我的电脑 控制面板 管理工具 计算机管理 用户和组 右键用户 新建用户 建立一个隶属于administrator组的登陆windows的用户 2.在发布服务器上,新建一个共享目录,做为发布的快照文件的存放目录,操作: 我的电脑 D: 新建一个目录,名为: PUB 右键这个新建的目录 属性 共享 选择"共享该文件夹" 通过"权限"按纽来设置具体的用户权限,

搬迁MYSQL数据库的几种方法和可能遇到的问题

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做站难免会进行网站搬迁,而在网站搬迁的工作中,最重要也是最麻烦的工作无疑就是数据库的搬迁了,因为数据库文件一旦丢失而又删除了备份源的话,网站面临的将是灭顶之灾,你的心血也将付之东流.那么目前搬迁数据库有哪些方法,又可能面临什么状况呢?让我们一起来探讨. 一:通过phpmyadmin备份你会发现还原很麻烦 许多站长觉得,mysql数据库是通过p

c#连接mysql数据库的二种方法

c#连接mysql教程数据库教程的二种方法 mysql提供的是一个dll文件--"mysql.data.dll",目前我用的就是这个dll文件,将这个文件(见附件)放到网站的bin目录下,就可以使用了.而且和sql server的用法并没有太大的出入,只是应用的名称不一样而已. 代码如下: 1.default.asp教程x: <%@ page language="c#" autoeventwireup="true"  codefile=&q