Oracle11G数据泵导入导出-changxf-20140926
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle11G数据库命令:
1进入SQLPLUS状态
1、打开【附件】-【命令提示符】,以系统管理员的身份运行;
2、输入sqlplus / as sysdba;
3、回车执行语句,进入数据库;
2用户管理
【说明】:在SQLPLUS状态下执行。
2.1创建用户
CREATE USER yonghuming IDENTIFIED BY mima DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;
说明:
1、“yonghuming”——用户名称;
2、“mima”——用户密码;
2.2授权用户:(一般授权)
GRANT connect,dba to yonghuming;
说明:
1、“yonghuming”——用户名称;
2.3授权用户:(数据泵模式)
GRANT read,write on directory expdir to yonghuming;
说明:
1、“expdir”——数据泵创建的目录名称;
2、“yonghuming”——用户名称;
2.4查看用户
select username from dba_users;
2.5删除用户
drop user yonghuming(用户名)cascade;
3数据泵操作
3.1创建目录
1、在数据库实例上创建directory(sqlplus模式下执行)
CREATE OR REPLACE DIRECTORY 目录名称 AS '数据库服务器上的一个目录' 例如 CREATE OR REPLACE DIRECTORY expdir AS 'd:\';
红字为要命名的目录名称,as后面为实际路径(windows环境),把需要导入的数据直接放入d盘目录下即可。
2、创建后可以用这个命令来查看已存在的目录
(查看所有)
select * from dba_directories;
(查看制定目录名所在目录)
select * from dba_directories WHERE DIRECTORY_name='expdir';
3.2创建用户并授权
CREATE USER yonghuming IDENTIFIED BY mima DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;
GRANT read, write ON DIRECTORY expdir TO orcle;
1、红字“expdir”为创建的目录;
2、蓝字” yonghuming”为需要被授权的用户名;
3.3数据库备份导出
创建用户并授权后,在dos状态(非sqlplus下)
假设原用户名称为test:
expdp nc6/orcle@orcl schemas=nc6 dumpfile=nc6.dmp directory=expdir logfile=test.log;
3.4数据库导入
创建用户并授权后,在dos状态(非sqlplus下)
【说明】:
1、使用数据泵语句导出的数据库,必须对应使用数据泵语句导入。
2、执行脚本前,需要把数据库文件如SYYNC611_FINAL-2.dmp考到本机D盘根下(创建
的目录位置)。
1、导出前导入后的数据库用户名称一致
impdp test/1@orcl(用户\密码@实例名) directory=expdir(已经创建的目录) dumpfile=text.dmp(具体数据库名称) schemas=test(数据泵导出的用户名称);
2、导出前导入后的数据库用户名称不一致,需要做用户名的映射
假设导出前用户名为test,导入的新用户名为test1:
impdp test1/1@orcl(用户\密码@实例名) directory=expdir(已经创建的目录) dumpfile=text.dmp(具体数据库名称) schemas=test(数据泵导出的用户名称) remap_schema=test:test1(导出用户名:导入用户名);
其中:schemas是源用户remap_schema中test是源用户test1是将要导入的目的用户.
4单表备份命令
create table 新表名as select * from 旧表名
5普通模式下导出导入
5.1导出
exp test/1@orcl(用户名/密码@数据库实例名)file=D:\test.dmp
5.2导入
Imp test/1@orcl(用户名/密码@数据库实例名)file=D:\test.dmp full=y
6Oracle11g不能新增空表解决方法
说明:
在oracle 11g r2中,发现传统的exp脚本居然不能导出空的表,需要按照如下的步骤去操作。
6.1原因:
Oracle 11g 新增了一个参数:deferred_segment_creation,含义是段延迟创建,默认是true。如果这个参数设置为true,你新建了一个表T1,并且没有向其中插入数据,那么这个表不会立即分配extent,也就是不占数据空间,只有当你insert数据后才分配空间,这样可以节省少量的空间。
6.2解决办法:
当设置deferred_segment_creation 参数为FALSE后,无论是空表还是非空表,都分配segment,就可以用exp\imp脚本操作数据库的导入导出
1、在sqlplus中,执行如下命令:
alter system set deferred_segment_creation=false;
2、查看参数值:
show parameter deferred_segment_creation;
如果参数值为false则表明修改成功。