資料匯出shell指令碼(上)
DBA經常需要使用資料泵作一些資料的匯入匯出操作,為此本人編寫了基於資料庫使用者匯入匯出操作的shell指令碼。
丟到伺服器上,直接執行指令碼,方便日常操作。同時開發人員也可以按照提示完成資料匯入匯出操作。(此指令碼應用於IBM? AIX作業系統,所以使用Korn Shell指令碼語法編寫,指令碼內容在此文章附錄)
本章介紹匯出資料指令碼
1. 上傳指令碼檔案expUser_test.ksh到源資料庫伺服器oracle使用者目錄下
[oracle@ENMOEDU ~]$ ls –trl
-rwxr-x--- 1 oracle oinstall 2760 Jul 1 23:45 expUser_test.ksh
2.修改expUser_test.ksh檔案所屬使用者並授予執行許可權
[oracle@ENMOEDU ~]$ su
Password:
[root@ENMOEDU oracle]# chown oracle:oinstall expUser_test.ksh
[root@ENMOEDU oracle]# chmod 770 expUser_test.ksh
[root@ENMOEDU oracle]# su - oracle
[oracle@ENMOEDU ~]$ ll expUser_test.ksh
-rwxrwx--- 1 oracle oinstall 2760 Jul 1 23:45 expUser_test.ksh
3.執行匯出指令碼
[oracle@ENMOEDU ~]$ ksh
$ ./expUser_test.ksh ---執行指令碼
USERNAME DEFAULT_TABLESPACE
------------------------------------------------------------
ESO ESO_TS1
T1 TEST1
TEST TEST_SPACE
SCOTT USERS
---以上資訊顯示資料庫所有使用者與所屬表空間
Please specify the username to export
Enter value for username: ESO ----輸入需要匯出的使用者名稱
Username:ESO
estimate export messages...
Export: Release 11.2.0.3.0 - Production on Wed Jul 2 11:43:56 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYS"."SYS_EXPORT_SCHEMA_01": "/******** AS SYSDBA" ESTIMATE_ONLY=yes schemas=ESO
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. estimated "ESO"."PUB_ONLINE_HIST" 7 MB
Total estimation using BLOCKS method: 7 MB
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at 11:44:02
DIRECTORY_NAME DIRECTORY_PATH
-------------------------------------------------------------------------------
SHARE_DIR /bidpro
MY_DIR /home/oracle/dmp
---以上顯示資料庫所有目錄資訊
Choose a Directory Name from the list above (case-sensitive).
Enter value for directory_name[DATA_PUMP_DIR]: MY_DIR ---輸入匯出檔案目錄
Directory name :MY_DIR /home/oracle/dmp
Please specify the prefix of the dump file (.dmp) to export
Enter value for file_name[ESO20140702]: ---回車生成預設檔名
File name: ESO20140702.dmp
starting export data...
Export: Release 11.2.0.3.0 - Production on Wed Jul 2 11:47:25 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "SYS"."SYS_EXPORT_SCHEMA_01": "/******** AS SYSDBA" dumpfile=ESO20140702.dmp logfile=ESO20140702.log DIRECTORY=MY_DIR schemas=ESO COMPRESSION=all
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 7 MB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "ESO"."PUB_ONLINE_HIST" 1.277 MB 31860 rows
Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:
/home/oracle/dmp/ESO20140702.dmp ---匯出完成顯示dmp檔案目錄
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at 11:47:57
注:指令碼為按資料庫使用者匯出與匯入。目標資料庫使用者名稱與對應表空間名,必須與源資料庫使用者名稱與對應表空間名相同。
附錄:
DBA_建瑾
2014.7.5
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29324876/viewspace-1209889/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料匯入shell指令碼(下)指令碼
- shell,ant指令碼實現自動資料泵(exp.expdp)匯出匯入資料指令碼
- [ Shell ] 通過 Shell 指令碼匯出 CDL 網表指令碼
- MySQL匯出資料庫指令碼MySql資料庫指令碼
- [ Shell ] 通過 Shell 指令碼匯出 GDSII/OASIS 檔案指令碼
- 定時將資料匯入到hive的shell指令碼Hive指令碼
- Shell指令碼匯入外部指令碼內容指令碼
- 從Oracle資料庫中匯出SQL指令碼Oracle資料庫SQL指令碼
- Oracle expdp/impdp匯入匯出備份資料庫指令碼Oracle資料庫指令碼
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- expdp 匯出指令碼指令碼
- 使用shell 指令碼備份資料指令碼
- 前端釋出shell指令碼前端指令碼
- 小白的資料進階之路(上)——從Shell指令碼到MapReduce指令碼
- 程式碼上線的shell指令碼指令碼
- 【20240709】海量圖片匯出需求,shell指令碼指令碼
- MSSQL表資料匯出成Insert指令碼<改進版>SQL指令碼
- Excel匯入Sqlserver資料庫指令碼ExcelSQLServer資料庫指令碼
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- 巧用shell生成資料庫檢查指令碼資料庫指令碼
- 建立管理MySQL資料庫的shell指令碼MySql資料庫指令碼
- 表統計資訊匯出匯入指令碼指令碼
- EBS 10g/11g 資料庫匯出匯入遷移指令碼 - transform資料庫指令碼ORM
- Elasticsearch批量匯入資料指令碼(python)Elasticsearch指令碼Python
- 通過shell指令碼批量操作mysql資料庫指令碼MySql資料庫
- Liunx備份mysql資料庫的shell指令碼MySql資料庫指令碼
- 【HIVE】hive 使用shell指令碼跑歷史資料Hive指令碼
- 巧用shell指令碼分析資料庫使用者指令碼資料庫
- 透過shell指令碼得到資料字典的資訊指令碼
- 通過shell指令碼得到資料字典的資訊指令碼
- 簡單資料庫及表建立shell指令碼資料庫指令碼
- shell指令碼不換行重新整理資料指令碼
- 監控Oracle資料庫的常用shell指令碼Oracle資料庫指令碼
- 批量匯出建立索引的指令碼索引指令碼
- 通過impdp匯出索引指令碼索引指令碼
- MySQL資料匯入匯出亂碼問題MySql
- shell指令碼指令碼