impdp 命令使用要点
1、场景 导出远程数据库的数据到本地,再将导出文件导入到本地oracle数据库中
2、条件 两个库的字符集一致
3、使用工具或命令 expdp/impdp
步骤
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ --------------------------------------------------------------------------------
SYS ORACLECLRDIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1\bin\clr
SYS XMLDIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1/rdbms/xml
SYS DATA_PUMP_DIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1/rdbms/log/
SYS ORACLE_OCM_CONFIG_DIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1/ccr/state
SQL> create directory mydir as 'd:\dump';
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ --------------------------------------------------------------------------------
SYS MYDIR d:\dump
SYS ORACLECLRDIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1\bin\clr
SYS XMLDIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1/rdbms/xml
SYS DATA_PUMP_DIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1/rdbms/log/
SYS ORACLE_OCM_CONFIG_DIR E:\Oracle11g\app\admin\product\11.2.0\dbhome_1/ccr/state
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-
X
ile=db1.dmp logfile=db1.log include=table:\"in ('T','T1','T2','T3')\"
tion
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "ADMIN"."SYS_EXPORT_SCHEMA_10": admin/******** network_link=ADMIN_TO_DB1 d
irectory=mydir dumpfile=db1.dmp logfile=db1.log include=table:"in ('T','T1','T2'
,'T3')"
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 248.0 MB
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
. . 导出了 "DB1"."T1" 82.92 KB 10000 行
. . 导出了 "DB1"."T" 10.37 KB 1 行
已成功加载/卸载了主表 "ADMIN"."SYS_EXPORT_SCHEMA_10"
******************************************************************************
ADMIN.SYS_EXPORT_SCHEMA_10 的转储文件集为:
D:\DUMP\DB1.DMP
作业 "ADMIN"."SYS_EXPORT_SCHEMA_10" 已于 10:21:31 成功完成
Oracle跨数据库查询(database link方式)
在Oracle本地数据库端执行赋权dbuser帐号
SQL> grant create database link to dbuser;
配置本地数据库服务器的tnsnames.ora文件
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
增加需要远程连接服务器的连接配置,如:
ORCL_REMOTE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
登录到本地数据库,创建database link
执行如下查询语句,其中ORCL_LINK为database link名(可自定义),ORCL_REMOTE为先前在tnsnames.ora中定义的连接名,
dbuser为用户名,password为密码
create database link ORCL_LINK connect to dbuser identified by password using 'ORCL_REMOTE';
问题 无法识别的指定链接字符 直接将user_db_links 中的host改为相应的ora文件中的内容即可
查询创建database link的2中方式:
1)、执行SQL语句。
select * from user_db_links; --用户 DB Link
select * from dba_db_links; --dba DB Link
select * from v$dblink; --当前DB Link
2)、在PL/SQL中,在左边浏览器中点击database links就可以看到数据库链路了。
使用链接的数据库
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@database link名”,如
select * from table_name@ORCL_LINK
其它:
删除database link(本例中是ORCL_LINK)
SQL> Drop database link ORCL_LINK;
导入 过程
首先在导入库中建立原库的表空间和用户,用户权限和原有用户保持一致即可
创建存放导出数据文件的路径 /u01/data/....
创建directory并给用户读写的权限
create or replace directory 名称 as '路径';
grant write , read on directory 名称 to 用户
将导出的文件放到新建的路径中
impdp system/pass schemas=user dumpfile=db.dmp logfile=db.log