
怎么在oracle库复制数据到另外一个oracle库
: 1、exp导出表,然后imp导入表; 2、两个数据库之间连接使用DBLink,在其中一个数据库里就可以访问另一个数据库的表了。
Oracle 9/10
可以使用 exp 导出 Imp 导入
===== 导出、导入 单个表的情况。
导出 TEST_MAIN,TEST_SUB 这2个表
EXP test/test@源数据库 file=testdmp tables=(TEST_MAIN,TEST_SUB)
导入 TEST_MAIN,TEST_SUB 这2个表
IMP test2/test2@目标数据库 file=testdmp tables=(TEST_MAIN,TEST_SUB)
==============================
Oracle 10g 开始, 新增数据泵工具 导出导入 的工具
前面需要一些 环境配置
数据泵工具导出的步骤:
1、创建DIRECTORY
create directory dir_dp as 'C:/OracleData'
2、授权
Grant read,write on directory dir_dp to obpos;
EXPDP 按表导出:
EXPDP obpos/obpos tables="OBPOS""ROOM","OBPOS""ROOMBOOKD" dumpfile=expdp_Roomdmp logfile=expdp_Roomlog directory=dir_dp job_name=my_job
授权
Grant read,write on directory dir_dp to test;
IMPDP 按表导入:
impdp obpos/obpos dumpfile=obposdmp logfile=obposlog directory=dir_dp tables=MR_USER job_name=my_job
2千万条的话不能直接使用create table as select
先建一样结构的表。然后用append参数
非归档模式下:
insert /+append/ into a select from b;
归档模式下:
insert /+append/ into a nologging select from b;
前两天我刚刚研究了下这个问题 希望能对你有所帮助。
需要被复制到的用户有查询被导出用户的查询权限。
如system用户要将scott中的emp表导入其中,按如下方法:
1、登录scott用户。
2、给system用户赋予查询emp表的权限:
grant select on emp to system;3、登录system用户。
4、执行以下语句:
create table emp as select from scottemp;语法格式:
CREATE TABLE table_name AS
SELECT FROM table_name;
通过子查询新建表,创建表的同时记录也加入~
子查询可以复杂,只有 NOT NULL 约束可以复制,其他约束自行添加~
谢谢~!
oracle数据库的数据是按用户来组织的,所以你说的“现有实例的表、表空间、存储过程等”,实际上应该是某个用户的对象;而你只需要将这个用户的对象导出,然后导入到一个新用户下去,就可以实现你的需求。你这里的“实例”实际上应该是用户的概念,而不是一个oracle实例。
做法是:expdp按用户导出数据,然后创建新用户,用impdp导入,导入的时候remap_schema即可。
以上就是关于oracle数据库怎么把一个库里面的数据导入到另外一个库全部的内容,包括:oracle数据库怎么把一个库里面的数据导入到另外一个库、oracle 如何复制大数据量的数据、oracle怎么快速复制数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)