建立最優的oracle資料庫

y81277241發表於2015-05-13
一 建立資料庫必須遵循的原則
1、強制資料庫中建立的每一個表空間必須是本地管理。
extent management local定義本地表空間。
2、確保資料庫為每個使用者自動分配一個預設的永久表空間。
3、確保資料庫會為每個使用者自動分配一個預設的臨時表空間。
4、建立一個自動的UNDO表空間(自動撤銷管理透過設定UNDO_MANAGEMENT和UNDO_TABLESACE初始化引數來啟用)。
5、按照環境中的一定標準,講資料檔案放到相應資料夾中。
6、DBA使用者的密碼設定為非預設值,確保資料庫的安全性。
7、根據應用建立redo檔案,每組兩個成員,大小適合事務載入。
 
1、查詢預設永久表空間和修改預設
select * fromdatabase_prooperties where property_name='DEFAULT_PERMANENT_TABLESPACES';
alter database default tablespace users;
2、查詢預設臨時表空間和修改預設
select * fromdatabase_prooperties where property_name=‘DEFAULT_TEMP_TABLESPACE';
alter database default temporary tablespace temp;
3、檢驗undo表空間的設定
select name,value from v$parameter where name in('undo_management','undo_tablespace');
修改UNDO表空間,首先建立一個新的,然後使用alter system set undo_tablespace='';
 
二 建立最優的表空間
1、本地管理
2、ASSM(Automatic segment space management, 自動段空間管理)
例子:
create tablespace tools
datafile '/u01/app/oracle/oradata/tooles01.dbf' size 100m
extent management local
uniform size 128k
segment space management auto;
 
uniform size 子句將表空間中每一次空間擴充套件的大小設定為同樣的值,或者也可以將其生命為autoallocate,這樣的話Oracle就可以每次分配64k、1MB、8MB或64M的擴充套件空間。如果表空間中的物件大小是不固定的,那麼最好還是將其設定為自動分配。
 
本地管理+ASSM結合起來,被廢棄的儲存引數:
next
pcitncrease
minextents
maxextents
default
使用了segment space management auto子句,就沒必要在宣告下面這些引數:
pctused
freelists
freelist groups
 
查詢表空間屬性:
select tablespace_name,extent_management,segment_space_management from dba_tablespaces;
 
建立表空間時,還可以指定其型別為小檔案(smallfile)或大檔案(bigfile)。在Oracle 10G之前,只能使用小檔案。
大檔案表空間只能有一個相關的資料檔案(資料檔案大小根據儲存塊大小計算)
 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29523859/viewspace-1652954/,如需轉載,請註明出處,否則將追究法律責任。

相關文章