选择显示字体大小

oracle 服務器的配置及優化


     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&#36;waitstat  where upper(class) in (‘system undo header)’,’system  undo block’,

‘undo  header’,’undo  block’);

    select sum(value)  from  v&#36;sysstat  where upper(name)

in (‘db  block  gets’,’consistent  gets’);

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

3.        提高緩沖區的效率。

select  reloads,pins from v&#36;librarycache;

   reloads存入sql命令被載入和分解的次數

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

如果reloads與pins的比率大于1&#37;則應增加init.ora中的shared_pool_size的參數值。

   select getmisses,gets from v&#36;rowcache;

   如果reloads與pins的比率大于10&#37;則應增加init.ora中的

shared_pool_size的參數值。

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

修改init.ora中的open_cursors的參數值。

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

 在init.ora中增加 session_cached_cursors=100

5.        select sum(gets),sum(getmisses)  from v&#36;rowcache;

必須使getmisses比率接近0, 為了優化性能﹐可以增加init.ora中的參數shared_poll_size和db_block_buffers的值。

6.        select name,value from v&#36;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命令檢查共享服務器和調度程序是否存在。

&oslash;       ps  -efgrep  foxmold;

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

select username,program,server  from v&#36;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   &#39;analyze  table  &#39;trim(object_name)&#39;   compute   statistics; &#39;

     from  user_objects

    where  object_type=&#39;table&#39;

然后運行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后執行。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons