Oracle11G数据泵导入导出-changxf-20140926

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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则表明修改成功。

相关文档
最新文档