在使用oracle时,总觉得oracle的导入,导出没有informix的load,unload好用,没办法,只能参照网上朋友的思路和informix的实现,写了几个脚本,希望各位高手指点:
=============================================
工具用法:
unload.sh
Usage: unload.sh userid/passwd[@oraclesid] [tabname]
注释:
如果不加’@oraclesid’,则用当前环境变量ORACLE_SID。
如果不加tabname参数,则处理该用户下的所有表,生成’表名.unl’文件。
如果加tabname参数,则单独处理该表,生成’表名.unl’文件。
load.sh
Usage: load.sh userid/passwd[@oraclesid] [tabname]
注释:
如果不加’@oraclesid’,则用当前环境变量ORACLE_SID。
如果不加tabname参数,则装载该用户下的所有表,必须存在’表名.unl’
文件。
如果加tabname参数,则单独处理该表,必须存在’表名.unl’文件。
=============================================
具体实现:
unload.sh
利用spool的功能,将表中的数据导出到对应的文本中。
load.sh
利用sql*load的功能,将文本中的数据导入到表中。
控制文件是自动生成的,使用者不需要知道格式
执行sqlload的脚本也是自动生成
generate_control_file.sh
生成控制文件
generate_execute_shell.sh
生成执行脚本
=============================================
代码说明
load.sh
=============================================
#!/usr/bin/ksh
################################################################################
#
# Ä&&é: load.sh
#
# ÃèÊ&: &ù¾ÝÒ&&&Ê&¾Ý&&&ò±íÃ&À&×°ÔØ&ÔÓ&&ÄÊ&¾ÝÎļ&
#
# ²ÎÊ& 1 = ÓÃ&§Ã&/ÃÜÂ&[@Ê&À&Ã&]
# ²ÎÊ& 2 = ±íÃ&(&ÉÑ&

#
# ×÷Õ& Bing He
#
# ÐÞ&ļǼ
# ÈÕÆÚ ÐÞ&ÄÈË ÐÞ&ÄÃèÊ&
#
# 09/23/2003 Bing He &&ʼ±àÐ&
#
################################################################################
lv_temp1="wk.test1"
f_get_tables()






