EXP Concept:
You can let Export prompt you for parameters by entering the EXP
command followed by your username/password:
Example: EXP SCOTT/TIGER
Or, you can control how Export runs by entering the EXP command followed
by various arguments. To specify parameters, you use keywords:
Format: EXP KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
Example: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
or TABLES=(T1:P1,T1:P2), if T1 is partitioned table
USERID must be the first parameter on the command line.
Keyword Description (Default)
USERID——–用户名/密码
FULL——–全库导出(N)
BUFFER——–数据缓冲区大小
OWNER——–所有者的用户名列表
FILE——–导出的文件
TABLES——–表名列表
COMPRESS——–是否压缩文件 (Y)
RECORDLENGTH——–IO记录长度
GRANTS——–是否导出权限 (Y)
NCTYPE——–增量导出类型
INDEXES——–是否导出索引(Y)
RECORD——–跟踪增量导出(Y)
DIRECT——–直接路径(N)
TRIGGERS——–是否导出触发器(Y)
LOG——–输出日志文件
STATISTICS——–分析对象 (ESTIMATE)
ROWS——–是否导出数据内容(Y)
PARFILE——–参数文件名
CONSISTENT——–交叉表一致性(N)
CONSTRAINTS ——–是否导出约束 (Y)
OBJECT_CONSISTENT——–在对象导出期间设置事务只读(N)
FEEDBACK——–显示多少行进度(0)
FILESIZE——–导出文件最大大小
FLASHBACK_SCN——–按SCN导出
FLASHBACK_TIME——–指定SCN时间点
QUERY——–用于导出表子集的SELECT语句
RESUMABLE——–遇到空间状态错误时暂停(N)
RESUMABLE_NAME——–用于识别可恢复的语句文本字符串
RESUMABLE_TIMEOUT——–暂停等待时间
TTS_FULL_CHECK——–对TTS执行完全或部分依赖检查
VOLSIZE——–写入每个磁带券的字节数
TABLESPACES——–导出的表空间列表
TRANSPORT_TABLESPACE ——–导出可传输的表空间原数据 (N)
TEMPLATE——–调用IAS模式导出的模板名
IMP Concept:
You can let Import prompt you for parameters by entering the IMP
command followed by your username/password:
Example: IMP SCOTT/TIGER
Or, you can control how Import runs by entering the IMP command followed
by various arguments. To specify parameters, you use keywords:
Format: IMP KEYWORD=value or KEYWORD=(value1,value2,...,valueN)
Example: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
or TABLES=(T1:P1,T1:P2), if T1 is partitioned table
USERID must be the first parameter on the command line.
Keyword Description (Default)
USERID——–用户名/密码
FULL——–全库导入(N)
BUFFER——–数据缓冲区大小
FROMUSER——–导出的用户名
FILE——–导入文件名
TOUSER——–导入的用户名
SHOW——–只列出文件内容(N)
TABLES——–表名列表
IGNORE——–忽略创建错误(N)
RECORDLENGTH——–IO记录长度
GRANTS——–是否导入 权限(Y) I
NCTYPE——–增量导出类型
INDEXES——–是否导入索引 (Y)
COMMIT——–提交数组插入 (N)
ROWS——–导入数据内容(Y)
PARFILE——–参数文件名
LOG 输出日志文件
CONSTRAINTS——–是否导入约束 (Y)
DESTROY——–重写表空间数据文件(N)
INDEXFILE——–指定表/索引信息写入文件
SKIP_UNUSABLE_INDEXES 跳过无效索引(N)
FEEDBACK——–显示多少行进度(0)
TOID_NOVALIDATE——–跳过指定类型验证
FILESIZE——–设置文件最大大小
STATISTICS——–导入预算统计(always)
RESUMABLE——–遇到空间状态错误时暂停((N)
RESUMABLE_NAME——–用于识别可恢复的语句文本字符串
RESUMABLE_TIMEOUT——–暂停等待时间
COMPILE——–编译 procedures, packages, and functions (Y)
STREAMS_CONFIGURATION——–导入流的全部数据 (Y)
STREAMS_INSTANTIATION——–导入流的实例化数据 (N)
DATA_ONLY——–是否只导入数据 (N)
VOLSIZE——–每个磁带卷上文件的字节数
以下关键词只适用于可移动表空间
TRANSPORT_TABLESPACE——–导入可以移动表空间原数据 (N)
TABLESPACES——–可移动表空间
DATAFILES——–可移动数据文件
TTS_OWNERS——–在可移动表空间中有数据的用户
EXP Example:
1. 按用户导出
exp system/abcd123# buffer=419430400 direct=y recordlength=65535 file=/u01/dmp/test.dmp indexes=y constraints=y compress=n log=/u01/dmp/test.log owner=test
2. 按表导出
exp system/abcd123# buffer=419430400 direct=y recordlength=65535 file=/u01/dmp/test.dmp indexes=y constraints=y compress=n log=/u01/dmp/test.log tables=test.tab1
3. 带WHERE条件导出
exp system/abcd123# buffer=419430400 direct=y recordlength=65535 file=/u01/dmp/test.dmp indexes=y constraints=y compress=n log=/u01/dmp/test.log tables=test.tab1 query=\"where col1 \< '1000'\"
4. 分区导出
exp system/abcd123# buffer=419430400 direct=y recordlength=65535 file=/u01/dmp/test.dmp indexes=y constraints=y compress=n log=/u01/dmp/test.log tables=test.tab1:p1
IMP Example:
imp system/abcd123# buffer=419430400 file=/u01/dmp/test.dmp indexes=y commit=y constraints=y ignore=y fromuser=test touser=test log=/u01/dmp/test.log
JOBS:
a.创建dump_tables.out
该文件用来存放表名列表,一张表一行。格式为USERNAME TABLE_NAME
b.创建数据迁移脚本
cat /oracle/lu/dump_tables.out|while read username tablename
do
mknod /oracle/lu/"$tablename" p
exp \'sys/password#@orcl as sysdba\' tables="$username"."$tablename" buffer=419430400 direct=y recordlength=65535 file=/oracle/lu/"$tablename" indexes=y constraints=y compress=n log=/oracle/lu/cbosslog/exp_"$tablename".log &
imp \'sys/password as sysdba\' buffer=419430400 file=/oracle/lu/"$tablename" indexes=y commit=y constraints=y ignore=y fromuser="$username" touser="$username" log=/oracle/lu/cbosslog/imp_"$tablename".log
rm /oracle/lu/"$tablename"
done
c.后台运行迁移脚本
nohup sh exp_tab.sh >exp.log &
兼容性问题:
从低版本到高版本一般不会出现兼容性问题,从高版本到低版本容易发生兼容性错误
IMP-00010: not a valid export file, header failed verification。
建议:
1、从低版本中拷贝catexp.sql到高版本中执行
2、在低版本中通过TNS远程导出dmp
3、导入数据到低版本中
4、高版本重新执行本地catexp.sql
编译失效对象脚本
@catalog @catproc @utlrp