oracle邏輯備份恢復 exp/imp篇
1.數據導出工具EXP
EXP是客戶端工具,該工具不僅可以在oracle客戶端使用,還可以在oracle服務器端使用。當在oracle客戶端使用EXP工具時,必須帶有連接字符串;當在oracle服務器端使用EXP工具時,可以不帶字符串。導出包括導出表、導出方案、導出數據庫三種模式。
(1)導出表
導出表是指使用EXP工具將一個或多個表的結構和數據存儲到OS文件中,導出表是使用TABLES選項來完成的。
普通用戶可以導出其自身方案的所有表,但如果要導出其他方案的表,則要求該用戶必須具有EXP_FULL_DATABASE角色或DBA角色。另外當導出表時,默認情況下會導出相應表上的所有索引、觸發器、約束。下面以SYSTEM用戶導出SCOTT.DEPT表為例,示例如下:
exp system/oracle@charge TABLE=scott.dept,scott.emp FILE=tab1.dmp
(2)導出方案
導出方案是指使用EXP工具將一個或多個方案中的所有對象記數據存儲到OS文件中,導出表是使用OWNER選項來完成的。
普通用戶可以導出其自身方案,但如果要導出其他方案,則要求該用戶必須具有DBA角色或EXP_FULL_DATABASE角色。當用戶要導出其自身方案的所有對象時,可以不指定OWNER選項,下面以SYSTEM用戶導出SCOTT方案的所有對象為例,示例如下:
exp system/oracle@charge OWNER=scott FILE=schemal.dmp
以上為命令行方式進行數據的導出,EXP工具還可以以交互的方式進行數據導出。
(1)導出表(交互方式)
[oracle@ora-asm3 dbs]$ exp
Export: Release 10.2.0.1.0 - Production on 星期一 6月 16 16:24:26 2008
Copyright (c) 1982, 2005, Oracle.; All rights reserved.
Username: charge輸入用戶名
Password:;;;;輸入密碼
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Enter array fetch buffer size: 4096 >;;;;輸入緩沖區大小,可以默認也可以自定義,如果數據文件較大,建議設置的大一些。
Export file: expdat.dmp > charge01.dmp輸入導出的文件名,必須以.dmp文件做為擴展名。
(2)U(sers), or (3)T(ables): (2)U > t輸入導出類型,默認為用戶(也就是方案),在此輸入t,為導出表
Export table data (yes/no): yes >;;是否導出表中的數據,如果選NO,則導出表結構。
Compress extents (yes/no): yes >;是否對數據壓縮
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > clients輸入表名
開始導出clients表數據
. . exporting table;;;;;CLIENTS 10 rows exported
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >如果沒有要導出的數據時,按回車退出。
Export terminated successfully without warnings.
提示導出成功,沒有任何告警。(2)導出方案(交互方式)
[oracle@ora-asm3 dbs]$ exp
Export: Release 10.2.0.1.0 - Production on 星期一 6月 16 16:23:47 2008
Copyright (c) 1982, 2005, Oracle.; All rights reserved.
Username: charge;;;;輸入用戶名
Password:;;;;;輸入密碼
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Enter array fetch buffer size: 4096 >;;;輸入緩沖區大小,可以默認也可以自定義,如果數據文件較大,建議設置的大一些。
Export file: expdat.dmp > charge.dmp;;輸入導出的文件名,必須以.dmp做為擴展名。
(2)U(sers), or (3)T(ables): (2)U > u 輸入導出類型,默認為用戶(方案),可以直接回車,也可以輸入u。
Export grants (yes/no): yes >導入權限
Export table data (yes/no): yes >;是否導出表中的數據,如果選NO,則導出表結構。
Compress extents (yes/no): yes > 是否對數據壓縮
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user CHARGE
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user CHARGE
About to export CHARGE's objects ...
. exporting database links
. exporting sequence numbers
. exporting cluster definitions
. about to export CHARGE's tables via Conventional Path ...
. . exporting table;BALANCE; 0 rows exported
. . exporting table;BALANCEFINISHED; 0 rows exported
………………
. exporting synonyms
. exporting views
. exporting stored procedures
. exporting operators
. exporting referential integrity constraints
. exporting triggers
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting statistics
Export terminated successfully without warnings.
提示導出成功,沒有任何告警。
2.數據導入工具IMP
(1)導入表
導入表是指使用工具IMP將EXP文件中的表結構及其數據轉載到數據庫中,導入表是使用TABLES選項來完成的。
普通用戶可以直接導入其擁有的表,但如果要將表導入到其他用戶中,則要求該用戶必須具有IMP_FULL_DATABASE角色或DBA角色。注意,如果要將表導入到其他用戶中,則需要指定FROMUSER和TOUSER選項,示例如下:
imp scott/oracle@charge FILE=tab2.dmp TABLES=dept.emp
imp system/oracle@charge FILE=tab2.dmp TABLES=dept.emp; FROMUSER=scott TOUSER=system
如上所示,第一示例表示將文件tab2.dmp中DEPT和EMP表的結構和數據導入到SCOTT用戶中;第二個示例表示文件tab2.dmp中SCOTT用戶的DEPT和EMP表導入SYSTEM用戶中。
(2)導入方案
導入方案是指使用工具IMP將EXP文件中的特定方案的所有對象及數據轉載到數據庫中。
普通用戶可以直接導入其自身方案,并且在導入時需要提供USERID和FILE選項即可。但如果要將一個方案的所有對象導入到其他方案中,則要求該用戶必須具有IMP_FULL_DATABASE角色,并且必須提供FROMUSER和TOUSER選項。示例如下:
imp scott/oracle@charge FILE=schema2.dmp
imp system/oracle@charge FILE=schema2.dmp FROMUSER=scott; TOUSER=system
如上所示,第一示例表示將文件schema 2.dmp中SCOTT用戶的所有對象及數據導入到SCOTT用戶中;第二個示例表示文件schema 2.dmp中SCOTT用戶的所有對象及數據導入SYSTEM用戶中。以上為命令行方式進行數據的導出,EXP工具還可以以交互的方式進行數據導出。
(1)導入表(交互方式)
[oracle@ora-asm3 ~]$ imp
Import: Release 10.2.0.1.0 - Production on 星期一 6月 16 16:40:10 2008
Copyright (c) 1982, 2005, Oracle.; All rights reserved.
Username: charge;;;輸入用戶名
Password: 輸入密碼
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Import file: expdat.dmp > charge.dmp;輸入要導入的數據文件
Enter insert buffer size (minimum is 8192) 30720>;;輸入緩沖區大小,可以默認也可以自定義,如果數據文件較大,建議設置的大一些。
Export file created by EXPORT:V10.02.01 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
List contents of import file only (yes/no): no >;只列出導入文件的內容
Ignore create error due to object existence (yes/no): no >由于對象已存在, 忽略創建錯誤
Import grants (yes/no): yes >導入權限
Import table data (yes/no): yes >;;導入表數據,如果選NO,則導入表結構
Import entire export file (yes/no): no >;;導入整個導出文件
Username: charge;;;;;要導入方案的名稱
Enter table(T) or partition(T:P) names. Null list means all tables for user
Enter table(T) or partition(T:P) name or . if done: clients輸入要導入的表名
Enter table(T) or partition(T:P) name or . if done:; 如果沒有要導入的表時,直接回車,進行導入
. importing CHARGE's objects into CHARGE
. importing CHARGE's objects into CHARGE
. . importing table;;"CLIENTS" 10 rows imported
Import terminated successfully without warnings.
導入成功,沒有告警。
(2)導入方案(交互方式)
[oracle@ora-asm3 ~]$ imp
Import: Release 10.2.0.1.0 - Production on 星期一 6月 16 17:17:54 2008
Copyright (c) 1982, 2005, Oracle.; All rights reserved.
Username: charge; 輸入用戶名稱
Password:;;;;輸入密碼
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Import file: expdat.dmp > charge.dmp;輸入要導入的數據文件
Enter insert buffer size (minimum is 8192) 30720>輸入緩沖區大小,可以默認也可以自定義,如果數據文件較大,建議設置的大一些。
Export file created by EXPORT:V10.02.01 via conventional path
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
List contents of import file only (yes/no): no >;;;;只列出導入文件的內容
Ignore create error due to object existence (yes/no): no >由于對象已存在, 忽略創建錯誤
Import grants (yes/no): yes >導入權限
Import table data (yes/no): yes >;;導入表數據,如果選NO,則導入表結構
Import entire export file (yes/no): no >;;導入整個導出文件
Username: charge;輸入要導入方案的名稱
Enter table(T) or partition(T:P) names. Null list means all tables for user
Enter table(T) or partition(T:P) name or . if done:;;;回車,進行導入數據
. importing CHARGE's objects into CHARGE
. . importing table"BALANCE"0 rows imported
. . importing table"BALANCEFINISHED"0 rows imported
About to enable constraints...
Import terminated successfully without warnings.
導入成功,沒有任何告警。
相關文章: