亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Unix下卸載Oracle表結構到文本中的腳本

2024-08-29 13:51:30
字體:
來源:轉載
供稿:網友
本文具體的講述了Unix下卸載Oracle表結構到文本中的腳本。 現象:由于Oracle的EXP的結果不能轉化為文本,由于沒有安裝metadata,所以get-ddk不能成功。 缺點:不能處理視圖、同義名、存儲過程。 涉及的系統表: 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 10g STATSPACK新功能

下一篇:教你使用智能優化器提高Oracle性能極限

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产一区二区三区精品久久久| 久久九九免费视频| 国产亚洲欧美另类中文| 亚洲爱爱爱爱爱| 色99之美女主播在线视频| 欧美日韩一区二区精品| 国产精品亚发布| 日韩一区二区三区xxxx| 欧美人与性动交| 亚洲一区二区三区777| 欧美有码在线观看视频| 欧美精品九九久久| 国产不卡av在线| 国模gogo一区二区大胆私拍| 亚洲第一区在线观看| 97精品一区二区视频在线观看| 亚洲香蕉伊综合在人在线视看| 久久69精品久久久久久国产越南| 97视频在线观看免费| 两个人的视频www国产精品| 国产玖玖精品视频| 亚洲女人天堂色在线7777| 91视频8mav| 国产视频丨精品|在线观看| 亚洲欧美日韩一区在线| 欧美精品中文字幕一区| 国产亚洲日本欧美韩国| 日韩精品极品视频免费观看| 欧美一级在线亚洲天堂| 国产a∨精品一区二区三区不卡| 亚洲成人精品久久| 国产性猛交xxxx免费看久久| 日韩大陆毛片av| 国产日本欧美在线观看| 欧美另类暴力丝袜| 国产一区二区丝袜| 日韩网站免费观看| 日韩免费在线电影| 精品一区二区三区四区在线| 国产视频精品xxxx| 日韩美女在线播放| 九九精品视频在线观看| 亚洲欧美制服丝袜| 欧美一区二区三区免费观看| 超碰日本道色综合久久综合| 97色在线观看免费视频| 国产精品大片wwwwww| 一区二区三区四区精品| 成人午夜黄色影院| 亚洲经典中文字幕| 国产成人拍精品视频午夜网站| 国产欧美日韩精品在线观看| 亚洲精品久久久一区二区三区| 8x海外华人永久免费日韩内陆视频| 久久久精品影院| 日韩av网址在线观看| 亚洲丝袜在线视频| 久国内精品在线| 精品在线小视频| 久久九九热免费视频| 亚洲sss综合天堂久久| 国产精品影院在线观看| 日产精品久久久一区二区福利| 97精品国产97久久久久久春色| 国产美女扒开尿口久久久| 日韩精品极品毛片系列视频| 久久久久久这里只有精品| 亚洲va电影大全| 日韩欧美中文字幕在线观看| 精品欧美国产一区二区三区| 中文字幕av一区二区| 中文字幕欧美国内| 国产日韩精品在线| 成人a视频在线观看| 91精品国产91久久久久福利| 高清一区二区三区日本久| 欧美激情一二区| 国产mv免费观看入口亚洲| 欧美一区二区三区四区在线| 久久久久久成人| 日韩中文视频免费在线观看| 久久在线免费视频| 91精品国产成人| 国产精品久久久久av免费| 亚洲高清一区二| 欧美激情视频网| 亚洲一二三在线| 日韩中文字幕网站| 伊人伊人伊人久久| 国产精品久久电影观看| 欧美猛男性生活免费| 一个人看的www久久| 国产在线999| 亚洲欧美激情另类校园| 最好看的2019年中文视频| 亚洲自拍欧美色图| 91香蕉嫩草影院入口| 在线看国产精品| 色综久久综合桃花网| 国产精品入口免费视频一| 久久亚洲电影天堂| 日韩成人av在线播放| 国产一区二区三区毛片| 国产精品日韩久久久久| 欧美日韩国产中文精品字幕自在自线| 国产精品一区二区久久久| 精品国产依人香蕉在线精品| 亚洲激情小视频| 中文字幕亚洲欧美| 在线播放精品一区二区三区| 日韩视频在线免费观看| 欧美猛交免费看| 亚洲成人1234| 国产精品夜间视频香蕉| 在线播放国产一区二区三区| 欧美日韩aaaa| 国产精品久久久久久久9999| 8050国产精品久久久久久| 国产日韩精品一区二区| 懂色aⅴ精品一区二区三区蜜月| 欧美情侣性视频| 91免费在线视频网站| 久久人人爽人人爽人人片av高清| 这里只有精品视频| 欧美成人午夜免费视在线看片| 亚洲欧美日韩在线一区| 在线观看亚洲视频| 中文字幕精品网| 亚洲午夜精品久久久久久久久久久久| 亚洲深夜福利网站| 情事1991在线| 亚洲欧美国产va在线影院| 视频一区视频二区国产精品| 6080yy精品一区二区三区| 久久久女女女女999久久| 国产大片精品免费永久看nba| 亚洲精品综合精品自拍| 91精品视频在线免费观看| 国产精品av电影| 97超级碰碰人国产在线观看| 亚洲人成人99网站| 国产精品都在这里| 人人做人人澡人人爽欧美| 九九热这里只有精品6| 成人444kkkk在线观看| 国产成人精品一区二区三区| 亚洲国产女人aaa毛片在线| 欧美性猛交xxxx乱大交| 精品久久久香蕉免费精品视频| 日韩欧美视频一区二区三区| 欧美视频在线免费看| 精品国产1区2区| 国产有码在线一区二区视频| 亚洲成人久久久| 日韩欧美高清视频| 欧美放荡办公室videos4k| 在线观看中文字幕亚洲| 成人羞羞国产免费| 97视频在线免费观看| 成人h片在线播放免费网站| 亚洲精品日韩av| 欧美电影免费在线观看| 91国产在线精品| 日韩网站免费观看|