最近要遷移客戶的一套數(shù)據(jù)庫(kù),數(shù)據(jù)量比較大,源端表空間也比較多,建庫(kù)完成后,創(chuàng)建表空間也是個(gè)花時(shí)間的活,就想著偷點(diǎn)懶,寫個(gè)簡(jiǎn)單的腳本實(shí)現(xiàn),反正ASM環(huán)境,最麻煩的文件路徑問題也不是事兒嘛~
因?yàn)?/span>ASM環(huán)境路徑只需指定到磁盤組即可,所以只需要一個(gè)簡(jiǎn)單的判斷循環(huán),就可以后臺(tái)跑腳本來自動(dòng)創(chuàng)建表空間,添加數(shù)據(jù)文件了。這邊現(xiàn)場(chǎng)的數(shù)據(jù)庫(kù)文件大小一般為32764m,我們根據(jù)源端表空間的大小和使用率,得出所需的數(shù)據(jù)文件個(gè)數(shù)作為參數(shù)文件就可以了。
set line 300 pages 99 select a.tablespace_name,ceil(round(total,1)/32764) total_count,ceil(round(total-free,1)/32764) used_count from (select tablespace_name,sum(bytes)/(1024*1024) total from dba_data_files group by tablespace_name) a , (select tablespace_name,sum(bytes)/(1024*1024) free from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name(+) and a.tablespace_name not in (‘SYSTEM’,’SYSAUX’,’USER’) and a.tablespace_name not lile ‘UNDO%’ order by 3 desc; |
vi create_tbs.sh source ~/.bash_profile export ORACLE_SID=orcl –防止多實(shí)例數(shù)據(jù)庫(kù)的情況 echo $ORACLE_SID cat cfg_tablespace.txt|while read space_name TOTAL_COUNT USED_COUNT—可根據(jù)實(shí)際情況選擇是用TOTAL_COUNT還是USED_COUNT,或者表空間的其他規(guī)劃 do if [ $USED_COUNT = "1" ]; then sqlplus / as sysdba < create tablespace $space_name datafile +DATA_DG1 size 32764m autoextend off; disconnect exit EOF else sqlplus / as sysdba < create tablespace $space_name datafile +DATA_DG1 size 32764m autoextend off; disconnect exit EOF USED_COUNT=`expr $USED_COUNT - 1` echo $USED_COUNT for i in `seq 1 $USED_COUNT` do sqlplus / as sysdba < alter tablespace $space_name add datafile +DATA_DG1 size 32764m autoextend off; disconnect exit EOF done fi done |
因?yàn)榄h(huán)境很干凈,所以沒有考慮更多的復(fù)雜情況,實(shí)現(xiàn)的邏輯就是如果僅需一個(gè)數(shù)據(jù)文件,那就使用創(chuàng)建表空間制定一個(gè)數(shù)據(jù)文件的語(yǔ)句,如果需要多個(gè)表空間,就先創(chuàng)建表空間并指定一個(gè)數(shù)據(jù)文件,然后把count數(shù)減一,作為循環(huán)的次數(shù)往這個(gè)表空間里添加數(shù)據(jù)文件即可。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/129953.html
摘要:字節(jié)碼及使用什么是字節(jié)碼機(jī)器碼機(jī)器碼是可直接解讀的指令。字節(jié)碼的執(zhí)行操作,指的就是對(duì)當(dāng)前棧幀數(shù)據(jù)結(jié)構(gòu)進(jìn)行的操作。動(dòng)態(tài)鏈接每個(gè)棧幀指向運(yùn)行時(shí)常量池中該棧幀所屬的方法的引用,也就是字節(jié)碼的發(fā)放調(diào)用的引用。 字節(jié)碼及ASM使用 什么是字節(jié)碼? 機(jī)器碼機(jī)器碼(machine code)是CPU可直接解讀的指令。機(jī)器碼與硬件等有關(guān),不同的CPU架構(gòu)支持的硬件碼也不相同。 字節(jié)碼字節(jié)碼(byte...
摘要:?jiǎn)栴}九庫(kù)控制文件擴(kuò)展報(bào)錯(cuò)庫(kù)的擴(kuò)展報(bào)錯(cuò),用的是裸設(shè)備,和還是原來大小,主庫(kù)的沒有報(bào)錯(cuò),并且大小沒有變,求解釋。專家解答從報(bào)錯(cuò)可以看出,控制文件從個(gè)塊擴(kuò)展到個(gè)塊時(shí)報(bào)錯(cuò),而裸設(shè)備最大只支持個(gè)塊,無法擴(kuò)展,可以嘗試將參數(shù)改小,避免控制文件報(bào)錯(cuò)。 鏈接描述引言 近期我們?cè)贒BASK小程序新關(guān)聯(lián)了運(yùn)維之美、高端存儲(chǔ)知識(shí)、一森咖記、運(yùn)維咖啡吧等數(shù)據(jù)領(lǐng)域的公眾號(hào),歡迎大家閱讀分享。 問答集萃 接下來,...
每篇一句 胡適:多談些問題,少聊些主義 前言 Spring MVC和MyBatis作為當(dāng)下最為流行的兩個(gè)框架,大家平時(shí)開發(fā)中都在用。如果你往深了一步去思考,你應(yīng)該會(huì)有這樣的疑問: 在使用Spring MVC的時(shí)候,你即使不使用注解,只要參數(shù)名和請(qǐng)求參數(shù)的key對(duì)應(yīng)上了,就能自動(dòng)完成數(shù)值的封裝 在使用MyBatis(接口模式)時(shí),接口方法向xml里的SQL語(yǔ)句傳參時(shí),必須(當(dāng)然不是100%的必須,...
摘要:作用是將標(biāo)準(zhǔn)輸入中的所有大寫字母轉(zhuǎn)換為響應(yīng)的小寫字母。的移植過的源代碼是在源代碼目錄下編譯的,所以源代碼目錄等于目標(biāo)文件目錄,所以條件不滿足,將執(zhí)行分支的代碼。 ????????一個(gè)嵌入式產(chǎn)品的開發(fā)階段,需要不斷地把bootloader下載到存儲(chǔ)器中,如果存儲(chǔ)器使用nand flash,但是...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20