天天看點

oracle 使用規範,Oracle資料庫規範:資料庫管理規範

資料庫安裝規範

39

• Metalink ID : 756671.1 Oracle Recommended

Patches

© 2010 Oracle Corporation

資料庫安裝規範- AIX

11gR2/11gR1/10g/9i RAC

修改/etc/rc.net檔案,加上如下行:

if [ -f /usr/sbin/no ] ; then

/usr/sbin/no -p -o udp_sendspace=1048576

/usr/sbin/no -p -o udp_recvspace=1048576

/usr/sbin/no -p -o tcp_sendspace=1048576

/usr/sbin/no -p -o tcp_recvspace=1048576

/usr/sbin/no -p -o rfc1323=1

/usr/sbin/no -p -o sb_max=4194304

/usr/sbin/no -r -o ipqmaxlen=512

fi

40

© 2010 Oracle Corporation

資料庫安裝規範- HPUX

11gR2/11gR1/10g/9i RAC

使用指令修改網絡配置參數:

ndd -set /dev/tcp tcp_conn_request_max 10240

ndd -set /dev/tcp tcp_syn_rcvd_max 1024

ndd -set /dev/tcp tcp_time_wait_interval 1000

ndd -set /dev/tcp tcp_xmit_hiwater_def 65536

ndd -set /dev/tcp tcp_recv_hiwater_def 65536

ndd -set /dev/tcp tcp_xmit_lowater_def 24576

ndd -set /dev/tcp tcp_fin_wait_2_timeout 60000

ndd -set /dev/tcp tcp_keepalive_interval 60000

ndd -set /dev/tcp tcp_ip_abort_interval 60000

ndd -set /dev/tcp tcp_keepalive_detached_interval 60000

ndd -set /dev/tcp tcp_rexmit_interval_initial 2000

ndd -set /dev/tcp tcp_rexmit_interval_min 1500

ndd -set /dev/tcp tcp_rexmit_interval_max 10000

ndd -set /dev/sockets socket_caching_tcp 1024

或者修改檔案/etc/rc.config.d/nddconf

41

© 2010 Oracle Corporation

資料庫安裝規範-異步I/O

• AIX系統,oracle使用檔案系統

• AIO的minservers設定為10

• AIO的maxservers設定為盤的10倍再除以CPU數,再觀察高負

載時aio的程序數與maxservers進行比較,再進行調整

• HPUX系統

• 設定max_async_ports為oracle初始化參數processes+oracle後

台程序的數量

• 設定aio_max_ops為2048

42

© 2010 Oracle Corporation

資料庫字元集

資料庫字元集的确定非常重要,如果選擇不當,會給業務資料的保

存帶來麻煩。如在現實中,有的漢字儲存到資料庫時發生亂碼,從

而使客戶的資訊不能正常儲存和顯示。資料庫字元集在系統設計開

發階段就應當确定。在資料庫系統上線後,再更改資料庫字元集,

代價會非常大。因為不同的字元集設定之間,存在轉換操作,如果

不相容,隻能逐條轉換。如果業務資料中确定有且隻有中文字元,

則資料庫的字元集一般傾向于選擇:

• ZHS16GBK: 此字元包含了大部需要的漢字字元

如果不确定業務資料将來是否在多個國家使用,則傾向于選擇:

• AL32UTF8: Oracle推薦使用,此字元集支援大部份現在全世界

使用的字元,AL32UTF8是雙位元組字元集,是以在儲存非英國文

字資料時需要更多的空間,在設計表結構與長度時需要注意此點

43

© 2010 Oracle Corporation

資料庫參數

• LOCK_SGA

建議設定資料庫參數lock_sga将目前資料庫SGA索住在實體記憶體

中。同時,還需要修改作業系統參數以配合此參數的使用:

AIX: v_pinshm從預設的0設定為1。

/usr/sbin/vmo -r -o v_pinshm=1

設定可鎖住記憶體的最大值:

/usr/sbin/vmo -r -o maxpin%=percent_of_real_memory

Percent_of_real_memory = ( (size of SGA / size of physical memory) *100) + 3

HPUX:修改資料庫hpux_sched_noage=178。

• MAX_DUMP_FILE_SIZE

建議不要使用預設值(UNLIMITED),最大設定20M。

44

© 2010 Oracle Corporation

資料庫參數

• PARALLEL_相關的參數

• PARALLEL_MIN_SERVER

• PARALLEL_MAX_SERVER

• PARALLEL_MIN_PERCENT

• PARALLEL_ATUOMATIC_TUNING

• PARALLEL_EXECUTION_MESSAGE_SIZE

• PARALLE_ADAPTIVE_MULTI_USER

以上參數在資料庫進行進行操作的時候使用,并發技術是

ORACLE的非常複雜的技術,并且是高效的技術。

根據實際應用經驗,可以設定以下參數:

• PARALLEL_MIN_SERVERS = CPU的個數

• PARALLEL_MAX_SERVERS = 2倍于CPU的個數

• PARALLEL_EXECUTION_MESSAGE_SIZE = 16384

45

© 2010 Oracle Corporation

統計資訊檢查

• 小表,小于1000萬行,完全收集

• 大表,大于1000萬行,如果維護視窗時間,以及主機

資源允許的情況下,完全收集。如果不允許采樣比例

采用30%

46

exec dbms_stats.gather_table_stats(ownname=>'user_name',-

tabname=>'table_name',-

estimate_percent => 100,-

cascade=>true,-

method_opt=>'for all indexed columns size auto');

exec dbms_stats.gather_table_stats(ownname=>'user_name',-

tabname=>'table_name',-

estimate_percent => 30,-

cascade=>true,-

method_opt=>'for all columns size skewonly');

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