以下的文章主要是對Oracle表空間的設置問題的描述我們大家都知道Oracle數據庫中的表很多一共算是多個表大概你能占十幾個G空間下面的文章主要講述的是Oracle表空間設置
是設置在USERS表空間內建立一個十幾G的數據文件USERSDBF呢?
還是在USERS表空間內建立三個幾G的數據文件USERSDBFUSERSDBFUSERSDBF
Oracle表空間內的數據文件以多大上限最好?是越大的單個文件好呢?還是小一點的多個文件好?以什麼為原則?
Oracle數據庫產生許多碎片怎麼辦?存儲數據文件的這個盤符可以定期做磁盤碎片整理嗎?該怎麼做?要不要先把數據庫關掉再做?
兩個數據庫同時運行在一個服務器上面為兩套業務系統服務
兩個數據庫共用一個對外端口合理嗎?會不會影響數據吞吐性能?要不要一個用端口一個用端口開兩個監聽程序這樣設置?
分成多個數據文件
原因是
()有些操作系統對文件大小有限制或者安裝是做過限制你不一定清楚這些限制而且某些版本的傳輸協議不支持過大的文件例如AIX某版本的sftp就不允許傳輸文件超過G
()你現在數據量小所以不用考慮太多但將來數據量增大以後要考慮負載均衡就要把部分數據文件挪到其他盤上多個數據文件會使這樣很容易
()當你的數據文件某部分出現壞塊之後你需要讓某個數據文件暫時offline恢復等等如果你的數據文件過大影響也可能更大
()使用RMAN備份的時候單獨備份數據文件恢復也可單獨恢復因此很顯然分多個數據文件有好處
單個數據文件的大小這個要考慮的東西比較多比如你的存儲性能比如你的總數據量等等專家的建議是對於幾十G到幾百G的數據量單個數據文件的大小一般在-G原則有一套理論說明的但是我忘了只說一下個人的建議
()操作系統限制這個如果沒有注意到很容易出問題特別是自擴展的數據文件例如systemundotbs等等
()Oracle表空間的大小要考慮單個數據文件移動或恢復的情況顯然如果對於幾十個G的表空間就分成兩個數據文件並不能對你的操作帶來什麼好處
()全憑經驗把握的東西還要考慮的你硬盤的raid情況等等情況比較復雜只能折衷不能簡單的一概而論說大就好或者小就好
當然這並不是主要的你沒必要太關注這方面的東西因為對於你這樣的簡單環境來說區區一個表空間數據文件大小的修改對性能的提高甚至不如多建一條索引大!
數據庫產生碎片怎麼辦我告訴你數據庫的碎片和windows說的那個碎片整理是兩碼事你不要混淆windows再怎麼整理也是沒用的
其實我坦白的跟你講你幾十個G的數據庫短期根本就不用考慮什麼碎片問題這種情況得等大家都反映數據庫開始變慢了再考慮回收段空間等等而且你都說是否要關閉了再做說明你的數據庫可以關也就暗示了它不是很忙那麼最近-年之內你不用考慮做這件事了
兩個數據庫同時用一個監聽器當然不合理你一個監聽器掛了兩個數據庫都連不上去你不覺得這樣風險很大麼?
兩個公用一個端口對數據的吞吐性能是沒有任何影響的這個你不用擔心但是安全性無疑很低
所以當然有必要用兩個端口和其實我建議你把兩個數據庫安裝在兩個不同的操作系統用戶下面這樣大家彼此邏輯都清楚影響小帶來的好處你能慢慢體會到這純粹是從我的工作經驗來建議你的如果你嫌麻煩當我沒說
如何設置?你這個問題問的復雜了我可懶得把編輯TNS的一堆寫出來
告訴你個簡單方法先命令行輸入netca創建監聽器建兩個和然後再命令行dbca創建數據庫注意創建的過程中會提示你和哪個端口綁定自己選就行了全圖形界面非常簡單
From:http://tw.wingwit.com/Article/program/Oracle/201311/18779.html