说明:
针对的对象: 数据的导入导出牵涉到的角色主要是工程实施人员。
需解决的问题:把所需要的数据从一个数据库中导入到另外一个数据库中。
1 工具方式
1.1 工具说明
1. 使用PLSQL Developer工具主要为了方便工程实施人员操作数据库,如导入、导出数据库对象。
2. 使用TOAD工具方便工程实施人员操作数据库且导入、导出数据的效率比较高。
3. 使用以上两种工具,实施人员无需在命令行下操作数据库,方便而且不易出错。
1.1.1 准备工作
1. 工具软件PLSQL Developer 、TOAD。
2. 记录数据源的oracle数据库信息(IP、端口、全局数据库名),记为SOURCE_DB;
3. scheme(SOURCE_SCHM)、tablespace(默认表空间 SOURCE _SPACE,索引表空间 INDEX _SPACE );
4. 用于数据导出的账号(记录为EXPUSR);
5. 记录数据目标的oracle数据库信息(IP、端口、全局数据库名),记为DEST_DB;
6. scheme(DEST_SCHM)、tablespace(默认表空间 DEST_SPACE,索引表空间 DESINDEX _SPACE);
7. 用于数据导入的账号(记录为IMPUSR)等信息。
8. 记录需要从数据源中导出的数据库对象,记为DB_OBJECTS;
9. 如果需要过滤导出数据,则要记录过滤条件,记为DATA_FILTER。
1.2 数据库对象
1.2.1 导出数据库对象
1. 启动PL/SQL Developer,以用户 EXPUSR 登录源Oracle数据库SOURCE_DB;
2. 从PL/SQL Developer菜单Tools中选择Export User Objects;
3. 导出数据库对象
a、 在User的下拉框中选择需要导出数据的<SOURCE_SCHM>。
b、选中属性 Single file,include Owner, include Storage。
c、选择需要导出的数据库对象;
d、点击Export按钮则可以将数据库对象导出,此时会生成一个以sql为扩展名的文件(记录为EXPORT_FILE)。
1.1.1. 导入数据库对象
1. 修改Sql脚本
如果源数据的scheme和目标数据库的scheme不一致,或者源数据库的表空间和目标数据库的表空间不一致,需修改导出的EXPORT_FILE。
create table <SOURCE_SCHM>.ACTION_INFO 修改为
create table <DEST_SCHM>.ACTION_INFO
tablespace <SOURCE _SPACE> (源默认表空间) -- 改为目标默认表空间(<DEST_SPACE>)
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
create index AK_CDR_D_DETAIL on CDR_D_DETAIL (USER_NUMBER)
tablespace <INDEX _SPACE>(源索引表空间) --à改为目标索引表空间(<DESINDEX _SPACE>)
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
using index
tablespace <INDEX _SPACE>(源索引表空间) --à改为目标索引表空间(<DESINDEX _SPACE>)
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
2. 启动PL/SQL Developer,以用户 IMPUSR登录目标Oracle数据库DEST_DB;
3. 从PL/SQL Developer菜单中选择New下面的Command Window;
选择Editor选项,将EXPORT_FILE文件内容拷贝到Editor选项框中
按F8即可将数据库对象导入到DEST_SCHM中。
1.3 数据导入导出
使用TOAD工具进行数据导入导出。
1.3.1 导出数据
1. 启动TOAD,以EXPUSR登录源数据库SOURCE_DB;
2选择菜单中的Database->Export->Data Pump Export Wizard选项
2. 在Export选项中选择Tables
3. 在下拉框中选择源数据库的Scheme:SOURCE_SCHM,并选择需要导出的数据表。
4. 如果数