再谈Oracle 11g 远程导出数据库

2014-11-24 17:54:26 · 作者: · 浏览: 0

1、创建TNS字符串:
zqxt =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 132.97.172.186)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ora11g)
)
)
2、查询远程数据的表空间SQL:

1)、select distinct 'select dbms_metadata.get_ddl(''TABLESPACE'','''||tablespace_name||''') from dual;' from dba_tables; 获得各个表空间的查询SQL。

2)、再用查询到的SQL执行查到该表空间的创建SQL(DLL)语句。

3、依据第2步的结果创建表空间。

4、查询远程用户的角色权限及所属表空间:

select * from user_role_privs;

select username,default_tablespace from user_users;

5、依据第4部的结果创建用户,并赋予权限、角色及所属表空间。


CREATE USER ityy_zqfw
IDENTIFIED BY zqfw123 DEFAULT TABLESPACE TBS_ITYY
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;


GRANT CONNECT,CTXAPP, DBA ,RESOURCE TO ityy_zqfw;


grant read,write on directory DATA_PUMP_DIR to ityy_zqfw;