分享
 
 
 

ORACLE 服務器的配置及優化

王朝oracle·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

ORACLE 服務器的配置及優化

1. 在ORACLE中實現分布式快速存取和充實內存是很重要的。

要不惜任何代價避免頁面調度和交換﹐每次都必須把系統全局區(SGA)放到內存。

將SGA放到內存中﹐在INIT.ORA中設置參數 PRE_PAGE_SGA

PRE_PAGE_SGA=YES

2. 回卷段的竟爭會降低系統的性能。

SELECT GETS,WAITS FROM V$ROLLSTAT;

GETS代表回卷段被訪問的次數

WAITS代表進程等待回卷段中哪個進程的次數

如果GETS與WAITS的比大于2%表示存在竟爭問題

解決辦法是創建更多的回卷段。

有兩種類型的鎖存竟爭會產生嚴重的后果﹕立即鎖存(IMMEDIATE)和等待(WAIT)鎖存。

等待鎖存的計算公式﹕

WAIT CONTENTION=(MISSES/(GETS+MISSES))*100

立即鎖存的計算公式﹕

IMMEDIATE CONNECTION=(IMMEDIATE_MISSES/(IMMEDIATE_GETS+IMMEDIATE_MISSES))*100

如果任何一個值>0則就存在對鎖存的竟爭

如果發生恢復分配鎖存的竟爭﹐可以減小INIT.ORA中的LOG_SMALL_ENTRY_MAX_SIZE的參數值。如果發生恢復復制竟爭﹐可以增大INIT.ORA中的LOG_SIMULATANOUS_COPIES的參數值。

任何回卷段的OPTIMAL參數的設置不能太小﹐如果OPTIMAL<MINEXTENTS會降低系統的操作性能。

SELECT CLASS,COUNT FROM V$WAITSTAT WHERE UPPER(CLASS) IN (‘SYSTEM UNDO HEADER)’,’SYSTEM UNDO BLOCK’,

‘UNDO HEADER’,’UNDO BLOCK’);

SELECT SUM(VALUE) FROM V$SYSSTAT WHERE UPPER(NAME)

IN (‘DB BLOCK GETS’,’CONSISTENT GETS’);

第一條查詢中的每一類與第二條查詢中的比率最好<0.01

3. 提高緩沖區的效率。

SELECT RELOADS,PINS FROM V$LIBRARYCACHE;

RELOADS存入SQL命令被載入和分解的次數

PINS存入數據庫對SQL高速緩沖區查找一條語句的次數

如果RELOADS與PINS的比率大于1%則應增加INIT.ORA中的SHARED_POOL_SIZE的參數值。

SELECT GETMISSES,GETS FROM V$ROWCACHE;

如果RELOADS與PINS的比率大于10%則應增加INIT.ORA中的

SHARED_POOL_SIZE的參數值。

4. 用戶任何時點擁有的打開游標的最大數

修改INIT.ORA中的OPEN_CURSORS的參數值。

與高速緩存有關的是游標在會話中的緩存方式。

在INIT.ORA中增加 SESSION_CACHED_CURSORS=100

5. SELECT SUM(GETS),SUM(GETMISSES) FROM V$ROWCACHE;

必須使GETMISSES比率接近0, 為了優化性能﹐可以增加INIT.ORA中的參數SHARED_POLL_SIZE和DB_BLOCK_BUFFERS的值。

6. SELECT NAME,VALUE FROM V$SYSSTAT WHERE UPPER(NAME) IN

(‘SORTS(MEMORY)’,’SORTS(DISK)’);

如果用于磁盤上的排序量較高﹐可以增加INIT.ORA中的SORT_AREA_SIZE的值。

7. LGWR的日志文件如果切換太快會影響數據庫的活動﹐導致性能的下將。

在INIT.ORA 中 CHECKPOINT_PROCESS=TRUE

LOG_CHECKPOINT_INTERVAL=10000

LOG_CHECKPOINT_TIMEOUT=1800

8. 多線程服務器(MTS)的配置

1> MTS_SERVICE

這是調度程序用來向SQL*NET監聽器注冊服務的服務名。

最好取和SID相同的名稱。

2> MTS_DISPATCHERS

配置調度進程的數目。

3> MTS_MAX_DISPATCHERS

配置調度進程的最大數目。

4> MTS_SERCERS

啟動共享服務器的最初數目。

5> MTS_MAX_SERVERS

設置共享服務器的最大數目。

6> MTS_LISTENTER_ADDRESS

這是調度程序用來向SQL*NET監聽器注冊服務的服務名的地址。

一個MTS的配置例子:

在INIT.ORA中

mts_listener_address=’(ADDRESS=(PROTOCOL=TCP)(KEY=MYDB))’

mts_dispatchers=’tcp,10’

mts_dispatchers=’ipx,2’

mts_max_dispatchers=10

mts_max_servers=10

mts_servers=2

在LISTENER.ORA中應包括下類似的內容:

LISTENER=

(ADDRESS_LIST=

(ADDRESS=

(PROTOCOL=IPX)

(KEY=MYDB)

)

(ADDRESS=

(PROTOCOL=TCP)

(HOST=OURHOST)

(PORT=1521

)

STARTUP_WAIT_TIME_LISTENER=0

CONNECT_TIMEOUT_LISTENER=10

TRACE_LEVEL_LISTENER=ADMIN

SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=MYDB)

)

)

添加MTS參數之后要重新啟動數據庫。

在SQL*PLUS下用PS命令檢查共享服務器和調度程序是否存在。

Ø PS -EF|GREP FOXMOLD;

具有ORA_SNNN_SID和ORA_DNNN_SID名稱的進程分別是共享服務器和調度進程。

SELECT USERNAME,PROGRAM,SERVER FROM V$SESSION WHERE AUDSID=USERENV(‘SESSIONID’);

在SERVER列中返回的值應該是SHARED,如果是DEDICATED,就說明沒有正確配置MTS.

用LSNRCTL SERVICES命令來檢查調度程序是否向監聽器登記了服務。

7. 移動數據庫文件

第一種方法﹕(ALTER DATABASE)

關閉數據庫-移動數據文件-裝載并改名-啟動

1> SVRMGRL

2> CONNECT INTERNAL

3> SHUTDOWN

4> EXIT

5> MV /U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF /DB3/ORADATA

6> SVRMGRL

7> CONNECT INTERNAL

8> STARTUP MOUNT FOXMOLD

9> ALTER DATABASE RENAME FILE

‘/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF’ TO

‘/DB3/ORADATA/USER01.DBF’

10> ALTER DATABASE OPEN

第二種方法﹕(ALTER TABLESPACE)

關閉數據庫-移動數據文件-裝載并改名-啟動

1> SVRMGRL

2> CONNECT INTERNAL

3> SHUTDOWN

4> EXIT

5> MV /U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF /DB3/ORADATA

6> SVRMGRL

7> CONNECT INTERNAL

8> ALTER TABLESPACE DATA RENAME DATAFILE

‘/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF’ TO

‘/DB3/ORADATA/USER01.DBF’

9> ALTER DATABASE OPEN

8. 統計分析

SPOOL C:\ANALYZE.SQL

SELECT 'ANALYZE TABLE '||TRIM(OBJECT_NAME)||' COMPUTE STATISTICS; '

FROM USER_OBJECTS

WHERE OBJECT_TYPE='TABLE'

然后運行analyze.sql文件即可

最后,對TABLESPACE碎片進行清理.

SELECT TABLESPACE_NAME, PERCENT_BLOCKS_COALESCED

FROM DBA_FREE_SPACE_COALESCED

去看那一個TABLESPACE對應的值不是100的就運行如下命令:

ALTER TABLESPACE TABLESPACE_NAME COALESCE

注意:如果TABLESPACE的值為100就沒有必要作此命令.

9. 移動TABLE INDEX 到另一個TABLESPACE

1> SPOOL C:\MV_INDEX.SQL

2> SELECT ‘ALTER INDEX ‘||TRIM(OBJECT_NAME)||’ REBUILD TABLESPACE FOXMOLD1;’ FROM USER_OBJECTS WHERE OBJECT_TYPE=’INDEX’

3> 將此命令生成MV_INDEX.SQL文件

4> @C:\MV_INDEX.SQL

10. MAINTAINING THE CONTROLFILE

1> SVRMGRL

2> CONNECT INTERNAL

3> SHUTDOWN

4> EXIT

5> CP /U/PRODUCT/ORADATA/FOXMOLD/CONTROL01.CTL

/DB4/ORADATA/CONTROL01.CTL

6> CHMOD 660 /DB4/ORADATA/CONTROL01.CTL

7> 修改INIT.ORA CONTROL_FILES=……

8> STARTUP MOUNT FOXMOLD

11. MAINTAINING REDO LOG FILE

1> SHUTDOWN

2> EXIT

3> CP /DISK1/*.RDO /DISK4/*.RDO

4> CHMOD 660 /DISK4/*.RDO

5> STARTUP MOUNT FOXMOLD

12. RECOVER SYNTAX

A. RECOVER A CLOSED DATABASE

1> RECOVER DATABASE

2> RECOVER DATAFILE ‘/DISK1/DF2.DBF’

3> ALTER DATABASE RECOVER DATABASE

B. RECOVER AN OPEN DATABASE

1> RECOVER TABLESPACE USER_DATA

2> RECOVER DATAFILE 2

3> ALTER DATABASE RECOVER DATAFILE 2

注意﹕ALTER DATABASE一定在RECOVER后執行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有