分享
 
 
 

ORACLE服务器的配置及优化

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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

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');

第一条查询中的每一类与第二条查询中的比率最好

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相同的名称。

2MTS_DISPATCHERS

配置调度进程的数目。

3MTS_MAX_DISPATCHERS

配置调度进程的最大数目。

4MTS_SERCERS

启动共享服务器的最初数目。

5MTS_MAX_SERVERS

设置共享服务器的最大数目。

6MTS_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命令来检查调度程序是否向监听器登记了服务。

8.移动数据库文件

第一种方法?(ALTER DATABASE)

关闭数据库-移动数据文件-装载并改名-启动

1SVRMGRL

2CONNECT

INTERNAL

3SHUTDOWN

4EXIT

5MV

/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF

/DB3/ORADATA

6SVRMGRL

7CONNECT

INTERNAL

8STARTUP

MOUNT

FOXMOLD

9ALTER DATABASE RENAME FILE

'/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF' TO

'/DB3/ORADATA/USER01.DBF'

10 ALTER

DATABASE

OPEN

第二种方法?(ALTER

TABLESPACE)

关闭数据库-移动数据文件-装载并改名-启动

1SVRMGRL

2CONNECT

INTERNAL

3SHUTDOWN

4EXIT

5MV

/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF

/DB3/ORADATA

6SVRMGRL

7CONNECT

INTERNAL

8ALTER TABLESPACE DATA RENAME DATAFILE

'/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF' TO

'/DB3/ORADATA/USER01.DBF'

9 ALTER

DATABASE

OPEN

9. 统计分析

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就没有必要作此命令.

10.移动TABLE INDEX 到另一个TABLESPACE

1SPOOL

C:\MV_INDEX.SQL

2SELECT

'ALTER

INDEX

'||TRIM(OBJECT_NAME)||'

REBUILD TABLESPACE

FOXMOLD1;'

FROM USER_OBJECTS

WHERE OBJECT_TYPE='INDEX'

3将此命令生成MV_INDEX.SQL文件

4@C:\MV_INDEX.SQL

11.MAINTAINING THE CONTROLFILE

1SVRMGRL

2CONNECT

INTERNAL

3SHUTDOWN

4EXIT

5CP

/U/PRODUCT/ORADATA/FOXMOLD/CONTROL01.CTL

/DB4/ORADATA/CONTROL01.CTL

6CHMOD

660

/DB4/ORADATA/CONTROL01.CTL

7修改INIT.ORA

CONTROL_FILES=……

8STARTUP

MOUNT

FOXMOLD

12.MAINTAINING

REDO LOG FILE

1SHUTDOWN

2EXIT

3CP

/DISK1/*.RDO

/DISK4/*.RDO

4CHMOD

660

/DISK4/*.RDO

5STARTUP

MOUNT

FOXMOLD

13.RECOVER SYNTAX

A.RECOVER A CLOSED DATABASE

1RECOVER

DATABASE

2RECOVER

DATAFILE

'/DISK1/DF2.DBF'

3ALTER

DATABASE

RECOVER

DATABASE

B.RECOVER AN OPEN DATABASE

1RECOVER TABLESPACE USER_DATA

2RECOVER DATAFILE 2

3ALTE

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有