您的位置:首页 > 数据库 > Oracle

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

2013-05-13 14:03 363 查看
-- =================================

-- 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的表的导出信息。



4、copy备份集合到目标库

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: