外部表的另一種用途 資料遷移

guyuanli發表於2008-08-03

外部表的另一種用途 資料遷移

不用exp/imp,expdp/impdp來不同平臺間遷移資料表

由於條件所限,我的操作在兩臺linux機器上,不同平臺的操作方法一樣

首先匯出第一臺機器上的資料

[oracle@nsisdb application]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8 5 14:38:03 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

[@more@]

外部表的另一種用途 資料遷移

不用exp/imp,expdp/impdp來不同平臺間遷移資料表

由於條件所限,我的操作在兩臺linux機器上,不同平臺的操作方法一樣

首先匯出第一臺機器上的資料

[oracle@nsisdb application]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8 5 14:38:03 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

連線到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

SQL> create or replace directory tmp as '/application/tmp';

目錄已建立.

注意建立目錄的擁有者必須是oracle

SQL> create table all_objects_unload

2 organization external

3 (type oracle_datapump

4 default directory tmp

5 location('allobjectgu.dat')

6 )

7 as

8 select * from all_objects

9 /

表已建立.

這裡的查詢可以是任何查詢,本地匯出資料檔名字.dat檔案也可以起任何名字

這時在/application/tmp下會有兩個檔案:一個日誌檔案ALL_OBJECTS_UNLOAD_29285.log;一個資料檔案allobjectgu.dat

[oracle@nsisdb tmp]$ ls -lrt

總用量 5104

-rw-r--r-- 1 oracle oinstall 41 8 5 14:44 ALL_OBJECTS_UNLOAD_29285.log

-rw-r----- 1 oracle oinstall 5201920 8 5 14:44 allobjectgu.dat

透過FTP工具把資料檔案allobjectgu.dat傳到另一臺機器的/application/gu目錄下

[oracle@nsistestdb gu]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8 5 14:58:36 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

連線到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

--建立目錄

SQL> create or replace directory tmp as '/application/gu';

目錄已建立。

--建立表指向資料檔案

SQL> create table gu

2 (owner varchar2(30),

3 object_name varchar2(30),

4 object_id number,

5 data_object_id number,

6 object_type varchar2(19),

7 created date,

8 last_ddl_time date,

9 timestamp varchar2(19),

10 status varchar2(7),

11 temporary varchar2(1),

12 generated varchar2(1),

13 secondary varchar2(1)

14 )

15 organization external

16 (type oracle_datapump

17 default directory tmp

18 location ('allobjectgu.dat')

19 )

20 /

表已建立。

--查詢外部表

SQL> select count(*) from gu;

COUNT(*)

----------

53090

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1008556/,如需轉載,請註明出處,否則將追究法律責任。

相關文章