程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle表空間的設置問題的描述

Oracle表空間的設置問題的描述

編輯:Oracle數據庫基礎

以下的文章主要是對Oracle表空間的設置問題的描述,我們大家都知道Oracle數據庫中的表很多,一共算是600多個表,大概你能占十幾個G空間。下面的文章主要講述的是Oracle表空間設置:

是設置在USERS表空間內建立一個十幾G的數據文件USERS01.DBF呢?

還是在USERS表空間內建立三個幾G的數據文件USERS01.DBF,USERS02.DBF,USERS03.DBF,

Oracle表空間內的數據文件以多大上限最好?是越大的單個文件好呢?還是小一點的多個文件好?以什麼為原則?

Oracle數據庫產生許多碎片怎麼辦?存儲數據文件的這個盤符,可以定期做“磁盤碎片整理”嗎?該怎麼做?要不要先把數據庫關掉再做?

兩個數據庫同時運行在一個服務器上面,為兩套業務系統服務,

兩個數據庫共用一個對外端口1521合理嗎?會不會影響數據吞吐性能?要不要一個用1521端口,一個用1520端口,開兩個監聽程序這樣設置?

1。分成多個數據文件。

原因是:

(1)有些操作系統對文件大小有限制,或者安裝是做過限制。你不一定清楚這些限制。而且某些版本的傳輸協議不支持過大的文件,例如AIX某版本的sFTP就不允許傳輸文件超過2G。

(2)你現在數據量小,所以不用考慮太多。但將來數據量增大以後,要考慮負載均衡,就要把部分數據文件挪到其他盤上。多個數據文件會使這樣很容易。

(3)當你的數據文件某部分出現壞塊之後,你需要讓某個數據文件暫時offline恢復等等,如果你的數據文件過大,影響也可能更大。

(4)使用RMAN備份的時候,單獨備份數據文件。恢復也可單獨恢復,因此很顯然分多個數據文件有好處。

2。單個數據文件的大小,這個要考慮的東西比較多。比如你的存儲性能,比如你的總數據量,等等。專家的建議是,對於幾十G到幾百G的數據量,單個數據文件的大小一般在2-10G。原則有一套理論說明的,但是我忘了,只說一下個人的建議:

(1)操作系統限制。這個如果沒有注意到很容易出問題,特別是自擴展的數據文件,例如system,undotbs等等

(2)Oracle表空間的大小。要考慮單個數據文件移動或恢復的情況。顯然如果對於幾十個G的表空間,就分成兩個數據文件,並不能對你的操作帶來什麼好處。

(3)全憑經驗把握的東西,還要考慮的你硬盤的raid情況等等。情況比較復雜,只能折衷。不能簡單的一概而論說大就好或者小就好。

當然這並不是主要的,你沒必要太關注這方面的東西。因為對於你這樣的簡單環境來說,區區一個表空間數據文件大小的修改,對性能的提高甚至不如多建一條索引大!

3。數據庫產生碎片怎麼辦。我告訴你,數據庫的碎片和windows說的那個碎片整理是兩碼事,你不要混淆。Windows再怎麼整理也是沒用的。

其實我坦白的跟你講,你幾十個G的數據庫,短期根本就不用考慮什麼碎片問題。這種情況得等大家都反映數據庫開始變慢了,再考慮回收段空間等等。而且你都說“是否要關閉了再做”,說明你的數據庫可以關,也就暗示了它“不是很忙”,那麼最近3-5年之內你不用考慮做這件事了。

4。兩個數據庫同時用一個監聽器1521當然不合理,你一個監聽器掛了兩個數據庫都連不上去,你不覺得這樣風險很大麼?

兩個公用一個端口,對數據的吞吐性能是沒有任何影響的,這個你不用擔心。但是安全性無疑很低。

所以當然有必要用兩個端口1521和1520,其實我建議你把兩個數據庫安裝在兩個不同的操作系統用戶下面,這樣大家彼此邏輯都清楚,影響小,帶來的好處你能慢慢體會到。這純粹是從我的工作經驗來建議你的。如果你嫌麻煩當我沒說。

如何設置?你這個問題問的復雜了,我可懶得把編輯TNS的一堆寫出來。

告訴你個簡單方法,先命令行輸入netca創建監聽器,建兩個,1521和1520。然後再命令行dbca創建數據庫,注意創建的過程中會提示你和哪個端口綁定,自己選就行了。全圖形界面非常簡單。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved