欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 今天在看Oracle的CONCEPT文档时发现,Oracle的外部表也可以用来卸载数据了。 从10.2中开始,Oracle增加了外部表的一个新的访问驱动:ORACLE_DATAPUMP。而再次之前,只有一个默认的驱动ORACLE_LOADER
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
今天在看Oracle的CONCEPT文档时发现,Oracle的外部表也可以用来卸载数据了。
从10.2中开始,Oracle增加了外部表的一个新的访问驱动:ORACLE_DATAPUMP。而再次之前,只有一个默认的驱动ORACLE_LOADER。
使用ORACLE_DATAPUMP驱动,带来的一个优点是,可以利用外部表将数据库中的数据卸载到磁盘文件中,而这是10.1及以前版本所无法做到的。
下面看一个最简单的例子:
SQL> CREATE TABLE T_EXTERNAL 2 ( 3 ID, 4 NAME 5 ) 6 ORGANIZATION EXTERNAL 7 ( 8 TYPE ORACLE_DATAPUMP 9 DEFAULT DIRECTORY D_OUTPUT 10 LOCATION('TEST.DMP') 11 ) 12 AS SELECT ROWNUM RN, TNAME 13 FROM TAB; |
表已创建。
在这张外部表创建的同时,在D_OUTPUT所指向的操作系统目录下,生成了一个TEST.DMP二进制文件。
显示这个二进制文件中的可显示字符:
$ strings TEST.DMP IBMPC/WIN_NT-8.1.0 ZHS16GBK LBB EMB GHC JWD SD EBE WMF DDG JG SJH SRH JGK CL EGM BJM RAP RLP RP KR PAR MS MRS JLS CET HLT 10.02.00.01.00 T 1 0 3 0 ZHS16GBK AL16UTF16 +00:00 YANGTK T_EXTERNAL 1 0 ID 2 22 0 -127 0 0 0 2 0 NAME 1 30 0 0 852 1 30 T_LOG< TEST_LOB< T_COMPRESS< T_TEMP2< T_RECORD< T_SESSION_STAT< T_TEMP< T_NO_EXISTS_BEFORE< T_CHAR< SYS_EXPORT_SCHEMA_01< T_EXTERNAL< T_LOAD_SPACE< T_LEVEL< T_LEVEL1< CHAINED_ROWS< T_TREE |
[1] [2]