- 浏览: 657012 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
expdp 的network_link 参数的使用
expdp 是server 端工具,但可以通过NETWORK_LINK 参数实现远端导出,但是前提是远端也安装有Oracle 数据库,只有CLIENT 端是没有办法利用数据泵的。
这里要指出的是:network_link 不支持远端导出分区表中的某一个分区,但可以导整个分区表。以下为测试过程:
创建分区表sales :
[oracle@ora10g ~]$ sqlplus ‘/as sysdba’
SQL> CREATE TABLE sales
(sale_date DATE NOT NULL)
PARTITION BY RANGE (sale_date)
(PARTITION sales2010_q1
VALUES LESS THAN (TO_DATE(’2010-04-01′,’YYYY-MM-DD’))
TABLESPACE sp1,
PARTITION sales2010_q2
VALUES LESS THAN (TO_DATE(’2010-07-01′,’YYYY-MM-DD’))
TABLESPACE sp2,
PARTITION sales2010_q3
VALUES LESS THAN (TO_DATE(’2010-10-01′,’YYYY-MM-DD’))
TABLESPACE sp3);
插入4 条记录:
SQL> select count(*) from sales;
COUNT(*)
———-
4
SQL> select * from sales partition(sales2010_q1);
SALE_DATE
————
23-MAR-10
SQL> select * from sales partition(sales2010_q2);
SALE_DATE
————
23-JUN-10
22-JUN-10
SQL> select * from sales partition(sales2010_q3);
SALE_DATE
————
23-SEP-10
远端机器上创建 directory 目录、赋权、创建dblink:
[oracle@node1 /]$ sqlplus ‘/as sysdba’
SQL> create directory dump_dir as ‘/backup’;
Directory created.
SQL> grant read,write on directory dump_dir to ochef;
Grant succeeded.
SQL> create database link test connect to ochef identified by oracle using ‘primary’;
Database link created.
SQL> select count(*) from ochef.sales@test;
COUNT(*)
———-
4
远程导出整个分区表:
[oracle@node1 ~]$ expdp ochef/oracle directory=dump_dir dumpfile=sales.dmp network_link=test tables=sales
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Starting “OCHEF”.”SYS_EXPORT_TABLE_01″: ochef/******** directory=dump_dir dumpfile=sales.dmp network_link=test tables=sales
Estimate in progress using BLOCKS method…
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 384 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported “OCHEF”.”SALES” 4.960 KB 4 rows
Master table “OCHEF”.”SYS_EXPORT_TABLE_01″ successfully loaded/unloaded
******************************************************************************
Dump file set for OCHEF.SYS_EXPORT_TABLE_01 is:
/backup/sales.dmp
Job “OCHEF”.”SYS_EXPORT_TABLE_01″ successfully completed at 11:12:43
远程导出分区表的某个分区:
[oracle@node1 ~]$ expdp ochef/oracle directory=dump_dir dumpfile=sales.dmp network_link=test tables=sales:sales2010_q2
ORA-39001: invalid argument value
ORA-39203: Partition selection is not supported over a network link.
本地导出分区表的某个分区:
[oracle@ora10g ~]$ expdp ochef/oracle directory=dump_dir dumpfile=sales.dmp tables=sales:sales2010_q2
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting “OCHEF”.”SYS_EXPORT_TABLE_01″: ochef/******** directory=dump_dir dumpfile=sales.dmp tables=sales:sales2010_q2
Estimate in progress using BLOCKS method…
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 128 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported “OCHEF”.”SALES”:”SALES2010_Q2″ 4.937 KB 2 rows
Master table “OCHEF”.”SYS_EXPORT_TABLE_01″ successfully loaded/unloaded
******************************************************************************
Dump file set for OCHEF.SYS_EXPORT_TABLE_01 is:
/backup/sales.dmp
Job “OCHEF”.”SYS_EXPORT_TABLE_01″ successfully completed at 11:07:07
expdp 属于服务端工具,而exp 属于客户端工具 ,expdp 生成的文件默认是存放在服务端的,而exp 生成的文件是存放在客户端的
1.expdp username/password @connect_string // 对于使用这种格式来说,directory 使用源数据库创建的, 生成的文件存放在服务端 。
比如服务端数据库为linux ,当前客户端为windows 下,我在windows 下expdp linux 里的数据
expdp username/password@sidname directory=data_dump dumpfile=downip.dmp
其中directory=data_dump 是在服务端创建的directory
执行提示如下:
连接到
: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SEAR_IC"."SYS_EXPORT_SCHEMA_01":
sear_ic/********@pdf
directory=data_dump dumpfile=downip.dmp
Estimate in progress using BLOCKS method…
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 468.1 MB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
。。。。。
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SEAR_IC"."DATASHEET" 389.3 MB 2929103 rows
。。。。。。
. . exported "SEAR_IC"."URL_TYPE" 5.320 KB 6 rows
Master table "SEAR_IC"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SEAR_IC.SYS_EXPORT_SCHEMA_01 is:
/home/oracle/downip.dmp
Job "SEAR_IC"."SYS_EXPORT_SCHEMA_01" successfully completed at 16:56:43
执行速度非常的快,跟在服务器端执行的速度差不多
如何
将生成的文件放在目标数据库
而不放在源数据库呢,
在expdp
中使用network_link
2.
a.
创建到服务端的dblink
conn aa/aacc
create database link link_name connect to username identified by password using 'connect_string' ;//username
和password
是server
端的
b.
conn / as sysdba
create or replace directory dir as 'directory';
grant read,write on directory dir to username;
c.expdp username2/password2 directory=dir network_link=link_name … //这里的username2 用创建dblink 的那个用户aa ,directory 也是目标数据库创建的
比如在本机expdp 远程服务器的数据库,先在本机创建到服务端的dblink ,然后创建directory 及授权,然后expdp useranme2/password2 network_link=link_name directory=dir dumpfile=dump_filename.dmp tables=tab_name 这样就会在当前机器上(目标数据库)上产生一个dmp 文件
3. 如果想不生成dmp 文件而直接导入一个数据库,原理和2 类似,直接使用impdp 带network_link ,这样可以直接impdp ,而绕过了expdp 的步骤
发表评论
-
ORA-14551: 无法在查询中执行 DML 操作
2013-11-30 13:45 1359最近在调试一个带DML操作的函数时,一直不成功,在PL/SQ ... -
Oracle Recursive Calls 说明
2013-04-09 23:11 1487一. Recursive Calls 说明 在执行计划 ... -
consistent gets db block gets
2013-04-09 19:58 1434consistent gets :consistent_ge ... -
SQL Server数据导入到Oracle中的方法
2012-07-17 17:09 1592在我们使用SQL Server数据库的过程中,有时需要将SQL ... -
更改ORACLE归档路径及归档模式
2012-07-16 18:23 1861在ORACLE10g和11g版本,ORAC ... -
disable/enable validate/novalidate 的区别
2012-01-08 11:41 1230启用约束: enable( validate) :启用约束,创 ... -
linux用dd测试磁盘速度
2012-01-07 21:58 1009首先要了解两个特殊的设备: /dev/null:回收站、 ... -
在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划
2012-01-07 20:49 1018在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划,原 ... -
Oracle hash join
2012-01-07 17:00 948hash join是oracle里面一个非常强悍的功能 ... -
恢复被rm意外删除数据文件
2012-01-05 12:30 1254一.模拟数据文件删除 [oracle ... -
oracle 块延迟清除(delayed block cleanout)
2012-01-04 22:47 1357为了保证事务的回退和满足多用户的 CR , orac ... -
Oracle数据库SCN号详解
2012-01-04 19:25 1538Oracle数据库SCN号详解: 系统检查点scn(v$da ... -
oracle常见问题与解答
2012-01-03 20:22 16691.对于sql,有几种方法查看执行计划,每种方法有什么区别,对 ... -
Oracle虚拟私有数据库(VPD)概述及简单举例
2011-12-23 12:35 1551Oracle虚拟私有数据库(VPD)概述及简单举例 1、Ora ... -
alter table move跟shrink space的区别
2011-12-17 15:02 1282都知道alter table move 或shrink spa ... -
How to dump Oracle Data Block?
2011-12-16 15:22 996Often while doing instance tuni ... -
oracle索引的5种使用模式
2011-12-14 21:19 1076索引的使用对数据库的性能有巨大的影响。 共有五类不同的使用模式 ... -
HP Unix中的dba MLOCK
2011-12-14 19:14 2229最近在HP平台上遇到两次跟dba MLOCK权限相关的错误: ... -
NESTED LOOP、HASH JOIN、SORT MERGE JOIN
2011-12-13 23:18 1374表连接方式及使用场合 ... -
Oracle用户权限
2011-12-12 19:48 1507系统权限: 1、使用GRANT语句向用户赋予系统权限: ...
相关推荐
如果不需要生成DMP文件,而是直接从源数据库导入数据,可以在命令行中直接使用`network_link`,这样就省去了先执行`expdp`的步骤。 总结来说,`network_link`参数在Oracle Data Pump Import中扮演着至关重要的角色...
6. 使用 network_link 参数:在执行导出命令时,可以使用 `network_link` 参数,指定 DB Link 的名称,例如:`expdp user/password dir dumpfile network_link=bk_nsbd` 知识点:`network_link` 参数用于指定 DB ...
expdp system/systemdb DIRECTORY=DataPump_Dir JOB_NAME=expdp_remote_job DUMPFILE=remote.dmp LOGFILE=remote_expdp.log full=y network_link=qzj02db ``` - **参数说明**: - `network_link=qzj02db`: 使用...
C:\Windows\system32>expdp system/oracle directory=bkpath network_link=dblink_test dumpfile=test.dmp logfile=test.log schemas=test 这将导出生产数据库中的 test 用户到 test.dmp 文件中,并将日志信息写入 ...
$ impdp network_link=TOLINK schemas=test remap_schema=test:link2 ``` - **在同一数据库内复制 Schema**: 若要在同一数据库内部复制 Schema,也需要创建一个 Database Link,并使用 impdp 命令进行复制。 ...
除了上述参数,EXPDP和IMPDP还有许多其他选项,如LOGFILE用于指定日志文件,TABLES用于指定导出或导入的特定表,NETWORK_LINK用于远程数据库的导出导入等。这些选项使得数据管理更加灵活和可控。 总之,EXPDP和...
network_link参数则是在异地数据复制时使用的,它用于指定一个连接到远程数据库的数据库链接,允许从一个数据库通过网络链接导入另一个数据库中的数据。 job_name参数可以为备份或恢复作业指定一个名称,便于在...
- `network_link` 参数用于跨网络从远程数据库导出数据,需要指定数据库链接名。 - `query` 参数允许你在导出时指定 WHERE 子句,从而只导出满足特定条件的数据。 - `tables` 参数则用于指定要导出的特定表,可以按...
5. 使用参数详解 EXPDP和IMPDP都有一系列参数,如TABLES、EXCLUDE、NETWORK_LINK、DIRECTPATH_PARALLEL_ENABLE等,每个参数都有其特定的用途,比如TABLES用于指定要导出的表,EXCLUDE用于排除某些对象,NETWORK_LINK...
- `network_link`: 远程数据库间的网络链接。 - `exclude`: 在导入时排除某些对象。 - `transform`: 数据转换,如日期格式转换。 - `ignore`: 忽略导入过程中遇到的错误。 3. **示例**: ``` impdp scott/...
expdp SYSTEM/oracle@tcis45 directory=EXPDP_DIR network_link=tcis206 schemas=eos logfile=expwf.log impdp SYSTEM/oracle@tcis45 directory=EXPDP_DIR network_link=tcis206 schemas=acct,bill,busi,comn,eos,...
和导出类似,但参数通常包含`remap_schema`(重映射目标模式)、`network_link`(跨数据库链接导入)等。 2. 示例命令: ``` impdp sys/oracle@localhost:1521/orcl directory=data_pump_dir dumpfile=emp.dmp ...
- `NETWORK_LINK`: 通过网络链接进行远程导入。 - `FULL`: 导入整个数据库。 - `TABLES`: 指定要导入的特定表。 - `REMAP_SCHEMA`: 重映射源模式到目标模式。 - `EXCLUDE`: 在导入过程中排除某些对象。 **数据...
使用Data Pump的导入命令`impdp`,可以指定`NETWORK_LINK`参数来通过之前创建的数据库链接访问远程数据。例如,用户`admin2`在西雅图的数据库实例中,想要导入源数据库`chicago`的`customers`和`sales`表,可以执行...
- **NETWORK_LINK**:指定网络链接。 #### 五、导出过程中的监控 1. **使用 Control-C**:在导出过程中,按下 `Control-C` 键,可以暂停导出并进入交互模式,此时可以输入命令来查询或控制导出作业的状态。 ```...
参数与EXPDP类似,但多了如NETWORK_LINK等用于远程导入的选项。 2. 参数选项: - TABLES:指定要导入的表或表空间。 - IGNORE:忽略导入时的错误。 - REMAP_SCHEMA:重映射目标架构。 - NETWORK_LINK:通过...
- `network_link=LINK_NAME`:通过数据库链接进行远程导入。 6. **注意事项** 在进行用户模式的导入导出时,确保目标环境已创建相应的用户,并配置了正确的权限。还要注意检查数据兼容性,避免版本不匹配导致的...