- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
卸载oracle表结构到文本中的脚本(UNIX下)
由于不太喜欢ORACLE的EXP,因为他的结果不能转为文本, 而且由于metadata没有安装,所以get_ddl不能成功, 最近没有看到有类似informix的dbschema的工具,所以就自己写了个脚本 还是比较幼稚,目前还不能处理视图、同义名、存储过程, 希望大家多提意见,使他能更好的服务客户 涉及的系统表 1. User_tables 用户表 2. User_tab_columns 用户表的字段 3. User_view 用户视图 4. User_indexes 用户表的索引 5. User_ind_columns 用户表字段的索引 6. User_constraints 用户表的限定 7. User_cons_columns 用户表字段的限定 使用方法 dbschema.sh 功能: 根据一个数据库或表名来卸载结构,并在当前目录中生成对应的数据结构文件,包含表结构、主键、外键、索引等。 语法: dbschema.sh userid/passwd[@connection][table_name] userid/passwd[@oracle_sid]: 登录数据库的信息 tablename : 卸载的表名[可选] 举例说明: dbschema.sh test/test@testdb 逐个处理该用户的表,在当前目录中生成test.sql脚本。 dbschema.sh test/test@testdb TT 处理test用户的tt表,在当前目录中生成tt.sql脚本。 脚本说明 #!/usr/bin/ksh ################################################################################ # # 模块: dbschema.sh # # 描述: 根据一个数据库或表名来获取相应的结构脚本 # # 参数 1 = 用户名/密码[@实例名] # 参数 2 = 表名/视图名(可选) # # 作者 Bing He # # 修改记录 # 日期 修改人 修改描述 # # 10/20/2003 Bing He 开始编写 # ################################################################################ ################################################################################ ##-- 局部变量定义 lv_argc=0 #命令行入参个数 lv_loginfo= #命令行中的登录信息 lv_table_name= #命令行中的表名信息 lv_filename= #输出的文件名 lv_tab_number=0 #需要处理的表的个数 lv_sep=| #分隔符 lv_grid_str=\t #输出的距行首的空格 lv_deal_table= #当前处理的表 lv_file_temp1=get_ddl.temp1 #临时文件名 lv_file_temp2=get_ddl.temp2 #临时文件名 lv_file_temp3=get_ddl.temp3 #临时文件名 lv_file_tab_col=get_ddl.col1 #临时文件名 lv_file_tab_con=get_ddl.con1 #临时文件名 lv_file_col_con=get_ddl.con2 #临时文件名 lv_file_tab_ind=get_ddl.ind1 #临时文件名 lv_file_col_ind=get_ddl.ind2 #临时文件名 ################################################################################ ################################################################################ ##-- 检查用户名密码的权限 f_check_userid() { sqlplus ${lv_loginfo} ! /dev/null set echo off; set heading off; desc user_tables; exit ! if [ $? -ne 0 ] then echo Error:f_check_userid failed. echo Please check the usern
文档评论(0)