配置:
Windows NT 4.0 中文版
5塊10.2GB SCSI硬盤(pán)
分:C:盤(pán)、D:盤(pán)、E:盤(pán)、F:盤(pán)、G:盤(pán)
Oracle 8.0.4 for Windows NT
NT安裝在C:\WINNT,Oracle安裝在C:\ORANT
目標(biāo):
因系統(tǒng)的回滾段太小,現(xiàn)打算生成新的回滾段,
建立大的、新的表空間(數(shù)據(jù)表空間、索引表空間、回滾表空間、臨時(shí)表空間、)
建兩個(gè)數(shù)據(jù)表空間、兩個(gè)索引表空間,這樣建的目的是根據(jù)實(shí)際應(yīng)用,
如:現(xiàn)有10個(gè)應(yīng)用用戶,每個(gè)用戶是一個(gè)獨(dú)立子系統(tǒng)(如:商業(yè)進(jìn)銷(xiāo)存MIS系統(tǒng)中的財(cái)務(wù)、收款、庫(kù)存、人事、總經(jīng)理等)
尤其大型商場(chǎng)中收款機(jī)眾多,同時(shí)訪問(wèn)進(jìn)程很多,經(jīng)常達(dá)到50-100個(gè)進(jìn)程同時(shí)訪問(wèn),
這樣,通過(guò)建立多個(gè)用戶表空間、索引表空間,把各個(gè)用戶分別建在不同的表空間里(多個(gè)用戶表空間放在不同的物理磁盤(pán)上),
減少了用戶之間的I/O競(jìng)爭(zhēng)、讀寫(xiě)數(shù)據(jù)與寫(xiě)讀索引的競(jìng)爭(zhēng)(用戶表空間、索引表空間也分別放在不同的物理磁盤(pán)上)
規(guī)劃:
C:盤(pán)、NT系統(tǒng),Oracle系統(tǒng)
D:盤(pán)、數(shù)據(jù)表空間1(3GB、自動(dòng)擴(kuò)展)、回滾表空間1(1GB、自動(dòng)擴(kuò)展)
E:盤(pán)、數(shù)據(jù)表空間2(3GB、自動(dòng)擴(kuò)展)、回滾表空間2(1GB、自動(dòng)擴(kuò)展)
F:盤(pán)、索引表空間1(2GB、自動(dòng)擴(kuò)展)、臨時(shí)表空間1(0.5GB、不自動(dòng)擴(kuò)展)
G:盤(pán)、索引表空間2(2GB、自動(dòng)擴(kuò)展)、臨時(shí)表空間2(0.5GB、不自動(dòng)擴(kuò)展)
注:這只是一個(gè)簡(jiǎn)單的規(guī)劃,實(shí)際規(guī)劃要依系統(tǒng)需求來(lái)定,盡量減少I(mǎi)/O競(jìng)爭(zhēng)
實(shí)現(xiàn):
1、首先查看系統(tǒng)有哪些回滾段及其狀態(tài)。
SQL> col owner format a20
SQL> col status format a10
SQL> col segment_name format a20
SQL> col tablespace_name format a20
SQL> SELECT OWNER,SEGMENT_NAME,TABLESPACE_NAME,SUM(BYTES)/1024/1024 M
2 FROM DBA_SEGMENTS
3 WHERE SEGMENT_TYPE='ROLLBACK'
4 GROUP BY OWNER,SEGMENT_NAME,TABLESPACE_NAME
5 /
OWNER SEGMENT_NAME TABLESPACE_NAME M
-------------------- -------------------- -------------------- ---------
SYS RB1 ROLLBACK_DATA .09765625
SYS RB10 ROLLBACK_DATA .09765625
SYS RB11 ROLLBACK_DATA .09765625
SYS RB12 ROLLBACK_DATA .09765625
SYS RB13 ROLLBACK_DATA .09765625
SYS RB14 ROLLBACK_DATA .09765625
SYS RB15 ROLLBACK_DATA .09765625
SYS RB16 ROLLBACK_DATA .09765625
SYS RB2 ROLLBACK_DATA .09765625
SYS RB3 ROLLBACK_DATA .09765625
SYS RB4 ROLLBACK_DATA .09765625
SYS RB5 ROLLBACK_DATA .09765625
SYS RB6 ROLLBACK_DATA .09765625
SYS RB7 ROLLBACK_DATA .09765625
SYS RB8 ROLLBACK_DATA .09765625
SYS RB9 ROLLBACK_DATA .09765625
SYS RB_TEMP SYSTEM .24414063
SYS SYSTEM SYSTEM .1953125
查詢到18記錄.
SQL> SELECT SEGMENT_NAME,OWNER,
2 TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS
3 FROM DBA_ROLLBACK_SEGS
4 /
SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID FILE_ID STATUS
-------------------- -------------------- -------------------- ---------- --------- ----------
SYSTEM SYS SYSTEM 0 1 ONLINE
RB_TEMP SYS SYSTEM 1 1 OFFLINE
RB1 PUBLIC ROLLBACK_DATA 2 3 ONLINE
RB2 PUBLIC ROLLBACK_DATA 3 3 ONLINE
RB3 PUBLIC ROLLBACK_DATA 4 3 ONLINE
RB4 PUBLIC ROLLBACK_DATA 5 3 ONLINE
RB5 PUBLIC ROLLBACK_DATA 6 3 ONLINE
RB6 PUBLIC ROLLBACK_DATA 7 3 OFFLINE
RB7 PUBLIC ROLLBACK_DATA 8 3 OFFLINE
RB8 PUBLIC ROLLBACK_DATA 9 3 OFFLINE
RB9 PUBLIC ROLLBACK_DATA 10 3 OFFLINE
RB10 PUBLIC ROLLBACK_DATA 11 3 OFFLINE
RB11 PUBLIC ROLLBACK_DATA 12 3 OFFLINE
RB12 PUBLIC ROLLBACK_DATA 13 3 OFFLINE
RB13 PUBLIC ROLLBACK_DATA 14 3 OFFLINE
RB14 PUBLIC ROLLBACK_DATA 15 3 OFFLINE
RB15 PUBLIC ROLLBACK_DATA 16 3 OFFLINE
RB16 PUBLIC ROLLBACK_DATA 17 3 OFFLINE
查詢到18記錄.
2、修改代碼如下,可把以下代碼存入一.sql文件,如cg_sys.sql,然后以SQL> @cg_sys.sql調(diào)用執(zhí)行。
--注意:各個(gè)硬盤(pán)上要事先建好oradata目錄
--修改現(xiàn)有回滾段,使之失效,下線
alter rollback segment rb1 offline;
alter rollback segment rb2 offline;
alter rollback segment rb3 offline;
alter rollback segment rb4 offline;
alter rollback segment rb5 offline;
alter rollback segment rb6 offline;
alter rollback segment rb7 offline;
alter rollback segment rb8 offline;
alter rollback segment rb9 offline;
alter rollback segment rb10 offline;
alter rollback segment rb11 offline;
alter rollback segment rb12 offline;
alter rollback segment rb13 offline;
alter rollback segment rb14 offline;
alter rollback segment rb15 offline;
alter rollback segment rb16 offline;
--刪除原有回滾段
drop rollback segment rb1;
drop rollback segment rb2;
drop rollback segment rb3;
drop rollback segment rb4;
drop rollback segment rb5;
drop rollback segment rb6;
drop rollback segment rb7;
drop rollback segment rb8;
drop rollback segment rb9;
drop rollback segment rb10;
drop rollback segment rb11;
drop rollback segment rb12;
drop rollback segment rb13;
drop rollback segment rb14;
drop rollback segment rb15;
drop rollback segment rb16;
--建數(shù)據(jù)表空間1
--收款、庫(kù)存、訂貨、遠(yuǎn)程通信
create tablespace USER_DATA1 datafile
'd:\oradata\user1_1.ora' size 512M,
'd:\oradata\user1_2.ora' size 512M,
'd:\oradata\user1_3.ora' size 512M,
'd:\oradata\user1_4.ora' size 512M,
'd:\oradata\user1_5.ora' size 512M,
'd:\oradata\user1_6.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--initial 128K,因?yàn)?,用戶建在表空間上,而表建在用戶里,為用戶所擁有,
--用戶繼承數(shù)據(jù)表空間的存儲(chǔ)參數(shù),表繼承用戶的存儲(chǔ)參數(shù)
--如果initial設(shè)的過(guò)大,如:5M,則每建一個(gè)空表就要占用5M的空間,即使一條記錄也沒(méi)有
--AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED,設(shè)置數(shù)據(jù)文件自動(dòng)擴(kuò)展,每一次擴(kuò)展增加5M,最大空間不受限
--建數(shù)據(jù)表空間2
--物價(jià)、人事、結(jié)算、財(cái)務(wù)、總經(jīng)理、合同、統(tǒng)計(jì)
create tablespace USER_DATA2 datafile
'e:\oradata\user2_1.ora' size 512M,
'e:\oradata\user2_2.ora' size 512M,
'e:\oradata\user2_3.ora' size 512M,
'e:\oradata\user2_4.ora' size 512M,
'e:\oradata\user2_5.ora' size 512M,
'e:\oradata\user2_6.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--建索引表空間1
create tablespace INDEX_DATA1 datafile
'f:\oradata\index1_1.ora' size 512M,
'f:\oradata\index1_2.ora' size 512M,
'f:\oradata\index1_3.ora' size 512M,
'f:\oradata\index1_4.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--建索引表空間2
create tablespace INDEX_DATA2 datafile
'g:\oradata\index2_1.ora' size 512M,
'g:\oradata\index2_2.ora' size 512M,
'g:\oradata\index2_3.ora' size 512M,
'g:\oradata\index2_4.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 128K next 2M pctincrease 0);
--建回滾表空間1
--設(shè)置初始值40M(initial 40M),則每在這個(gè)表空間中建一個(gè)回滾段,
--此回滾段自動(dòng)繼承此回滾表空間的存儲(chǔ)參數(shù),也即默認(rèn)文件為40M
create tablespace ROLLBACK_DATA1 datafile
'd:\oradata\roll1_1.ora' size 512M,
'd:\oradata\roll1_2.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 40M next 5M pctincrease 0);
--建回滾表空間2
create tablespace ROLLBACK_DATA2 datafile
'e:\oradata\roll2_1.ora' size 512M,
'e:\oradata\roll2_2.ora' size 512M
AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
default storage (initial 40M next 5M pctincrease 0);
--建臨時(shí)表空間1
create tablespace TEMPORARY_DATA1 datafile
'f:\oradata\temp1_1.ora' size 512M
default storage (initial 10M next 3M pctincrease 0);
--建臨時(shí)表空間2
create tablespace TEMPORARY_DATA2 datafile
'g:\oradata\temp2_1.ora' size 512M
default storage (initial 10M next 3M pctincrease 0);
--使其真正成為臨時(shí)的
alter tablespace TEMPORARY_DATA1 temporary;
alter tablespace TEMPORARY_DATA2 temporary;
--建立新的回滾段,每個(gè)都一樣大,不同大小的回滾段沒(méi)有什么意義,系統(tǒng)是隨機(jī)選擇的。
--建多少個(gè),根據(jù)并發(fā)訪問(wèn)用戶的多少,
--如果你們公司每天有50-100個(gè)人員使用Oracle系統(tǒng)開(kāi)發(fā)的管理軟件,應(yīng)該20個(gè)以上
create public rollback segment rb01 tablespace rollback_data1;
create public rollback segment rb02 tablespace rollback_data1;
create public rollback segment rb03 tablespace rollback_data1;
create public rollback segment rb04 tablespace rollback_data1;
create public rollback segment rb05 tablespace rollback_data1;
create public rollback segment rb06 tablespace rollback_data1;
create public rollback segment rb07 tablespace rollback_data1;
create public rollback segment rb08 tablespace rollback_data1;
create public rollback segment rb09 tablespace rollback_data2;
create public rollback segment rb10 tablespace rollback_data2;
--前8個(gè)建在回滾表空間1中,后8個(gè)在回滾表空間2
create public rollback segment rb11 tablespace rollback_data2;
create public rollback segment rb12 tablespace rollback_data2;
create public rollback segment rb13 tablespace rollback_data2;
create public rollback segment rb14 tablespace rollback_data2;
create public rollback segment rb15 tablespace rollback_data2;
create public rollback segment rb16 tablespace rollback_data2;
create public rollback segment rb17 tablespace rollback_data2;
create public rollback segment rb18 tablespace rollback_data2;
create public rollback segment rb19 tablespace rollback_data2;
create public rollback segment rb20 tablespace rollback_data2;
--使回滾段online,即有效
alter rollback segment rb01 online;
alter rollback segment rb02 online;
alter rollback segment rb03 online;
alter rollback segment rb04 online;
alter rollback segment rb05 online;
alter rollback segment rb06 online;
alter rollback segment rb07 online;
alter rollback segment rb08 online;
alter rollback segment rb09 online;
alter rollback segment rb10 online;
alter rollback segment rb11 online;
alter rollback segment rb12 online;
alter rollback segment rb13 online;
alter rollback segment rb14 online;
alter rollback segment rb15 online;
alter rollback segment rb16 online;
alter rollback segment rb17 online;
alter rollback segment rb18 online;
alter rollback segment rb19 online;
alter rollback segment rb20 online;
--查看現(xiàn)有回滾段及其狀態(tài)
col segment format a30
SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS;
--查看數(shù)據(jù)文件及其所在表空間、大小、狀態(tài)
col file_name format a40
col tablespace_name format a20
select file_name,file_id,tablespace_name,bytes,status from dba_data_files;
至此,表空間重新規(guī)劃完畢,這里講的比較通俗,還有好多參數(shù)值得設(shè)置,能夠把Oracle設(shè)置到最優(yōu)的境界,
表空間設(shè)置完了,下面,就該好好的整理一下Oracle的內(nèi)存區(qū)了,
Oracle很有意思,內(nèi)存越大,效果越明顯,所以有必要好好調(diào)整一下SGA區(qū),也就是主要配置ininorcl.ora參數(shù)文件。
...代續(xù)...
轉(zhuǎn)載請(qǐng)注明出處,謝謝 Oracle技術(shù)網(wǎng)http://www.oradb.net/
|