根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何在Oracle环境下进行数据库的复制操作。在Oracle环境中,数据库复制是一项常见的需求,尤其是在构建数据库模型时。下面将详细介绍整个复制过程及其涉及的关键步骤与命令。 ### 复制数据库 #### 1. 源数据库全导出 (Full Export) 为了确保目标数据库与源数据库的数据一致,首先需要从源数据库执行一个全导出(Full Export)操作。这一步骤通过Oracle提供的`EXP`工具来完成,该工具可以导出数据库中的所有对象及数据到一个或多个转储文件中。 **命令示例**: ```sql exp userid=system/yheyhis file=e:\full.dmp log=e:\full.log full=y direct=y buffer=65536 ``` - `userid=system/yheyhis`:指定登录用户名及密码。 - `file=e:\full.dmp`:导出后的转储文件名及存储路径。 - `log=e:\full.log`:日志文件名及存储路径。 - `full=y`:表示进行全导出。 - `direct=y`:启用直接路径导出方式,提高导出效率。 - `buffer=65536`:设置缓冲区大小为65536字节。 #### 2. 创建表空间 完成源数据库的数据导出后,下一步是准备目标数据库。这通常涉及到创建与源数据库相同结构的表空间。这部分内容通过执行一段SQL脚本来实现,脚本内容如下: ```sql select 'CREATE SMALLFILE TABLESPACE "' || t.tablespace_name || '" DATAFILE ''+DATA/ORCL/DATAFILE/' || t.tablespace_name || '01'' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;' from dba_tablespaces t where t.contents <> 'UNDO' and t.tablespace_name not in ('SYSTEM', 'SYSAUX', 'TEMP', 'USERS'); ``` 这条SQL语句的功能是从`dba_tablespaces`视图中选择除了`UNDO`类型以及预定义的`SYSTEM`、`SYSAUX`、`TEMP`、`USERS`表空间之外的所有表空间,并构造出相应的创建表空间的DDL语句。 ### 示例创建表空间语句 根据上述SQL语句的执行结果,可以得到具体的创建表空间语句,例如: - `CREATE SMALLFILE TABLESPACE "TS_HIS3" DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS301' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;` - `CREATE SMALLFILE TABLESPACE "TS_JYK" DATAFILE '+DATA/ORCL/DATAFILE/TS_JYK01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;` - `CREATE SMALLFILE TABLESPACE "TS_SIIM" DATAFILE '+DATA/ORCL/DATAFILE/TS_SIIM01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;` - …… 这些表空间创建语句可以根据实际需求调整大小参数等,以适应不同场景下的需求。 ### 小结 通过上述步骤,我们可以在Oracle环境中高效地复制数据库。整个过程包括了源数据库的全导出、目标数据库表空间的创建等关键环节。这种方式不仅适用于数据库备份恢复场景,同时也广泛应用于开发测试环境的搭建等场景中。
1、在源数据库上执行EXP全导出
exp userid=system/yheyhis file=e:\full.dmp log=e:\full.log full=y direct=y buffer=65536
2、在源数据库上执行以下SQL语句,生成源数据库所有表空间的创建命令,将结果在目标库上执行
select 'CREATE SMALLFILE TABLESPACE "'|| t.tablespace_name
|| '" DATAFILE ''+DATA/ORCL/DATAFILE/' ||t.tablespace_name
|| '01'' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;'
from dba_tablespaces t where t.contents <> 'UNDO' and t.tablespace_name not in ('SYSTEM','SYSAUX','TEMP','USERS');
注意: 这里可以根据目标库的磁盘配置情况,自行更改目标库的数据文件存放目录,示例放在e:\oradata\HIS3\下;
其他参数也可根据实际情况适当调整
创建表空间:CREATE SMALLFILE TABLESPACE "TS_HIS3" DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS301' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_JYK" DATAFILE '+DATA/ORCL/DATAFILE/TS_JYK01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_SIIM" DATAFILE '+DATA/ORCL/DATAFILE/TS_SIIM01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR_TEMP" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR_TEMP01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_YIZHU" DATAFILE '+DATA/ORCL/DATAFILE/TS_YIZHU01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR_TJFX" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR_TJFX01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR_MZ" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR_MZ01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 4G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR_GY" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR_GY01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR_ZY" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR_ZY01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_IIPLAT" DATAFILE '+DATA/ORCL/DATAFILE/TS_IIPLAT01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_BATJ" DATAFILE '+DATA/ORCL/DATAFILE/TS_BATJ01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_BAJK" DATAFILE '+DATA/ORCL/DATAFILE/TS_BAJK01' SIZE 100M AUTOEXTEND ON NEXT 500M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "XUEYE" DATAFILE '+DATA/ORCL/DATAFILE/XUEYE01' SIZE 100M AUTOEXTEND ON NEXT 500M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_TJGL" DATAFILE '+DATA/ORCL/DATAFILE/TS_TJGL01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_YYGL" DATAFILE '+DATA/ORCL/DATAFILE/TS_YYGL01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_CBHS" DATAFILE '+DATA/ORCL/DATAFILE/TS_CBHS01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_ZONGWU" DATAFILE '+DATA/ORCL/DATAFILE/TS_ZONGWU01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_INDEX_ZW" DATAFILE '+DATA/ORCL/DATAFILE/TS_INDEX_ZW01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "BATJ" DATAFILE '+DATA/ORCL/DATAFILE/BATJ01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 4G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR01' SIZE 1100M AUTOEXTEND ON NEXT 500M MAXSIZE 8G LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "TS_EMR_JK" DATAFILE '+DATA/ORCL/DATAFILE/TS_EMR_JK01' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 500M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
3、在源数据库上执行以下SQL语句,向所有表空间添加数据文件,将结果在目标库上执行
select 'ALTER TABLESPACE "'|| t.tablespace_name || '" ADD DATAFILE ''+DATA/ORCL/DATAFILE/' ||t.tablespace_name
|| '02'' SIZE 1024M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;'
from dba_tablespaces t where t.contents <> 'UNDO' and t.tablespace_name not in ('SYSTEM','SYSAUX','TEMP','USERS');
注意: 这里可以根据目标库的磁盘配置情况,自行更改目标库的数据文件存放目录,示例放在e:\oradata\HIS3\下;
如果需要向表空间添加多个数据文件,可以多次执行该SQL语句,只需依次修改02为03、04、05......
其他参数也可根据实际情况适当调整;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS302' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS303' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS304' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS305' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS306' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS307' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS309' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_HIS3" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_HIS310' SIZE 1100M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_JYK" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_JYK02' SIZE 1024M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_JYK" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_JYK03' SIZE 1024M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
ALTER TABLESPACE "TS_JYK" ADD DATAFILE '+DATA/ORCL/DATAFILE/TS_JYK04' SIZE 1024M REUSE AUTOEXTEND ON NEXT 500M MAXSIZE 8G;
剩余11页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 大数据技术综述:Hadoop生态体系,Hive,QSL,MR,Flume等详解
- 系统学习直播运营:掌握起号方法、主播能力、小店随心推,打造爆款直播.mp4
- 万相台无界版2024全面更新,详解关键词、测款测图与精准人群布局.mp4
- Pantum DS-2XX系列诊断手册.pdf
- Pantum DS-2XX系列拆装手册.pdf
- 奔图A3装订机.pdf
- 大数据技术原理详解及其核心框架应用的多项选择题汇总
- labview液压泵试验台程序:功能包括,同PLC通讯程序,液压动画,手动控制及调试,传感器标定,报警设置及报警记录,自动实验,数据处理曲线处理,数据库存储及查询,报表自动生成及打印,扫码枪扫码及信号
- M7300系列.pdf
- M6700 6800 7100 7200.pdf
- M7600 7650系列.pdf
- BM5100 5200.pdf
- BM4000、BM4100系列.pdf
- 大数据复习PPT.zip
- 毕业设计-基于python大学生就业信息管理系统(django)毕业设计与实现(源码+数据库)
- M5000-6000、M5100-5200系列.pdf