根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何在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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- hrnet关键点检测onnx模型
- chromedriver-win64-132.0.6808.0
- chromedriver-win64-132.0.6807.0
- chromedriver-win64-132.0.6806.0
- 带有界面的多线程爬虫软件源码,使用python爬取漫画图片,可采用多线程爬取,可做毕业设计
- chromedriver-win64-132.0.6804.0
- 我电脑的zsh配置,oh my zsh + powerlevel10k + Hack Nerd Font
- pcie xdma xilinx 上位机应用
- chromedriver-win64-132.0.6803.1
- chromedriver-win64-132.0.6803.0