Oracle的导出实用程序(Export utility)允许从数据库提取数据并且将数据写入操作系统文件exp使用的基本格式exp[username[/password[@service]]]以下例举exp常用用法
获取帮助
exp help=y
导出一个完整数据库
exp system/manager file=bible_db log=dible_db full=y
导出数据库定义而不导出数据
exp system/manager file=bible_db log=dible_db full=y rows=n
导出一个或一组指定用户所属的全部表索引和其他对象
exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seaparkamyamycharold)
注意在导出用户时尽管已经得到了这个用户的所有对象但是还是不能得到这些对象引用的任何同义词解决方法是用以下的SQL*Plus命令创建一个脚本文件运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本然后在目标数据库上运行该脚本就可重建同义词了
SET LINESIZE
SET PAGESIZE
SET TRIMSPOOL ON
SPOOL c:\seaparksyn
SELECT Create public synonym ||synonym_name
|| for ||table_owner||||table_name||;
FROM dba_synonyms
WHERE table_owner = SEAPARK AND owner = PUBLIC;
SPOOL OFF
导出一个或多个指定表
exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seaparktank
exp system/manager file=tank log=tank tables=(seaparktankamyartist)
估计导出文件的大小
全部表总字节数
SELECT sum(bytes)
FROM dba_segments
WHERE segment_type = TABLE;
seapark用户所属表的总字节数
SELECT sum(bytes)
FROM dba_segments
WHERE owner = SEAPARK
AND segment_type = TABLE;
seapark用户下的aquatic_animal表的字节数
SELECT sum(bytes)
FROM dba_segments
WHERE owner = SEAPARK
AND segment_type = TABLE
AND segment_name = AQUATIC_ANIMAL;
导出表数据的子集(oraclei以上)
NT系统
exp system/manager query=Where salad_type=FRUIT tables=amysalad_type
file=fruit log=fruit
UNIX系统
exp system/manager query=\Where salad_type=\FRUIT\\ tables=amysalad_type
file=fruit log=fruit
用多个文件分割一个导出文件
exp system/manager
file=(paycheck_paycheck_paycheck_paycheck_)
log=paycheck filesize=G tables=hrpaycheck
使用参数文件
exp system/manager parfile=bible_tablespar
bible_tablespar参数文件
#Export the sample tables used for the Oraclei Database Administrators Bible
file=bible_tables
log=bible_tables
tables=(
amyartist
amybooks
seaparkcheckup
ems
)
增量导出
完全增量导出(complete)即备份整个数据库
exp system/manager inctype=complete file=dmp
增量型增量导出(incremental)即备份上一次备份后改变的数据
exp system/manager inctype=incremental file=dmp
累计型增量导出(cumulative)即备份上一次完全导出之后改变的数据
exp system/manager inctype=cumulative file=dmp