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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29324876/viewspace-1209889/