电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Unix環境卸載Oracle表結構文本中的腳本

瀏覽:23日期:2023-11-25 18:28:36
由于Oracle的EXP不能轉為文本,所以就自己寫了Unix環境下卸載Oracle表結構文本中的腳本代碼。 所涉及系統表 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/nullset echo off;set heading off;desc user_tables;exit!if [ '$?' -ne 0 ]thenecho 'Error:f_check_userid failed.'echo ' Please check the username/passwd=[${lv_loginfo}].'exitfi}##################################################################################################-- 檢查表是否存在f_check_tablename(){sqlplus ${lv_loginfo} < /dev/nullset echo off;set heading off;spool ${lv_file_temp1}select count(*) from user_tables where table_name='${lv_table_name}';spool offexit!if [ '$?' -ne 0 ]thenecho 'Error:f_check_tablename failed.'echo ' Please check the [${lv_table_name}].'exitfilv_number=`cat ${lv_file_temp1}grep -v '^SQL>'grep -v '^$'grep -v 'rows selected`if [ ${lv_number} -eq 0 ]thenecho 'Error:f_check_tablenaem failed.'echo ' Please check the table [${lv_table_name}] in [${lv_loginfo}].'exitfi}##################################################################################################-- 初始化輸出文件f_generate_file(){if [ ${lv_argc} -eq 1 ]thenlv_str=`echo ${lv_loginfo}cut -d'/' -f1 tr '[:upper:]' '[:lower:]'`lv_str_main='StrUCture For User ${lv_str}'elselv_str=`echo ${lv_table_name} tr '[:upper:]' '[:lower:]'`lv_str_main='Structure For Table ${lv_str}'filv_filename_drop_index='${lv_str}.drop_index'lv_filename_drop_foreign='${lv_str}.drop_foreign'lv_filename_drop_table='${lv_str}.drop_table'lv_filename_create_table='${lv_str}.create_table'lv_filename_create_foreign='${lv_str}.create_foreign'lv_filename='${lv_str}.sql'rm -f ${lv_filename_drop_index}rm -f ${lv_filename_drop_foreign}rm -f ${lv_filename_drop_table}rm -f ${lv_filename_create_table}rm -f ${lv_filename_create_foreign}rm -f ${lv_filename}##--生成基礎數據lv_str1='-------------------------------------'echo 'n'${lv_str1} >> ${lv_filename_drop_index}echo '--** 第一步: 刪除索引 **--' >> ${lv_filename_drop_index}echo ${lv_str1}'n' >> ${lv_filename_drop_index}lv_str1='--------------------------------------'echo 'n'${lv_str1} >> ${lv_filename_drop_foreign}echo '--** 第二步: 刪除外鍵 **--' >> ${lv_filename_drop_foreign}echo ${lv_str1}'n' >> ${lv_filename_drop_foreign}lv_str1='---------------------------------------'echo 'n'${lv_str1} >> ${lv_filename_drop_table}echo '--** 第三步: 刪除表 **--' >> ${lv_filename_drop_table}echo ${lv_str1}'n' >> ${lv_filename_drop_table}lv_str1='---------------------------------------'echo 'n'${lv_str1} >> ${lv_filename_create_table}echo '--** 第四步: 創建表結構,主鍵,索引**--' >> ${lv_filename_create_table}echo ${lv_str1} >> ${lv_filename_create_table}lv_str1='---------------------------------------'echo 'n'${lv_str1} >> ${lv_filename_create_foreign}echo '--** 第五步: 創建外鍵 **--' >> ${lv_filename_create_foreign}echo ${lv_str1}'n' >> ${lv_filename_create_foreign}lv_str1='---------------------------------------'echo 'n'${lv_str1} >> ${lv_filename}echo '--** DESC :${lv_str_main}' >> ${lv_filename}echo '--** AUTHOR:Bing He' >> ${lv_filename}echo '--** DATE :20`date +%y-%m-%d' >> ${lv_filename}echo ${lv_str1}'n' >> ${lv_filename}}####################################################################################-- 獲取用戶下的表列表f_get_tables(){rm -f ${lv_file_temp1}sqlplus ${lv_loginfo} </dev/nullset colsep ${lv_sep};set echo off;set feedback off;set heading off;set pagesize 0;set linesize 1000;set numwidth 12;set termout off;set trimout on;set trimspool on;spool ${lv_file_temp1};select table_name from user_tables;spool off;exit!if [ '$?' -ne 0 ] ; thenecho 'Usage:f_get_tables failed.'exitfiif [ -f ${lv_file_temp1} ]thenlv_table_name=`cat ${lv_file_temp1} grep -v '^SQL>' tr -d ' ' tr '[:lower:]' '[:upper:]'`echo ${lv_table_name} > 1.outelseecho 'Error:f_get_tables failed.${lv_file_temp1} file not found!'exitfirm -f ${lv_file_temp1}}#################
標簽: Oracle 數據庫
主站蜘蛛池模板: 合肥网络推广_合肥SEO网站优化-安徽沃龙First | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 二手色谱仪器,十万分之一分析天平,蒸发光检测器,电位滴定仪-湖北捷岛科学仪器有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 半自动预灌装机,卡式瓶灌装机,注射器灌装机,给药器灌装机,大输液灌装机,西林瓶灌装机-长沙一星制药机械有限公司 | 上海物流公司,上海货运公司,上海物流专线-优骐物流公司 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 砍排机-锯骨机-冻肉切丁机-熟肉切片机-预制菜生产线一站式服务厂商 - 广州市祥九瑞盈机械设备有限公司 | 全屋整木定制-橱柜,家具定制-四川峨眉山龙马木业有限公司 | 穿线管|波纹穿线管|包塑金属软管|蛇皮管?闵彬专注弱电工程? | uv机-uv灯-uvled光固化机-生产厂家-蓝盾机电 | 挤出机_橡胶挤出机_塑料挤出机_胶片冷却机-河北伟源橡塑设备有限公司 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 探鸣起名网-品牌起名-英文商标起名-公司命名-企业取名包满意 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 称重传感器,测力传感器,拉压力传感器,压力变送器,扭矩传感器,南京凯基特电气有限公司 | 东莞工作服_东莞工作服定制_工衣订做_东莞厂服 | 北京遮阳网-防尘盖土网-盖土草坪-迷彩网-防尘网生产厂家-京兴科技 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 气动球阀_衬氟蝶阀_调节阀_电动截止阀_上海沃托阀门有限公司 | 【德信自动化】点胶机_全自动点胶机_自动点胶机厂家_塑料热压机_自动螺丝机-深圳市德信自动化设备有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 写方案网_方案策划方案模板下载| 南京欧陆电气股份有限公司-风力发电机官网 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 氧氮氢联合测定仪-联测仪-氧氮氢元素分析仪-江苏品彦光电 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 电加热导热油炉-空气加热器-导热油加热器-翅片电加热管-科安达机械 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 上海租车公司_上海包车_奔驰租赁_上海商务租车_上海谐焕租车 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | 昊宇水工|河北昊宇水工机械工程有限公司| 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 |