现在的位置: 首页 > 综合 > 正文

Oracle 11G 不能导出空表的解决方法

2014年09月05日 ⁄ 综合 ⁄ 共 1201字 ⁄ 字号 评论关闭

-- =================================

-- Oracle 11G不能导出空表的解决方法

-- =================================

 

在源库

1、创建DIRECTORY

create directory dir_dp as '/opt/';

 

2、授权

Grant read,write on directory dir_dp to SBXTAX;

--查看目录及权限

SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d

 WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;

 

3、执行导出

expdp SBXTAX/SBXTAX@novadb schemas=SBXTAX directory=dir_dp dumpfile =SBXTAX.dmp logfile=SBXTAX.log;

在此过程中你会看到控制台上面会打印出来 records纪录为0的表的导出信息。

 

4copy备份集合到目标库

scp SBXTAX.dmp ......

 

在目标库:

/*1步:创建数据表空间  */

create directory dir_dp as '/u01/app/';

Grant read,write on directory dir_dp to SBXTAX;

 

/*2步:创建数据表空间  */

create tablespace SBXTAX 

logging 

datafile '/u01/app/data/NOVADB/datafile/SBXTAX.dbf'

size 50m 

autoextend on 

next 50m maxsize 10480m 

extent management local; 

 

/*3步:创建用户并指定表空间  */

drop user SBXTAX cascade;

CREATE USER "SBXTAX" PROFILE "DEFAULT"     IDENTIFIED BY "SBXTAX" DEFAULT TABLESPACE "SBXTAX"     ACCOUNT UNLOCK;

grant connect,resource to SBXTAX;

grant create view to SBXTAX;

Grant read,write on directory dir_dp to SBXTAX;

 

/*4步:impdp导入数据  */

-- PS:按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)

impdp SBXTAX/SBXTAX    dumpfile=SBXTAX.dmp logfile=SBXTAX.log directory=dir_dp

 

/*5步:检查表的个数以及名字  */

 

 

PS:删除用户下面所有资源包括数据文件等等: drop user SBXTAX
cascade;

 

抱歉!评论已关闭.