Oracle10g 初始化參數說明

          參數名: O7_DICTIONARY_ACCESSIBILITY
          類別:安全性和審計
          說明: 主要用于從 Oracle7 移植到 Oracle8i。如果該值為 TRUE, SYSTEM 權限 (如SELECT ANY TABLE) 將不限制對 SYS 方案中各對象的訪問 (Oracle7 行為)。如果該值為FALSE, 只有被授予了 SELECT_CATALOG_ROLE, EXECUTE_CATALOG_ROLE DELETE_CATALOG_ROLE 權限的用戶才能訪問 SYS 方案中的各對象。
          值范圍: TRUE | FALSE

          參數名:active_instance_count
          類別:群集數據庫
          說明: 允許在由兩個例程構成的集簇中指定一個例程作為主例程, 另一個例程為次例程。 如果集簇中包含的例程多于兩個,該參數沒有作用。
          值范圍: 1 或 >= 集簇中的例程數。
          默認值: 無

          參數名:aq_tm_processes
          類別:其他
          說明: 如果大于零, 就會啟用對隊列消息的時間監視。該時間值可用于指定消息的延遲和失效屬性 (用于應用程序的開發)。
          值范圍: 0 - 10
          默認值: 0
          參數名:archive_lag_target
          類別:備用數據庫
          說明: 此參數與基于時間的線程高級功能相關聯。
          值范圍: 0 或 [60, 7200] 中的任意整數。
          默認值: 0 為默認值, 此時將禁用基于時間的線程高級功能。否則, 值將代表秒數

          參數名:audit_file_dest
          類別:安全性和審計
          說明: 對于每個與數據庫的 SYSDBA 或 INTERNAL 連接, 都將在該目錄中生成一個審計文件 (僅用于 UNIX)。
          值范圍: 任何有效的目錄名
          默認值: ORACLE_HOME/rdbms/audit

          參數名:audit_trail
          類別:安全性和審計
          說明: 啟用或禁用數據庫審計。如果該參數為 TRUE 或 DB, 審計記錄將被寫入 SYS.AUD$ 表中; 如果參數為 OS,
          則寫入一個操作系統文件。
          值范圍: NONE | FALSE | DB | TRUE | OS
          默認值: NONE

          參數名:background_core_dump
          類別:診斷和統計
          說明: 是否將 SGA 信息轉儲到一個生成的核心文件中 (用于 UNIX)。
          值范圍: FULL | PARTIAL
          默認值: FULL

          參數名:background_dump_dest
          類別:診斷和統計
          說明: 指定在 Oracle 操作過程中為后臺進程 (LGWR, DBW n 等等) 寫入跟蹤文件的路徑名(目錄或磁盤)。它還定義記錄著重要事件和消息的數據庫預警文件的位置。
          值范圍: 任何有效的目錄名。
          默認值: ORACLE_HOME/rdbms/log (根據操作系統而定)

          參數名:background_tape_io_slaves
          類別:備份和恢復
          說明: 一個 Recovery Manager 參數, 用于確定讀取或寫入磁帶是否要使用服務器進程或一個附加的 I/O 從屬。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:bitmat_merge_area_size
          類別:排序,散列聯接,索引
          說明: 指定合并從對索引的某一范圍進行掃描而檢索得到的位圖要使用的內存量。
          值范圍: 根據系統而定。
          默認值: 1MB

          參數名:blank_trimming
          類別:ANSI相容性
          說明: 如果值為 TRUE, 即使源長度比目標長度 (SQL92 兼容) 更長, 也允許分配數據。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:buffer_pool_keep
          類別:高速緩存和I/O
          說明: 保留池大小 (從 DB_BLOCK_BUFFERS 分配)。目的是將對象保留在內存中, 以減少 I/O。
          值范圍: 特定的字符串值 (例如: buffers:400, lru_latches:3)。
          默認值: 無

          參數名:buffer_pool_recycle
          類別:高速緩存和I/O
          說明: 循環池大小 (從 DB_BLOCK_BUFFERS 分配)。目的是使用對象后將其清除, 以便重復使用內存。
          值范圍: 一個特定的字符串值 (例如: buffers:50, lru_latches:1)。
          默認值: 無

          參數名:circuits
          類別:MTS
          說明 : 指定可用于入站和出站網絡會話的虛擬電路總數。 該參數是構成某個例程的總 SGA 要求的若干參數之一。
          默認值 : 派生: SESSIONS 參數的值 (如果正在使用共享服務器體系結構); 否則為 0。

          參數名:cluster_databse
          類別:群集數據庫
          說明: 將 CLUSTER_DATABASE 設置為 TRUE 可以啟用 Real Application Clusters
          選項。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:cluster_databse_instance
          類別:群集數據庫
          說明: 當前已配置為群集數據庫的一部分的例程數。它用于確定 SGA 結構的大小,該結構由已配置的例程數來確定。正確設置此參數將改善 SGA 的內存使用情況。有幾個參數是用此參數值計算得到的。
          值范圍: 任何非零值。
          默認值: 1

          參數名:cluster_interconnects
          類別:群集數據庫
          說明: 可在 Real Application Clusters 環境中使用的其他互連。當單個互連不能滿足群集數據庫的帶寬要求時, 應設置此參數。如果未設置此參數, Oracle 保留當前為 Oracle9i Real Application Clusters 節點之間的通信確定適當互連的語義。
          值范圍: 用冒號分隔的一個或多個 IP 地址。
          默認值: NONE

          參數名:commit_point_strength
          類別:分布式、復制和快照
          說明: 一個用于確定分布式事務處理中提交點的位置的值。
          值范圍: 0 -255
          默認值: 根據操作系統而定

          參數名:compatible
          類別:其他
          說明: 允許您使用一個新的發行版, 同時保證與先前版本的向后兼容性。
          值范圍: 默認為當前發行版。
          默認值: 由發行版確定

          參數名:control_file_record_keep_time
          類別:重做日志和恢復
          說明: 控制文件中可重新使用部分中的記錄必須保留的最短時間 (天數)。
          值范圍: 0 -365
          默認值: 7

          參數名:control_files
          類別:文件配置
          說明: 指定一個或多個控制文件名。Oracle 建議對于不同設備或 OS 文件鏡像使用多個文件。
          值范圍: 1 - 8 文件名 (帶路徑名)。
          默認值: 根據操作系統而定

          參數名:core_dump_dest
          類別:診斷和統計
          說明: 指定核心轉儲位置的目錄名 (用于 UNIX)。
          值范圍: 任何有效的目錄名。
          默認值: ORACLE_HOME/dbs

          參數名:cpu_count
          類別:進程和會話
          說明: Oracle 可用的 CPU 的數目 (用于計算其他參數值)。請勿更改該值。
          值范圍: 0 - 無限制。
          默認值: 由 Oracle 自動設置

          參數名:create_bitmap_area_size
          類別:排序、散列聯接、位圖索引
          說明: CREATE_BITMAP_AREA_SIZE 指定為創建位圖索引而分配的內存量。
          值范圍: 根據操作系統而定。
          默認值: 8 MB

          參數名:cursor_sharing
          類別:游標和庫高速緩存
          說明: 控制可以終止共享相同的共享游標的 SQL 語句類型。
          值范圍:
          強制: 強制表達方式不同但語句意思相同的語句共享一個游標。
          EXACT: 只令完全相同的 SQL 語句共享一個游標。
          默認值: EXACT

          參數名:cursor_space_for_time
          類別:游標和庫高速緩存
          說明: 在一個游標引用共享 SQL 區時, 確定將 SQL 區保留在共享池中還是從中按過期作廢處理。
          值范圍: TRUE | FALSE
          默認值: FALSE (過期作廢)

          參數名:db_16k_cache_size
          類別:高速緩存和I/O
          說明: 指定高速緩存的大小為 16K 緩沖區。只有在 db_block_size 的值不是 16K 時, 才能設置此參數。
          值范圍: 0M 或至少 16M。塊大小的值還要滿足特定平臺的具體要求。
          默認值: 0M

          參數名:db_2k_cache_size
          類別:高速緩存和I/O
          說明: 指定高速緩存的大小為 2K 緩沖區。只有在 db_block_size 的值不是 2K 時, 才能設置此參數。
          值范圍: 0M 或至少 16M。塊大小的值還要滿足特定平臺的具體要求。
          默認值: 0M

          參數名:db_4k_cache_size
          類別:高速緩存和I/O
          說明: 指定高速緩存的大小為 4K 緩沖區。只有在 db_block_size 的值不是 4K 時, 才能設置此參數。
          值范圍: 0M 或至少 16M。塊大小的值還要滿足特定平臺的具體要求。
          默認值: 0M

          參數名:db_8k_cache_size
          類別:高速緩存和I/O
          說明: 指定高速緩存的大小為 8K 緩沖區。只有在 db_block_size 的值不是 8K 時, 才能設置此參數。
          值范圍: 0M 或至少 16M。塊大小的值還要滿足特定平臺的具體要求。
          默認值: 0M

          參數名:db_block_buffers
          類別:高速緩存和I/O
          說明: 緩沖區高速緩存中 Oracle 塊的數量。該參數會顯著影響一個例程的 SGA 總大小。
          值范圍: 4 - 根據操作系統而定。
          默認值: 32768

          參數名:db_block_checking
          類別:診斷和統計
          說明: 用于控制是否檢查事務處理管理的塊有無損壞。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:db_block_checksum
          類別:診斷和統計
          說明: DBWn, ARCH 和 SQL*loader 是否為每一個數據塊讀或寫計算或校驗塊的校驗和。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:db_block_size
          類別:高速緩存和I/O
          說明: 一個 Oracle 數據庫塊的大小 (字節)。該值在創建數據庫時設置, 而且此后無法更改。
          值范圍: 1024 - 65536 (根據操作系統而定)。
          默認值: 2048 (根據操作系統而定)

          參數名:db_block_advice
          類別:高速緩存和I/O
          說明: 為預計各種容量的高速緩存的行為而啟用和禁用統計信息收集。在 V$DB_CACHE_ADVICE 視圖中收集信息。
          值范圍: OFF--關閉咨詢, 并且不為咨詢分配內存; ON--打開咨詢 (即: 將帶來 CPU 和內存開銷); READY--關閉咨詢, 但保留分配給咨詢的內存。
          默認值: OFF

          參數名:db_cache_size
          類別:高速緩存和I/O
          說明: 為高速緩存指定標準塊大小的緩沖區。
          值范圍: 至少 16M。
          默認值: 48M

          參數名:db_create_file_dest
          類別:文件配置
          說明: 設置所創建的數據文件, 控制文件和聯機日志的默認位置。
          值范圍: 文件系統目錄名。該目錄必須已存在。該目錄必須具有可讓 Oracle 在其中創建文件的許可。

          參數名:db_create_online_log_dest_1
          類別:文件配置
          說明: 設置所創建的聯機日志和控制文件的默認位置。如果在創建聯機日志或控制文件時未指定文件名, 則使用默認文件名。
          值范圍: 文件系統目錄名。該目錄必須已存在。該目錄必須具有可讓 Oracle 在其中創建文件的許可。

          參數名:db_create_online_log_dest_2
          類別:文件配置
          說明: 設置所創建的聯機日志和控制文件的默認位置。如果在創建聯機日志或控制文件時未指定文件名, 則使用默認文件名。
          值范圍: 文件系統目錄名。該目錄必須已存在。該目錄必須具有可讓 Oracle 在其中創建文件的許可。

          參數名:db_create_online_log_dest_3
          類別:文件配置
          說明: 設置所創建的聯機日志和控制文件的默認位置。如果在創建聯機日志或控制文件時未指定文件名, 則使用默認文件名。
          值范圍: 文件系統目錄名。該目錄必須已存在。該目錄必須具有可讓 Oracle 在其中創建文件的許可。

          參數名:db_create_online_log_dest_4
          類別:文件配置
          說明: 設置所創建的聯機日志和控制文件的默認位置。如果在創建聯機日志或控制文件時未指定文件名, 則使用默認文件名。
          值范圍: 文件系統目錄名。該目錄必須已存在。該目錄必須具有可讓 Oracle 在其中創建文件的許可。

          參數名:db_create_online_log_dest_5
          類別:文件配置
          說明: 設置所創建的聯機日志和控制文件的默認位置。如果在創建聯機日志或控制文件時未指定文件名, 則使用默認文件名。
          值范圍: 文件系統目錄名。該目錄必須已存在。該目錄必須具有可讓 Oracle 在其中創建文件的許可。

          參數名:db_domain
          類別:數據庫識別
          說明: 指定數據庫名的擴展名 (例如:US.ORACLE.COM) 為使一個域中創建的數據庫名唯一, 建議指定該值。
          值范圍: 由句點分隔的任何字符串, 最長可以有 128 個字符。
          默認值: WORLD

          參數名:db_file_multiblock_read_count
          類別:高速緩存和I/O
          說明: 在涉及一個完全連續掃描的一次 I/O 操作過程中讀取的塊的最大數量。
          值范圍: 根據操作系統而定。
          默認值: 8

          參數名:db_file_name_convert
          類別:備用數據庫
          說明: 將主數據庫上的一個新數據文件的文件名轉換為備用數據庫上的文件名。
          值范圍: 一個有效的主/備用目錄和文件名對。
          默認值: 無

          參數名:db_files
          類別:文件配置
          說明: 可為該數據庫打開的數據文件的最大數量。
          值范圍: MAXDATAFILES - 根據操作系統而定。
          默認值: 根據操作系統而定 (在 Solaris 系統上為 200)

          參數名:db_keep_cache_size
          類別:高速緩存和I/O
          說明: 指定 KEEP 緩沖池中的緩沖區數。KEEP 緩沖池中的緩沖區大小是主要塊大小 (即 db_block_size 定義的塊大小)。
          值范圍: 0 或至少一個區組大小 (更小的值將自動舍入到區組大小)。
          默認值: 0M

          參數名:db_name
          類別:數據庫識別
          說明: 一個數據庫標識符, 應與 CREATE DATABASE 語句中指定的名稱相對應。
          值范圍: 任何有效名稱最多可有 8 個字符。
          默認值: 無 (但應指定)

          參數名:db_recycle_cache_size
          類別:高速緩存和I/O
          說明: 指定 RECYCLE 緩沖池的大小。RECYCLE 池中的緩沖區大小是主要塊大小。
          值范圍: 0 或至少一個區組大小 (更小的值將自動舍入到區組大小)。
          默認值: 0M

          參數名:db_writer_processes
          類別:高速緩存和I/O
          說明: 一個例程的數據庫寫進程的初始數量。如果使用了 DBWR_IO_SLAVES, 則只能使用一個數據庫寫進程。
          值范圍: 1 - 10
          默認值: 1

          參數名:dbwr_io_slaves
          類別:高速緩存和I/O
          說明: DBW0 進程使用的 I/O 從屬的數量。DBW0 進程及其從屬始終寫入磁盤。
          值范圍: 0 - 根據操作系統而定。
          默認值: 0

          參數名:dbwr_io_slaves
          類別:高速緩存和I/O
          說明: DBW0 進程使用的 I/O 從屬的數量。DBW0 進程及其從屬始終寫入磁盤。
          值范圍: 0 - 根據操作系統而定。
          默認值: 0

          參數名:disk_asynch_io
          類別:高速緩存和I/O
          說明: 控制數據文件, 控制文件和日志文件的 I/O 是否異步 (即在表掃描過程中進程是否重疊 I/O 和CPU請求)。只有在您的平臺支持磁盤異步 I/O的情況下才能更改該參數。
          值范圍: TRUE | FALSE
          默認值: TRUE

          參數名:dispatchers
          類別:MTS
          說明 : 為設置使用共享服務器的共享環境而設置調度程序的數量和類型。可以為該參數指定幾個選項。有關詳細信息,請參閱"Oracle8i 管理員指南"和"Oracle Net Administrators Guide"。這是字符串值的一個示例: (PROTOCOL=TCP)(DISPATCHERS=3)。
          值范圍: 參數的有效指定值。
          默認值 : NULL

          參數名:distributed_lock_timeout
          類別:分布式、復制和快照
          說明: 分布式事務處理將等待被鎖定資源的時間 (以秒為單位)。此值在 8.1.3 版中已廢棄。
          值范圍: 1 - 無限制。
          默認值: 60 秒

          參數名:dml_locks
          類別:事務處理
          說明: 所有用戶獲取的表鎖的最大數量。對每個表執行 DML 操作均需要一個 DML 鎖。例如, 如果 3 個用戶修改 2 個表,就要求該值為 6。
          值范圍: 0 或 20 到無限制。
          默認值: 4 * TRANSACTIONS (派生)

          參數名:drs_start
          類別:備用數據庫
          說明: 使 Oracle 可以確定是否應啟動 DRMON 進程。DRMON 是一種不會導致致命錯誤的 Oracle 后臺進程,只要例程存在, 該進程就存在。
          值范圍: TRUE | FALSE。
          默認值: FALSE

          參數名:enqueue_resources
          類別:事務處理
          說明: 入隊可使并行進程能夠共享資源。例如, Oracle 允許一個進程以共享模式鎖定一個表, 以共享更新模式鎖定另一個表。
          值范圍: 10 - 65535 (7.3) 或 10 - 無限制 (8.1)。
          默認值: 派生 (該值大于 DML_LOCKS + 20 即已足夠)

          參數名:event
          類別:診斷和統計
          說明: Oracle Support Services 人員用來調試系統。通常不應該變更。
          值范圍: 不可用。
          默認值: 無

          參數名:fal_client
          類別:備用數據庫
          說明: 指定供 FAL 服務 (通過 FAL_SERVER 參數配置) 來引用 FAL 客戶機的 FAL客戶機名稱。該參數的值是一個 Oracle Net 服務名。此 Oracle Net 服務名被假定為已在 FAL 服務器系統上正確配置, 可指向 FAL 客戶機 (即: 此備用數據庫)。
          值范圍: Oracle Net 服務名的字符串值。

          參數名:fast_start_io_target
          類別:重做日志和恢復
          說明: 指定在系統崩潰或例程恢復期間需要的 I/O 數量。該值比 DB_BLOCK_MAX_DIRTY_TARGET 對恢復過程的控制更加精確。
          值范圍: 0 (禁用 I/O 恢復限制) 或 1000, 到高速緩存中的所有緩沖區數。
          默認值: 高速緩存中的所有緩沖區數

          參數名:fast_start_mttr_target
          類別:重做日志和恢復
          說明: 指定從單個數據庫例程崩潰中恢復所需的時間 (估計秒數)。FAST_START_MTTR_TARGET 將在內部被轉換為一組參數, 用于修改數據庫的操作, 從而將它的恢復時間控制在總 "恢復平均時間 (MTTR)" 中的一定范圍之內。只有具有 "快速啟動故障恢復" 功能的版本才支持此參數。值范圍: [0, 3600]。它將計算數據緩沖區高速緩存條目數之上, 且大于最大日志中的塊數的限值。
          默認值: 0

          參數名:fast_start_parallel_rollback
          類別:事務處理
          說明: 執行并行回退時確定進程的最大數量。在多數事務處理的運行時間都較長的系統上, 該值很有用。
          值范圍: FALSE | LOW | HIGH
          默認值: LOW (2 * CPU_COUNT)

          參數名:fixed_date
          類別:其他
          說明: SYSDATE 返回的數據。對于必須始終返回固定日期而非系統日期的測試,該值很有用。使用雙引號或不使用引號。請勿使用單引號。
          值范圍: YYYY-MM-DD-HH24:MI:SS (或默認的 Oracle 日期格式)。
          默認值: NULL

          參數名:gc_files_to_locks
          類別:群集數據庫
          說明: 一個群集數據庫參數, 用于控制將并行高速緩存管理 (PCM) 鎖映射到數據文件。
          語法: GC_FILES_TO_LOCKS = file_list=lock_count[!blocks][R][EACH][:...]
          默認值 : NULL

          參數名:global_context_pool_size
          類別:SGA內存
          說明: 從 SGA 分配的用于存儲和管理全局應用程序上下文的內存量。
          值范圍: 任意整數值。
          默認值: 1 M

          參數名:global_names
          類別:分布式、復制和快照
          說明: 指定是否要求數據庫鏈接與所連接的數據庫同名。如果該值為 FALSE, 則不執行檢查。要使分布式處理中的命名約定一致,請將該參數設置為 TRUE。
          值范圍: TRUE | FALSE
          默認值: TRUE

          參數名:hash_area_size
          類別:排序、散列聯接、位圖索引
          說明: 與并行執行操作和 DML 或 DDL 語句相關。它以字節為單位, 指定要用于散列聯接的最大內存量。有關詳細信息,請參閱手冊 Oracle8i Concepts。
          值范圍: 0 到根據操作系統而定的值。
          默認值: 派生:2 * SORT_AREA_SIZE 參數值

          參數名:hl_shared_memory_address
          類別:SGA內存
          說明: 指定系統全局區 (SGA) 的運行時起始地址。在指定 SGA 連接時起始地址的平臺上, 該值被忽略。在 64 位平臺上,請使用該值來指定高 32 位和低 32 位。如果不指定該值, 默認值是平臺指定的位置。
          值范圍: 任何整數值。
          默認值: 0

          參數名:hs_autoregister
          類別:分布式、復制和快照
          說明: 啟用或禁用"異構服務 (HS)"代理的自動自注冊。如果啟用, 信息將被上載到數據字典中, 以便在通過同一代理建立后續連接時降低開銷。
          值范圍: TRUE | FALSE
          默認值: TRUE

          參數名:ifile
          類別:其他
          說明: 用于在當前參數文件中嵌入其他參數文件。您可以在一個參數文件的多個行上多次使用該參數, 但最多只能有三級嵌套。
          值范圍: 任何有效的參數文件名 (語法是 IFILE = parameter_file_name)。
          默認值: NULL

          參數名:instance_groups
          類別:群集數據庫
          說明 : 一個群集數據庫參數, 可以使用以逗號分隔的列表,把當前例程指定給特定組。為并行操作分配查詢從屬進程時要用到例程組。
          值范圍: 一系列組名, 由逗號分隔。
          默認值 : NULL

          參數名:instance_name
          類別:例程識別
          說明: 在多個例程使用相同服務名的情況下, 用來唯一地標識一個數據庫例程。INSTANCE_NAME 不應與 SID 混淆,它實際上是對在一臺主機上共享內存的各個例程的唯一標識。
          值范圍: 任何字母數字字符。
          默認值: 數據庫 SID

          參數名:instance_number
          類別:群集數據庫
          說明 : 一個群集數據庫參數, 用于指定一個唯一編號, 以便將例程映射到一個使用 FREELIST GROUPS 存儲參數創建的數據庫對象所擁有的空閑列表中。在ALTER TABLE ... 的 INSTANCE 子句中使用該值。ALLOCATE EXTENT語句可以為該例程動態分配區。
          值范圍: 1 到 MAX_INSTANCES (創建數據庫時指定)。

          參數名:java_max_sessionspace_size
          類別:進程和會話
          說明: 以字節為單位, 指定可供在服務器中運行的 Java 程序所使用的最大內存量。它用于存儲每次數據庫調用的 Java 狀態。如果用戶的會話持續時間 Java 狀態超過了該值, 則該會話會由于內存不足而終止。
          值范圍: 根據操作系統而定。
          默認值: 0

          參數名:java_pool_size
          類別:池
          說明: 以字節為單位, 指定 Java 存儲池的大小, 它用于存儲 Java 的方法和類定義在共享內存中的表示法,以及在調用結束時移植到 Java 會話空間的 Java 對象。有關詳細信息, 請參閱 Oracle8i Java Developers Guide。
          值范圍: 根據操作系統而定。
          默認值: 根據操作系統而定

          參數名:java_soft_sessionspace_limit
          類別:進程和會話
          說明: 以字節為單位, 指定在 Java 會話中使用的 Java 內存 的 軟限制。如果用戶的會話持續時間 Java 狀態使用過多的內存, Oracle 將生成一個警告并向跟蹤文件寫入一則消息。
          值范圍: 0 - 4GB
          默認值: 0

          參數名:job_queue_processes
          類別:作業隊列
          說明: 只用于復制環境。它指定每個例程的 SNP 作業隊列進程的數量 (SNP0, ... SNP9, SNPA, ... SNPZ)。要自動更新表快照或執行由 DBMS_JOB 創建的請求, 請將該參數設置為 1 或更大的值。
          值范圍: 0 到 36
          默認值: 0

          參數名:large_pool_size
          類別:池
          說明 : 指定大型池的分配堆的大小, 它可被共享服務器用作會話內存, 用作并行執行的消息緩沖區以及用作 RMAN備份和恢復的磁盤 I/O 緩沖區。
          值范圍: 600K (最小值); >= 20000M (最大值是根據操作系統而定的)。
          默認值 : 0, 除非配置了并行執行或 DBWR_IO_SLAVES

          參數名:license_max_sessions
          類別:許可限制
          說明: 指定允許同時進行的并行用戶會話的最大數量。達到該限制后, 只有具有 RESTRICTED SESSION 權限的用戶才能連接到服務器。所有其他用戶都會收到一條警告消息, 表明已達到系統最大容量的限制。
          值范圍: 0 - 會話許可的數量。
          默認值: 0

          參數名:license_max_users
          類別:許可限制
          說明:指定您可在該數據庫中創建的用戶的最大數量。并行會話使用許可和用戶使用許可不應被同時啟用。LICENSE_MAX_SESSIONS 或 LICENSE_MAX_USERS 或這兩者的值應為零。
          值范圍: 0 - 用戶許可的數量。
          默認值: 0

          參數名:license_sessions_warning
          類別:許可限制
          說明: 指定對并行用戶會話數量的警告限制。達到該限制后, 其他用戶仍然可以連接, 但一條消息將被寫入 ALERT 文件。具有RESTRICTED SESSION 權限的用戶將收到一條警告消息, 表明系統已接近最大容量。
          值范圍: 0 - LICENSE_MAX_SESSIONS
          默認值: 0

          參數名:local_listener
          類別:網絡注冊
          說明 : 一個 Oracle Net 地址列表, 用于標識 Oracle Net監聽程序所在的同一臺計算機上的數據庫例程。所有例程和調度程序都在該監聽程序上注冊, 以便啟用客戶機連接。該參數覆蓋在 8.1 版本中廢棄的 MTS_LISTENER_ADDRESS 和 MTS_MULTIPLE_LISTENERS 參數。
          值范圍: 一個有效的 Oracle Net 地址列表。
          默認值: (ADDRESS_LIST=(Address=(Protocol=TCP)(Host=localhost)(Port=1521)) (Address=(Protocol=IPC)(Key=DBname)))

          參數名:lock_name_space
          類別:群集數據庫
          說明: 指定分布式鎖管理器 (DLM) 用來生成鎖名稱的命名空間。如果同一個簇上存在一個同名的備用數據庫或克隆數據庫,最好設置該值。
          值范圍: 最多有 8 個字符, 不允許使用特殊字符。
          默認值: NULL

          參數名:lock_sga
          類別:SGA內存
          說明: 用于將整個 SGA 鎖定在物理內存中。在不支持這種功能的平臺上, 該值將被忽略。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:log_archive_dest
          類別:歸檔
          說明: 只適用于數據庫正以"歸檔日志"模式運行的情況, 或正在從已歸檔的重做日志恢復數據庫的情況。在 8.1 企業版中, 應使用 LOG_ARCHIVE_DEST_n。
          值范圍: 一個 NULL 字符串, 或者任何有效的路徑或設備名, 原始分區除外。
          默認值: NULL

          參數名:log_archive_dest_1
          類別:歸檔
          說明: 五個本地 (指定 LOCATION) 或遠程 (指定 SERVICE) 目標位置中的第一個,歸檔重做日志文件可以在這些目標位置上被復制。該參數只在企業版 oracle8i 數據庫或更高版本的數據庫中有效。
          值范圍: 語法為 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
          默認值: NULL

          參數名:log_archive_dest_2
          類別:歸檔
          說明: 五個本地 (指定 LOCATION) 或遠程 (指定 SERVICE) 目標位置中的第二個,歸檔重做日志文件可以在這些目標位置上被復制。該參數只在企業版 oracle8i 數據庫或更高版本的數據庫中有效。
          值范圍: 語法為 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
          默認值: NULL

          參數名:log_archive_dest_3
          類別:歸檔
          說明: 五個本地 (指定 LOCATION) 或遠程 (指定 SERVICE) 目標位置中的第三個,歸檔重做日志文件可以在這些目標位置上被復制。該參數只在企業版 oracle8i 數據庫或更高版本的數據庫中有效。
          值范圍: 語法為 (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer]
          默認值: NULL
          參數名:log_archive_dest_state_1
          類別:歸檔
          說明: 指定相應的歸檔日志目標參數 (僅 LOG_ARCHIVE_DEST_1) 的可用性狀態。如果啟用,日志目標將被歸檔。如果延遲, 該目標將被排除在歸檔操作之外直至重新啟用。
          值范圍: ENABLE | DEFER
          默認值: ENABLE

          參數名:log_archive_dest_state_2
          類別:歸檔
          說明: 指定相應的歸檔日志目標參數 (僅 LOG_ARCHIVE_DEST_2) 的可用性狀態。如果啟用,日志目標將被歸檔。如果延遲, 該目標將被排除在歸檔操作之外直至重新啟用。
          值范圍: ENABLE | DEFER
          默認值: ENABLE

          參數名:log_archive_duplex_dest
          類別:歸檔
          說明: 指定 LOG_ARCHIVE_DEST 外的另一個歸檔目標。在 Oracle8i 企業版中, 該參數被LOG_ARCHIVE_DEST_n 代替。
          值范圍: 一個 NULL 字符串, 或者任何有效的路徑或設備名, 原始分區除外。
          默認值: NULL

          參數名:log_archive_format
          類別:歸檔
          說明: LOG_ARCHIVE_FORMAT 只在數據庫處于"歸檔日志"模式的情況下有用。文本字符串與變量 s (日志序列號)和 t (線程號) 結合使用, 用于指定各歸檔重做日志文件的唯一文件名。該字符串被附加到LOG_ARCHIVE_DEST 參數。
          值范圍: 任何有效的文件名。
          默認值: 根據操作系統而定

          參數名:log_archive_max_processes
          類別:歸檔
          說明: 指定要求的 ARCH 進程的數量。如果 LOG_ARCHIVE_START = TRUE, 該值可以在例程啟動時被評估;也可以在通過 SQL*Plus 或 SQL 語法調用 ARCH 進程時評估。
          值范圍: 1 - 10 (包括端點) 的任何整數。
          默認值: 1

          參數名:log_archive_min_succeed_dest
          類別:歸檔
          說明: 定義在可以覆蓋日志文件前必須將其復制到的目標的最小數量。該值應大于或等于 LOG_ARCHIVE_DEST_n 中MANDATORY 目標的數量。
          值范圍: 1 - 5 (如果與 LOG_ARCHIVE_DEST 和 LOG_ARCHIVE_DUPLEX_DEST 共同使用, 則限制在 1-2)。
          默認值: 1

          參數名:log_archive_start
          類別:歸檔
          說明: n只在數據庫處于"歸檔日志"模式的情況下適用。它指定重做日志是自動還是手動復制。建議值是 TRUE, 即執行自動歸檔;否則就需要手動干預, 使用ALTER SYSTEM ARCHIVE LOG ... 命令來阻止例程掛起。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:log_archive_trace
          類別:歸檔
          說明: 控制歸檔日志進程生成的輸出。此進程可以通過下列方式啟動ARCn 后臺進程 (在輸出日志中指定為 ARCn)明確的會話調用的前臺進程 (在輸出日志中指定為 ARCH) 或"受管備用數據庫"的遠程文件服務器 (RFS) 進程。
          值范圍:
          0: 禁用歸檔日志跟蹤 (這是默認設置)
          1: 重做日志文件的追蹤歸檔
          2: 每個歸檔日志目標的追蹤歸檔狀態
          4: 追蹤歸檔操作階段
          8: 追蹤歸檔日志目標活動
          16: 追蹤詳細的歸檔日志目標活動
          32: 追蹤歸檔日志目標參數修改
          64: 追蹤 ARCn 進程狀態活動
          默認值: 0

          參數名:log_buffer
          類別:重做日志和恢復
          說明: 以字節為單位, 指定在 LGWR 將重做日志條目寫入重做日志文件之前,用于緩存這些條目的內存量。重做條目保留對數據庫塊所作更改的一份記錄。如果該值大于 65536, 就能減少重做日志文件 I/O, 特別是在有長時間事務處理或大量事務處理的系統上。
          值范圍: 根據操作系統而定。
          默認值: 最大值為 500K 或 128K * CPU_COUNT, 兩者之中取較大者

          參數名:log_checkpoint_interval
          類別:重做日志和恢復
          說明: 指定在出現檢查點之前, 必須寫入重做日志文件中的 OS 塊 (而不是數據庫塊) 的數量。無論該值如何,在切換日志時都會出現檢查點。較低的值可以縮短例程恢復所需的時間, 但可能導致磁盤操作過量。
          值范圍: 無限制 (指定 0 即可禁用該參數)。
          默認值: 根據操作系統而定

          參數名:log_checkpoint_timeout 類別:重做日志和恢復
          說明: 指定距下一個檢查點出現的最大時間間隔 (秒數)。將該時間值指定為 0,將禁用以時間為基礎的檢查點。較低的值可以縮短例程恢復的時間, 但可能導致磁盤操作過量。
          值范圍: 0 - 無限制。
          默認值: Oracle8i:900 秒。企業版: 1800 秒

          參數名:log_checkpoint_to_alert 類別:重做日志和恢復
          說明: 指定將檢查點信息記錄到預警文件中。該參數對于確定檢查點是否按所需頻率出現很有用。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:log_file_name_convert 類別:備用數據庫
          說明: 將主數據庫上的一個日志文件的文件名轉換為備用數據庫上對等的路徑和文件名。將一個日志文件添加到一個主數據庫后,必須將一個相應的文件添加到備用數據庫中。該參數替代 Oracle7 中的 LOG_FILE_NAME_CONVERT參數。
          值范圍: 任何格式為 主體日志文件的路徑/文件名 和 備用日志文件的路徑/文件名 的有效路徑/文件名
          默認值: NULL

          參數名:max_commit_propagation_delay 類別:群集數據庫
          說明 : 一個群集數據庫參數, 用于指定一個例程的 SGA 中所包含的系統更改編號 (SCN) 被 LGWR 刷新之前,允許保留的最長時間 (以 1/100 秒為單位)。這是一個極少需要改動的性能參數, 因為 SCN可能不會以時間為依據進行刷新。
          值范圍: 0 - 90000
          默認值 : 700

          參數名:max_dispatchers 類別:MTS
          說明 : 指定在一個共享服務器環境中可同時運行的調度程序進程的最大數量。
          值范圍: 根據操作系統而定。
          默認值 : 如果已配置了調度程序, 則默認值為大于 5 的任何數目或配置的調度程序的數目

          參數名:max_dump_file_size 類別:MTS
          說明: 指定每個跟蹤文件的最大大小。如果您擔心跟蹤文件會占用太多空間, 可更改該限制。如果轉儲文件可以達到操作系統允許的最大大小,請將該值指定為"無限制"。
          值范圍: 0 - 無限制 (可以用 K 或 M 為單位)
          默認值: 10000 塊

          參數名:max_enabled_roles 類別:安全性和審計
          說明: 指定一個用戶可以啟用的數據庫角色 (包括子角色) 的最大數量。用戶可啟用的角色的實際數量是 2 加上MAX_ENABLED_ROLES 的值, 因為每個用戶都有兩個附加的角色: PUBLIC 和用戶自己的角色。
          值范圍: 0 -148
          默認值: 20

          參數名:max_shared_servers
          類別:MTS
          說明 : 指定在一個共享服務器環境中可同時運行的共享服務器進程的最大數量。
          值范圍: 根據操作系統而定。
          默認值 : 20

          參數名:nls_calendar
          類別:NLS
          說明: 指定 Oracle 使用哪種日歷系統作為日期格式。例如, 如果 NLS_CALENDAR 設置為 Japanese Imperial, 那么日期格式為 E YY-MM-DD。即: 如果日期是 1997 年 5 月 15 日, 那么 SYSDATE 顯示為 H 09-05-15。
          值范圍: Arabic Hijrah, English Hijrah, Gregorian, Japanese Imperial, Persian, ROC Official (Republic of China) 和 Thai Buddha。
          默認值: Gregorian

          參數名:nls_comp
          類別:NLS
          說明: 在 SQL 語句中, 應避免使用繁瑣的 NLS_SORT 進程。正常情況下,WHERE 子句中進行的比較是二進制的, 但語言比較則需要 NLSSORT 函數。可以使用 NLS_COMP 指定必須根據 NLS_SORT 會話參數進行語言比較。
          值范圍: Oracle8i National Language Support Guide 中指定的任何有效的 10 字節字符串。
          默認值: BINARY

          參數名:nls_currency
          類別:NLS
          說明: 為 L 數字格式元素指定用作本地貨幣符號的字符串。該參數的默認值由 NLS_TERRITORY 確定。
          值范圍: Oracle8i National Language Support Guide 中指定的任何有效的 10 字節字符串。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:nls_date_format
          類別:NLS
          說明: 指定與 TO_CHAR 和 TO_DATE 函數一同使用的默認日期格式。該參數的默認值由 NLS_TERRITORY 確定。該參數的值可以是包含在雙引號內的任何有效的日期格式掩碼。例如: MMM/DD/YYYY。
          值范圍: 任何有效的日期格式掩碼, 但不得超過一個固定長度。
          默認值: 派生

          參數名:nls_date_language
          類別:NLS
          說明: 指定拼寫日期名, 月名和日期縮寫詞 (AM, PM, AD, BC) 的語言。該參數的默認值是由 NLS_LANGUAGE 指定的語言。
          值范圍: 任何有效的 NLS_LANGUAGE 值。
          默認值: NLS_LANGUAGE 的值

          參數名:nls_dual_currency
          類別:NLS
          說明: 用于覆蓋 NLS_TERRITORY 中定義的默認雙重貨幣符號。如果不設置該參數, 就會使用默認的雙重貨幣符號; 否則就會啟動一個值為雙重貨幣符號的新會話。
          值范圍: 任何有效的格式名。
          默認值: 雙重貨幣符號

          參數名:nls_iso_currency
          類別:NLS
          說明: 為 C 數字格式元素指定用作國際貨幣符號的字符串。該參數的默認值由 NLS_TERRITORY 確定。
          值范圍: 任何有效的 NLS_TERRITORY 值。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:nls_language
          類別:NLS
          說明: 指定數據庫的默認語言, 該語言將用于消息, 日期和月份名, AD, BC, AM 和 PM 的符號, 以及默認的排序機制。可支持的語言包括英語, 法語和日語等等。
          值范圍: 任何有效的語言名。
          默認值: 根據操作系統而定

          參數名:nls_length_semantics
          類別:NLS
          說明: 使用字節或碼點語義來指定新列的創建, 如 char, varchar2, clob, nchar, nvarchar2, nclob 列。各種字符集對字符都有各自的定義。在客戶機和服務器上使用同一字符集時, 應以該字符集所定義的字符來衡量字符串。現有的列將不受影響。
          值范圍: BYTE 或 CHAR。
          默認值: nls_length_semantics 的數據庫字符集的字符所使用的度量單位。BYTE。

          參數名:nls_nchar_conv_excp
          類別:NLS
          說明: (如果值為 TRUE) 當在隱式轉換中丟失數據時返回錯誤的參數。
          值范圍: FALSE | TRUE
          默認值: TRUE

          參數名:nls_numeric_characters
          類別:NLS
          說明: 指定將用作組分隔符和小數位的字符。組分隔符就是用來分隔整數位組 (如千, 百萬等等) 的字符。小數分隔符用來將一個數字的整數部分與小數部分分隔開。其格式是<decimal_character><group_separator>。
          值范圍: 任何單字節字符, +, -, <, > 除外。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:nls_sort 類別:NLS
          說明: 指定 ORDER BY 查詢的比較順序。對于二進制排序, ORDER BY 查詢的比較順序是以數值為基礎的。對于語言排序, 則需要進行全表掃描, 以便將數據按照所定義的語言排序進行整理。
          值范圍: BINARY 或有效的語言定義名。
          默認值: 從 NLS_LANGUAGE 中獲得

          參數名:nls_territory
          類別:NLS
          說明: 為以下各項指定命名約定, 包括日期和星期的編號, 默認日期格式, 默認小數點字符和組分隔符, 以及默認的 ISO 和本地貨幣符號。可支持的區域包括美國, 法國和日本。有關所有區域的信息, 請參閱 Oracle8i National Language Support Guide。
          值范圍: 任何有效的地區名。
          默認值: 根據操作系統而定

          參數名:nls_time_format
          類別:NLS
          說明: 指定一個字符串值, 設置 TIME 數據類型的默認值, 該數據類型包含 HOUR, MINUTE 和 SECOND 這幾個日期時間字段。
          語法: TIME 09:26:50 (將值存儲為 7 個字節)。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:nls_time_tz_format
          類別:NLS
          說明: 指定一對值 (UTC,TZD), 設置 TIME WITH TIME ZONE 數據類型的默認值, 該數據類型包含 HOUR, MINUTE, SECOND, TIMEZONE_HOUR 和 TIMEZONE_MINUTE這幾個日期時間字段。UTC 是世界時而 TZD 是當地時區。
          語法: TIME 09:26:50.20+ 02:00 (將值存儲為 9 個字節)。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:nls_timestamp_format
          類別:NLS
          說明: 與 NLS_TIME_FORMAT 相似, 只不過它設置的是 TIMESTAMP 數據類型的默認值, 該數據類型既存儲 YEAR, MONTH 和 DAY 這幾個日期值, 也存儲 HOUR, MINUTE 和 SECOND 這幾個時間值。
          語法: TIMESTAMP 1997-01-31 09:26:50.10 (將值存儲為 11 個字節)。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:nls_timestamp_tz_format
          類別:NLS
          說明: 與 NLS_TIME_TZ_FORMAT 相似, 其中的一對值指定 TIMESTAMP 數據類型的默認值, 該類型除存儲 YEAR, MONTH 和 DAY 日期值, HOUR, MINUTE 和 SECOND 時間值, 還存儲TIMEZONE_HOUR 和 TIMEZONE_MINUTE。
          語法: TIMESTAMP 1997- 01- 31 09:26:50+ 02:00 (將值存儲為 13 個字節)。
          默認值: 從 NLS_TERRITORY 中獲得

          參數名:object_cache_max_size_percent
          類別:對象和LOB
          說明: 指定會話對象的高速緩存增長可超過最佳高速緩存大小的百分比,最大大小等于最佳大小加上該百分比與最佳大小的乘積。如果高速緩存大小超過了這個最大大小, 系統就會嘗試將高速緩存縮小到最佳大小。
          值范圍: 0 到根據操作系統而定的最大值。
          默認值: 10

          參數名:object_cache_optimal_size
          類別:對象和LOB
          說明: 指定在高速緩存超過最大大小的情況下, 會話對象高速緩存將被縮小到的大小。
          值范圍: 10K 到根據操作系統而定的最大值。
          默認值: 100K

          參數名:open_cursors
          類別:游標和庫高速緩存
          說明: 指定一個會話一次可以打開的游標 (上下文區域) 的最大數量, 并且限制 PL/SQL 使用的 PL/SQL 游標高速緩存的大小, 以避免用戶再次執行語句時重新進行語法分析。請將該值設置得足夠高, 這樣才能防止應用程序耗盡打開的游標。
          值范圍: 1 - 操作系統限制值。
          默認值: 64

          參數名:open_links
          類別:分布式、復制和快照
          說明: 指定在一次會話中同時打開的與遠程數據庫的連接的最大數量。該值應等于或超過一個引用多個數據庫的單個 SQL 語句中引用的數據庫的數量, 這樣才能打開所有數據庫以便執行該語句。
          值范圍: 0 - 255 (如果為 0, 不允許分布式事務處理)。
          默認值: 4

          參數名:open_links_per_instance
          類別:分布式、復制和快照
          說明: 指定 XA 應用程序中可移植的打開連接的最大數量。XA 事務處理使用可移植的打開的連接,以便在提交一個事務處理后能將這些連接高速緩存。如果創建連接的用戶就是擁有事務處理的用戶, 各事務處理則可共享連接。
          值范圍: 0 - UB4MAXVAL
          默認值: 4

          參數名:optimizer_features_enable
          類別:優化程序
          說明: 允許更改 init.ora 參數, 該參數控制著優化程序的行為。受此影響的參數包括 PUSH_JOIN_PREDICATE,FAST_FULL_SCAN_ENABLED, COMPLEX_VIEW_MERGING 和B_TREE_BITMAP_PLANS。
          值范圍: 8.0.0; 8.0.3; 8.0.4; 8.1.3。
          默認值: 8.0.0

          參數名:optimizer_index_caching
          類別:優化程序
          說明: 調整基于成本的優化程序的假定值,即在緩沖區高速緩存中期望用于嵌套循環聯接的索引塊的百分比。它將影響使用索引的嵌套循環聯接的成本。將該參數設置為一個較高的值,可以使嵌套循環聯接相對于優化程序來說成本更低。
          值范圍: 0 - 100 。
          默認值: 0

          參數名:optimizer_index_cost_adj
          類別:優化程序
          說明: 在考慮太多或太少索引訪問路徑的情況下, 可以用來優化優化程序的性能。該值越低, 優化程序越容易選擇一個索引。也就是說,如果將該值設置為 50, 索引訪問路徑的成本就是正常情況下的一半。
          值范圍: 1 -10000
          默認值: 100 (一個索引訪問路徑的常規成本)

          參數名:optimizer_mode
          類別:優化程序
          說明: 指定優化程序的行為。如果設置為 RULE, 就會使用基于規則的優化程序, 除非查詢含有提示。如果設置為 CHOOSE, 就會使用基于成本的優化程序, 除非語句中的表不包含統計信息。ALL_ROWS 或 FIRST_ROWS 始終使用基于成本的優化程序。
          值范圍: RULE | CHOOSE | FIRST_ROWS | ALL_ROWS
          默認值: CHOOSE

          參數名:os_authent_prefix
          類別:安全性和審計
          說明: 使用用戶的操作系統帳戶名和口令來驗證連接到服務器的用戶。該參數的值與各用戶的操作系統帳戶連接在一起。要去除 OS 帳戶前綴,請指定空值。
          值范圍: 任何標識符。
          默認值: 根據操作系統而定 (通常是 OPS$)

          參數名:os_roles
          類別:安全性和審計
          說明: 確定操作系統或數據庫是否為每個用戶標識角色。如果設置為 TRUE, 將由操作系統完全管理對所有數據庫用戶的角色授予。否則,角色將由數據庫標識和管理。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:parallel_adaptive_multi_user
          類別:并行執行
          說明: 啟用或禁用一個自適應算法, 旨在提高使用并行執行方式的多用戶環境的性能。通過按系統負荷自動降低請求的并行度, 在啟動查詢時實現此功能。當 PARALLEL_AUTOMATIC_TUNING = TRUE 時, 其效果最佳。
          值范圍: TRUE | FALSE
          默認值: 如果 PARALLEL_AUTOMATIC_TUNING = TRUE, 則該值為 TRUE; 否則為 FALSE

          參數名:parallel_utomatic_tuning 類別:并行執行
          說明: 如果設置為 TRUE, Oracle 將為控制并行執行的參數確定默認值。除了設置該參數外, 你還必須為系統中的表設置并行性。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:parallel_execution_message_size
          類別:并行執行
          說明: 指定并行執行 (并行查詢, PDML, 并行恢復和復制) 消息的大小。如果值大于 2048 或 4096, 就需要更大的共享池。如果 PARALLEL_AUTOMATIC_TUNING = TRUE, 將在大存儲池之外指定消息緩沖區。
          值范圍: 2148 - 無窮大。
          默認值: 如果 PARALLEL_AUTOMATIC_TUNING 為 FALSE, 通常值為 2148; 如果 PARALLEL_AUTOMATIC_TUNING 為 TRUE, 則值為 4096 (根據操作系統而定)。

          參數名:parallel_instance_group
          類別:群集數據庫
          說明 : 一個群集數據庫參數, 標識用來大量產生并行執行從屬的并行例程組。并行操作只對在其 INSTANCE_GROUPS參數中指定一個匹配組的例程大量產生并行執行從屬。
          值范圍: 一個代表組名的字符串。
          默認值 : 由所有當前活動例程構成的組

          參數名:parallel_max_servers
          類別:并行執行
          說明: 指定一個例程的并行執行服務器或并行恢復進程的最大數量。如果需要, 例程啟動時分配的查詢服務器的數量將增加到該數量。
          值范圍: 0 -256
          默認值: 由 CPU_COUNT, PARALLEL_AUTOMATIC_TUNING 和 PARALLEL_ADAPTIVE_MULTI_USER 確定

          參數名:parallel_max_percent
          類別:并行執行
          說明: 指定并行執行要求的線程的最大百分比。設置該參數, 可以確保并行執行在沒有可用的恰當查詢從屬進程時, 會顯示一個錯誤消息,并且該查詢會因此而不予執行。
          值范圍: 0 -100
          默認值: 0, 表示不使用該參數。

          參數名:parallel_min_percent
          類別:并行執行
          說明: 指定并行執行要求的線程的最小百分比。設置該參數, 可以確保并行執行在沒有可用的恰當查詢從屬進程時, 會顯示一個錯誤消息, 并且該查詢會因此而不予執行。
          值范圍: 0 -100
          默認值: 0, 表示不使用該參數。

          參數名:parallel_min_servers
          類別:并行執行
          說明: 指定為并行執行啟動例程后, Oracle 創建的查詢服務器進程的最小數量。
          值范圍: 0 - PARALLEL_MAX_SERVERS。
          默認值: 0

          參數名:parallel_server
          類別:群集數據庫
          說明 : 將 PARALLEL_SERVER 設置為 TRUE, 可以啟用群集數據庫選項。
          值范圍: TRUE | FALSE
          默認值 : FALSE

          參數名:parallel_server_instance
          類別:群集數據庫
          說明: 當前已配置的例程的數量。它用于確定 SGA 結構的大小, 該結構由已配置的例程數量來確定。正確設置該參數將改善 SGA 的內存使用情況。 有幾個參數是用該數量計算得到的。
          值范圍: 任何非零值。
          默認值: 1

          參數名:parallel_threads_per_cpu
          類別:并行執行
          說明: 說明一個 CPU 在并行執行過程中可處理的進程或線程的數量, 并優化并行自適應算法和負載均衡算法。如果計算機在執行一個典型查詢時有超負荷的跡象, 應減小該數值。
          值范圍: 任何非零值。
          默認值: 根據操作系統而定 (通常為 2)

          參數名:pga_aggregate_target
          類別:排序、散列聯接、位圖索引
          說明: 指定連接到例程的所有服務器進程的目標 PGA 總內存。請在啟用自動設置工作區之前將此參數設置為一個正數。這部分內存不駐留在SGA 中。數據庫將此參數值用作它所使用的目標 PGA 內存量。設置此參數時, 要將 SGA 從可用于 Oracle例程的系統內存總量中減去。然后可將剩余內存量分配給 pga_aggregate_target。
          值范圍: 整數加字母 K, M 或 G, 以將此限值指定為千字節, 兆字節或千兆字節。最小值為 10M, 最大值為 4000G
          默認值: "未指定", 表示完全禁用對工作區的自動優化。

          參數名:plsql_compiler_flags
          類別:PL/SQL
          說明: 由 PL/SQL 編譯程序使用。它將編譯程序標志列表指定為一個用逗號分隔的字符串列表。
          值范圍: native (PL/SQL 模塊將按本機代碼來編譯), interpreted (然后 PL/SQL 模塊將被編譯為 PL/SQL 字節代碼格式), debug (PL/SQL 模塊將用探測調試符號來編譯), non_debug。
          默認值: " interpreted, non_debug "

          參數名:plsql_native_library_dir
          類別:PL/SQL
          說明: 由 PL/SQL 編譯程序使用。它指定目錄名, 其中存儲了本機編譯程序生成的共享對象。
          范圍值: 目錄名。
          默認值: 無

          參數名:plsql_v2_compatibility
          類別:PL/SQL
          說明: 設置 PL/SQL 兼容級。如果設置為 FALSE, 將執行 PL/SQL V3 行為, 而不允許 V2 行為;否則在運行 PL/SQL V3 時將接受某些 PL/SQL V2 行為。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:pre_page_sga
          類別:SGA內存
          說明: 一個根據平臺而定的參數, 如果該參數為 TRUE, 將把所有 SGA 頁裝載到內存中,以便使該例程迅速達到最佳性能狀態。這將增加例程啟動和用戶登錄的時間, 但在內存充足的系統上能減少缺頁故障的出現。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:processes
          類別:進程和會話
          說明: 指定可同時連接到一個 Oracle Server 上的操作系統用戶進程的最大數量。該值應允許執行所有后臺進程, 如:作業隊列 (SNP) 進程和并行執行 (Pnnn) 進程。
          值范圍: 6 到根據操作系統而定的一個值。
          默認值: 由 PARALLEL_MAX_SERVERS 確定

          參數名:query_rewrite_enabled
          類別:優化程序
          說明: 啟用或禁用對實體化視圖的查詢重寫。一個特定實體化視圖只在如下條件下啟用: 會話參數和單獨實體化視圖均已啟用,并且基于成本的優化已啟用。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:query_rewrite_integrity
          類別:優化程序
          說明: Oracle Server 執行的查詢重寫的程度。如果設置為 ENFORCED, Oracle將保證其一致性和完整性。如果設置為 TRUSTED, 將使用明確聲明的關系來允許重寫。如果設置為 STALE_TOLERATED, 即使實體化視圖與基礎數據不一致, 也仍可以進行重寫。
          值范圍: ENFORCED, TRUSTED, STALE_TOLERATED
          默認值: ENFORCED

          參數名:rdbms_server_dn
          類別:安全性和審計
          說明: RDBMS 服務器的唯一判別名。它用于在一個企業目錄服務中檢索企業角色。有關詳細信息, 請參閱"Oracle Advanced Security Administrators Guide"。
          值范圍: 所有 X.500 唯一判別名格式值。
          默認值: 無

          參數名:read_only_open_delayed
          類別:高速緩存和I/O
          說明: 用于加速某些操作, 如: 啟動一個很大的數據庫而其中大多數數據存儲在只讀的表空間中。如果設置為 TRUE, 從表空間中讀取數據時, 將首先訪問只讀表空間中的數據文件。有關可能產生的副作用, 請參閱 Server Referencemanual。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:recovery_parallelism
          類別:重做日志和恢復
          說明: 指定參與例程或介質恢復的進程的數量。如果值為 0 或 1, 就表明恢復將由一個進程以串行方式執行。
          值范圍: 根據操作系統而定 (不能超過 PARALLEL_MAX_SERVERS)。
          默認值: 根據操作系統而定

          參數名:remote_archive_enable
          類別:備用數據庫
          說明: 控制是否可向遠程目標執行重做日志文件歸檔操作。必須將該參數值設置為 "TRUE", 以便 Oracle數據庫例程對重做日志文件進行遠程歸檔, 并且/或者接收遠程歸檔的重做日志文件。
          值范圍: FALSE | TRUE
          默認值: TRUE

          參數名:remote_dependencies_mode
          類別:PL/SQL
          說明: 用于指定數據庫為遠程 PL/SQL 存儲的過程處理被依賴對象的方式。如果設置為 TIMESTAMP,只有在服務器與本地時間戳相匹配的情況下, 才能執行該過程。如果設置為 SIGNATURE,在簽名安全的情況下即可執行該過程。
          值范圍: TIMESTAMP | SIGNATURE
          默認值: TIMESTAMP

          參數名:remote_login_passworkfile
          類別:安全性和審計
          說明: 指定操作系統或一個文件是否檢查具有權限的用戶的口令。如果設置為 NONE, Oracle 將忽略口令文件。如果設置為EXCLUSIVE, 將使用數據庫的口令文件對每個具有權限的用戶進行驗證。如果設置為 SHARED, 多個數據庫將共享SYS 和 INTERNAL 口令文件用戶。
          值范圍:NONE | SHARED | EXCLUSIVE
          默認值: NONE

          參數名:remote_os_authent
          類別:安全性和審計
          說明: 將 REMOTE_OS_AUTHENT 設置為 TRUE, 允許使用 OS_AUTHENT_PREFIX的值來驗證遠程客戶機。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:remote_os_roles
          類別:安全性和審計
          說明: 將 REMOTE_OS_ROLES 設置為 TRUE, 允許由遠程客戶機的操作系統來分配角色。如果設置為 FALSE, 則由遠程客戶機的數據庫來識別和管理角色。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:replication_dependency_tracking
          類別:分布式、復制和快照
          說明: 跟蹤相關性對復制服務器以并行方式傳播所作的更改至關重要。如果設置為 FALSE, 數據庫上的讀/寫操作將運行得更快, 但無法為復制服務器產生并行傳播的相關性信息。
          值范圍: TRUE | FALSE
          默認值: TRUE (即啟用讀/寫相關性跟蹤)

          參數名:resource_limit
          類別:資源管理器
          說明: 確定是否在數據庫概要文件中實行資源限制。如果設置為 FALSE, 將禁用資源限制。如果值為 TRUE, 即啟用資源限制。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:resource_manager_plan
          類別:資源管理器
          說明: 如果指定該值, 資源管理器將激活計劃和例程的所有子項 (子計劃, 指令和使用者組)。如果不指定, 資源管理器將被禁用, 但使用ALTER SYSTEM 命令還可以啟用。
          值范圍: 任何有效的字符串。
          默認值: NULL

          參數名:rollback_segments
          類別:系統管理的還原和回退段
          說明: 指定要在例程啟動過程中獲取的一個或多個回退段, 即使其數量超過了 TRANSACTIONS /TRANSACTIONS_PER_ROLLBACK_SEGMENT 的值。公式為 ROLLBACK_SEGMENTS =(rbseg_name [, rbseg_name] ...)
          值范圍:除 SYSTEM 外, DBA_ROLLBACK_SEGS 中列出的任何回退段。
          默認值: NULL (默認情況下使用公用回退段)

          參數名:serial_reuse
          類別:游標和庫高速緩存
          說明: 指定何種類型的 SQL 游標應利用串行可重用內存功能。如果 CURSOR_SPACE_FOR_TIME = TRUE,那么 SERIAL_REUSE 值將被忽略, 當作被設置為DISABLE 或 NULL 的情況處理。
          值范圍: DISABLE | SELECT | DML | PLSQL | ALL | NULL
          默認值: NULL

          參數名:service_names
          類別:網絡注冊
          說明 : 為 Oracle Net 監聽程序用來識別一個服務 (如: 復制環境中的一個特定數據庫)的例程指定服務名。如果該服務沒有域, 將附加 DB_DOMAIN 參數。
          語法: SERVICE_NAMES = name1.domain, name2.domain
          默認值: DB_NAME.DB_DOMAIN (如果已定義)

          參數名:session_cached_cursors
          類別:游標和庫高速緩存
          說明: 指定要高速緩存的會話游標的數量。對同一 SQL 語句進行多次語法分析后,它的會話游標將被移到該會話的游標高速緩存中。這樣可以縮短語法分析的時間, 因為游標被高速緩存, 無需被重新打開。
          值范圍: 0 到根據操作系統而定的值。
          默認值: 0

          參數名:session_max_open_files
          類別:對象和LOB
          說明: 指定可在任一給定會話中打開的 BFILE 的最大數量。一旦達到這個數量,此后將無法在該會話中打開更多文件。該參數還取決于操作系統參數 MAX_OPEN_FILES。
          值范圍: 1 - 至少為 (50, OS 級上的 MAX_OPEN_FILES)。
          默認值: 10

          參數名:sessions
          類別:進程和會話
          說明: 指定用戶會話和系統會話的總量。默認數量大于 PROCESSES, 以允許遞歸會話。
          值范圍: 任何整數值。
          默認值: 派生 (1.1 * PROCESSES + 5)

          參數名:sga_max_size
          類別:SGA內存
          說明: 指定例程存活期間所占用的系統全局區的最大大小。
          值范圍: 0 到各操作系統所允許的最大值。請注意, 由于該參數值的最小值在啟動時已經調整完畢, 因而它無關緊要。
          默認值: 如果未指定值, sga_max_size 的默認值將與啟動時 SGA 的最初大小 (比如說 X) 相同。該大小取決于 SGA 中各種池的大小, 如緩沖區高速緩存, 共享池, 大型池等。如果指定的值小于 X, 則所使用的 sga_max_size 的值將為 X。也就是說, 它是 X 與用戶指定的 sga_max_size 值兩者之間的較大

          參數名:shadow_core_dump
          類別:診斷和統計
          說明: 一個針對 UNIX 的參數, 用于指定是否將 SGA 信息轉儲到一個生成的核心文件中。如果設置為 FULL, SGA將被包括在核心轉儲中。如果設置為 PARTIAL, SGA 將不被轉儲。
          值范圍: FULL | PARTIAL
          默認值: FULL

          參數名:shared_memory_address
          類別:SGA內存
          說明: SHARED_MEMORY_ADDRESS 和 HI_SHARED_MEMORY_ADDRESS 指定運行時 SGA的起始地址。許多平臺在鏈接時間指定 SGA 起始地址, 在這類平臺上這些參數將被忽略。如果兩個參數都設置為 0 或NULL, 那么地址將根據平臺而定。
          值范圍: 任何整數值。
          默認值: 0

          參數名:shared_pool_reserved_size
          類別:池
          說明: 指定要為較大連續共享池內存請求而保留的空間,以避免由碎片引起的性能下降。該池的大小應符合這樣的條件:能存儲為防止對象從共享池刷新而普遍要求的所有大型過程和程序包。
          值范圍: SHARED_POOL_RESERVED_MIN_ALLOC 到 SHARED_POOL_SIZE 的一半 (字節)。
          默認值: SHARED_POOL_SIZE 值的 5

          參數名:shared_pool_size
          類別:池
          說明: 以字節為單位, 指定共享池的大小。共享池包含如: 共享游標, 存儲的過程,控制結構和并行執行消息緩沖區等對象。較大的值能改善多用戶系統的性能。
          值范圍:300 KB - 根據操作系統而定。
          默認值: 如果是 64 位操作系統, 值為 64MB; 其他情況下, 值為 16MB。

          參數名:shared_server_sessions
          類別:MTS
          說明 : 指定允許的共享服務器體系結構用戶會話的總數。設置此參數可為專用服務器保留一些用戶會話。
          值范圍: 0 到 SESSIONS - 5
          默認值 : 派生: MTS_CIRCUITS 和 SESSIONS - 5 兩者中的較小值

          參數名:shared_servers
          類別:MTS
          說明 : 指定在啟動例程后, 要為共享服務器環境創建的服務器進程的數量。
          值范圍: 根據操作系統而定。
          默認值 : 1

          參數名:sort_area_retained_size
          類別:排序、散列聯接、位圖索引
          說明: 以字節為單位, 指定在一個排序運行完畢后保留的用戶全局區 (UGA) 內存量的最大值。最后一行從排序空間中被提取后, 該內存將被釋放回 UGA, 而不是釋放給操作系統。
          值范圍: 從相當于兩個數據庫塊的值到 SORT_AREA_SIZE 的值。
          默認值: SORT_AREA_SIZE 的值

          參數名:sort_area_size
          類別:排序、散列聯接、位圖索引
          說明: SORT_AREA_SIZE 以字節為單位, 指定排序所使用的最大內存量。排序完成后, 各行將返回,并且內存將釋放。增大該值可以提高大型排序的效率。如果超過了該內存量, 將使用臨時磁盤段。
          值范圍: 相當于 6 個數據庫塊的值 (最小值) 到操作系統確定的值 (最大值)。
          默認值: 根據操作系統而定

          參數名:spfile
          類別:其他
          說明: 指定當前使用的服務器參數文件的名稱。
          值范圍: 靜態參數
          默認值: SPFILE 參數可在客戶端 PFILE 中定義, 以指明要使用的服務器參數文件的名稱。服務器使用默認服務器參數文件時, SPFILE 的值要由服務器在內部設置。

          參數名:sql92_security
          類別:安全性和審計
          說明: 指定要執行更新或刪除引用表列值是否需要具有表級的SELECT 權限。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:sql_trace
          類別:診斷和統計
          說明: 禁用或啟用 SQL 跟蹤設備。如果設置為 TRUE, 將收集優化信息, 這些信息對改善性能很有用。由于使用 SQL跟蹤設備將引發系統開銷, 只應在需要優化信息的情況下使用 TRUE。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:standby_archive_dest
          類別:備用數據庫
          說明: 指定來自一個主例程的歸檔日志的到達位置。STANDBY_ARCHIVE_DEST 和 LOG_ARCHIVE_FORMAT用于在備用位置上虛擬完全合格的歸檔日志文件名。備用數據庫上的 RFS 服務器將使用該值, 而不是ARCHIVE_LOG_DEST。
          值范圍: NULL 字符串或非 RAW 類型的有效路徑/設備名。
          默認值: NULL

          參數名:star_transformation_enabled
          類別:優化程序
          說明: 確定基于成本的查詢轉換是否將被應用到星型查詢中。如果設置為 TRUE, 優化程序將考慮將基于成本的轉換應用于星型查詢中; 如果設置為 FALSE, 將不使用任何轉換; 如果設置為 TEMP_DISABLE, 將考慮查詢轉換, 但不使用臨時表。
          值范圍: TRUE | FALSE | TEMP_DISABLE
          默認值: FALSE

          參數名:tape_asynch_io
          類別:備份和復原
          說明: 用于控制對順序設備的 I/O 操作 (例如, 將 Oracle 數據備份或復原到磁帶上, 或從磁帶上備份或復原Oracle 數據) 是否異步。只有在您的平臺支持對順序設備的異步 I/O 操作的情況下, 將該值設置為 TRUE 才有效; 如果異步 I/O 的執行情況不穩定, 請將該值設置為 FALSE。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:thread
          類別:群集數據庫
          說明 : 一個群集數據庫參數, 用于為每個例程指定一個唯一的重做線程號。在例程的重做線程被禁用的情況下, 該例程無法啟動。如果該值為零, 就表示有一個已啟用的公用線程可供選擇。
          值范圍: 0 - 已啟用線程的最大數量。
          默認值 : 0

          參數名:timed_os_statistics
          類別:診斷和統計
          說明 : 由系統管理員使用, 以收集操作系統統計信息。為了有效地使用資源, 請只在需要時才設置該值。對于專用服務器,會在用戶連接, 斷開連接以及彈出調用 (如果超出了指定的時間限制) 的情況下收集操作系統統計信息。對于共享服務器, 將為推入或彈出的調用收集統計信息。
          值范圍: 以秒為單位的時間。
          默認值 : 0 (操作系統統計信息不被刷新)

          參數名:timed_statistics
          類別:診斷和統計
          說明: 收集操作系統的計時信息, 這些信息可被用來優化數據庫和 SQL 語句。要防止因從操作系統請求時間而引起的開銷, 請將該值設置為零。將該值設置為 TRUE 對于查看長時間操作的進度也很有用。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:transactions
          類別:事務處理
          說明: 指定并行事務處理的最大數量。如果將該值設置得較大, 將增加 SGA 的大小,并可增加例程啟動過程中分配的回退段的數量。默認值大于 SESSIONS, 以實現遞歸事務處理。
          值范圍: 一個數值。
          默認值: 派生 (1.1 * SESSIONS)

          參數名:transactions_per_rollback_segment
          類別:系統管理的還原和回退段
          說明: 指定每個回退段允許的并行事務處理的數量。啟動時獲取的回退段的最小數量為 TRANSACTIONS 除以該參數值的結果。如果在參數 ROLLBACK_SEGMENTS 中命名了其他回退段, 就可以獲取這些回退段。
          值范圍: 1 - 根據操作系統而定。
          默認值: 5

          參數名:undo_management
          類別:系統管理的還原和回退段
          說明: 指定系統應使用哪種還原空間管理模式。如果設置為 AUTO, 例程將以 SMU 模式啟動。否則將以 RBU 模式啟動。在 RBU 模式下, 還原空間會象回退段一樣在外部分配。在 SMU 模式下, 還原空間會象還原表空間一樣在外部分配。
          值范圍: AUTO 或 MANUAL
          默認值: 如果啟動第一個例程時忽略了 UNDO_MANAGEMENT 參數, 則將使用默認值 MANUAL, 并且例程將以 RBU 模式啟動。如果這不是第一個例程, 則將按其他現有例程啟動時使用的還原模式來啟動該例程

          參數名:undo_retention
          類別:系統管理的還原和回退段
          說明: UNDO_RETENTION參數用來指定要在數據庫中保留的已提交的還原信息總量。可在例程啟動時設置該參數值。可以計算滿足撤消保留要求所需的還原空間量:UndoSpace = RD * UPS, 其中 UndoSpace 以還原塊數來表示, RD 用以秒為單位的UNDO_RETENTION 來表示, UPS 以每秒還原塊數來表示。
          值范圍: 所允許的最大值為 (2 ** 32) 秒。
          默認值: 30 秒。

          參數名:undo_tablespace
          類別:系統管理的還原和回退段
          說明: 還原表空間僅用于存儲還原信息。UNDO_TABLESPACE 僅允許在系統管理還原 (SMU)模式下使用。例程將使用指定的還原表空間, <undoname>。如果該表空間不存在, 或不是還原表空間,或正在由另一例程使用, 則例程 STARTUP 將失敗。
          默認值: 每個數據庫都包含 0 個或更多的還原表空間。在 SMU 模式下, 將為每個 ORACLE 例程分配一個 (且僅限一個) 還原表空間。

          參數名:use_indirect_data_buffers
          類別:高速緩存和I/O
          說明: 控制可支持超過 4GB 物理內存的 32 位平臺對擴展緩沖區高速緩存機制的使用情況。在其他平臺上, 該參數將被忽略。
          值范圍: TRUE | FALSE
          默認值: FALSE

          參數名:user_dump_dest
          類別:診斷和統計
          說明: 為服務器將以一個用戶進程身份在其中寫入調試跟蹤文件的目錄指定路徑名。例如, 該目錄可這樣設置: NT 操作系統上的 C:/ORACLE/UTRC; UNIX 操作系統上的 /oracle/utrc; 或 VMS 操作系統上的DISK$UR3:[ORACLE.UTRC]。
          值范圍: 一個有效的本地路徑名, 目錄或磁盤。
          默認值: 根據操作系統而定

          參數名:utl_file_dir
          類別:PL/SQL
          說明: 允許數據庫管理員指定 PL/SQL 文件 I/O 許可的目錄。使用多個 UTL_FILE_DIR參數即可指定多個目錄。請注意所有用戶均可讀取或寫入 UTL_FILE_DIR 參數中指定的所有文件。
          值范圍: 任何有效的目錄路徑。
          默認值: 無

          參數名:workarea_size_policy
          類別:排序、散列聯接、位圖索引
          說明: 指定調整工作區大小的策略。此參數控制優化工作區時所處的模式。
          值范圍: AUTO, MANUAL。
          默認值: 如果設置了 PGA_AGGREGATE_TARGET, 則為 AUTO; 否則為 MANUAL。
          richking 發表于:2006.01.18 17:31 ::分類: ( oracle ) ::閱讀:(160次) :: 評論 (0) :: 引用 (0)

          Linux性能分析工具

          vmstat監視內存使用情況
          iostat監視I/O子系統情況
          使用sar進行綜合分析
          CCNA專業詞匯全集
          通俗易懂的《路由和交換》

          在Linux下有很多系統性能分析工具,比較常見的有top、free、ps、time、timex、uptime等。下文將介紹幾個較為重要的性能分析工具vmstat、iostat和sar及其使用。

          用vmstat監視內存使用情況

            vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。

            vmstat [-V] [-n] [delay [count]]
            其中,-V表示打印出版本信息;-n表示在周期性循環輸出時,輸出的頭部信息僅顯示一次;delay是兩次輸出之間的延遲時間;count是指按照這個時間間隔統計的次數。對于vmstat輸出各字段的含義,可運行man vmstat查看。

          用iostat監視I/O子系統情況
            iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況,同時也會匯報出CPU使用情況。同vmstat一樣,iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情況進行分析。

          iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
            其中,-c為匯報CPU的使用情況;-d為匯報磁盤的使用情況;-k表示每秒按kilobytes字節顯示數據;-t為打印匯報的時間;-v表示打印出版本信息和用法;-x device指定要統計的設備名稱,默認為所有的設備;interval指每次統計間隔的時間;count指按照這個時間間隔統計的次數。

          使用sar進行綜合分析
            sar是System Activity Reporter(系統活動情況報告)的縮寫。顧名思義,sar工具將對系統當前的狀態進行取樣,然后通過計算數據和比例來表達系統的當前運行狀態。它的特點是可以連續對系統取樣,獲得大量的取樣數據;取樣數據和分析的結果都可以存入文件,所需的負載很小。sar是目前Linux上最為全面的系統性能分析工具之一,可以從14個大方面對系統的活動進行報告,包括文件的讀寫情況、系統調用的使用情況、串口、CPU效率、內存使用狀況、進程活動及IPC有關的活動等,使用也是較為復雜。

          sar [-option] [-o file] t [n]  
          它的含義是每隔t秒取樣一次,共取樣n次。其中-o file表示取樣結果將以二進制形式存入文件file中。
          sar [-option] [-s time] [-e time] [-i sec] [-f file]  
          含義是表示從file文件中取出數據,如果沒有指定-f file,則從標準數據文件/var/adm/sa/sadd取數據,其中dd表示當前天。另外,-s time表示起始時間;-e time表示停止時間;-i sec表示取樣的時間間隔,如果不指定則表示取文件中所有的數據。對于具體的選項參見表1。
            一般它與-q和-u聯合使用,以便對每個CPU的使用情況進行分析,比如運行如下命令: sar -q -u 5 1

            -A 匯總所有的報告
            -a 報告文件讀寫使用情況
            -B 報告附加的緩存的使用情況
            -b 報告緩存的使用情況
            -c 報告系統調用的使用情況
            -d 報告磁盤的使用情況
            -g 報告串口的使用情況
            -h 報告關于buffer使用的統計數據
            -m 報告IPC消息隊列和信號量的使用情況
            -n 報告命名cache的使用情況
            -p 報告調頁活動的使用情況
            -q 報告運行隊列和交換隊列的平均長度
            -R 報告進程的活動情況
            -r 報告沒有使用的內存頁面和硬盤塊
            -u 報告CPU的利用率
            -v 報告進程、i節點、文件和鎖表狀態
            -w 報告系統交換活動狀況
            -y 報告TTY設備活動狀況
          -------------------------------------------------------------------


          如果沒有該命令,請先安裝sysstat-4.0.7-4.EL3.3.i386.rpm 軟件包
          rpm -ivh sysstat-4.0.7-4.EL3.3.i386.rpm


          richking 發表于:2006.01.18 16:59 ::分類: ( linux ) ::閱讀:(130次) :: 評論 (0) :: 引用 (0)

          oracle優化

          世界上最痛苦的事莫過于,不懂裝懂,我不想裝,可是公司逼我裝.LINUX和ORACLE我真的不懂,費了好大的勁才把系統建起來,可是我不知道怎么優化.這個優化方案是我在網上找的,不好用,太復雜了我不明白,很多操作做起來會報錯,希望各位朋友能幫幫我.
          我還是把我找到的發出來,供大家參考下:
          Oracle9i的優化調整
          一、SGA
          1、Shared pool tunning
          Shared pool的優化應該放在優先考慮,因為一個cache miss在shared pool中發生比在data buffer中發生導致的成本更高,由于dictionary數據一般比library cache中的數據在內存中保存的時間長,所以關鍵是library cache的優化。
          Gets:(parse)在namespace中查找對象的次數;
          Pins:(execution)在namespace中讀取或執行對象的次數;
          Reloads:(reparse)在執行階段library cache misses的次數,導致sql需要重新解析。
          1) 檢查v$librarycache中sql area的gethitratio是否超過90%,如果未超過90%,應該檢查應用代碼,提高應用代碼的效率。
          Select gethitratio from v$librarycache where namespace=’sql area’;

          2) v$librarycache中reloads/pins的比率應該小于1%,如果大于1%,應該增加參數shared_pool_size的值。
          Select sum(pins) “executions”,sum(reloads) “cache misses”,sum(reloads)/sum(pins) from v$librarycache;

          reloads/pins>1%有兩種可能,一種是library cache空間不足,一種是sql中引用的對象不合法。

          3)shared pool reserved size一般是shared pool size的10%,不能超過50%。V$shared_pool_reserved中的request misses=0或沒有持續增長,或者free_memory大于shared pool reserved size的50%,表明shared pool reserved size過大,可以壓縮。

          4)將大的匿名pl/sql代碼塊轉換成小的匿名pl/sql代碼塊調用存儲過程。

          5)從9i開始,可以將execution plan與sql語句一起保存在library cache中,方便進行性能診斷。從v$sql_plan中可以看到execution plans。

          6)保留大的對象在shared pool中。大的對象是造成內存碎片的主要原因,為了騰出空間許多小對象需要移出內存,從而影響了用戶的性能。因此需要將一些常用的大的對象保留在shared pool中,下列對象需要保留在shared pool中:
          a. 經常使用的存儲過程;
          b. 經常操作的表上的已編譯的觸發器
          c. Sequence,因為Sequence移出shared pool后可能產生號碼丟失。
          查找沒有保存在library cache中的大對象:
          Select * from v$db_object_cache where sharable_mem>10000 and type in ('PACKAGE','PROCEDURE','FUNCTION','PACKAGE BODY') and kept='NO';
          將這些對象保存在library cache中:
          Execute dbms_shared_pool.keep(‘package_name’);
          對應腳本:dbmspool.sql

          7)查找是否存在過大的匿名pl/sql代碼塊。兩種解決方案:
          A.轉換成小的匿名塊調用存儲過程
          B.將其保留在shared pool中
          查找是否存在過大的匿名pl/sql塊:
          Select sql_text from v$sqlarea where command_type=47 and length(sql_text)>500;

          8)Dictionary cache的 優化
          避免出現Dictionary cache的misses,或者misses的數量保持穩定,只能通過調整shared_pool_size來間接調整dictionary cache的大小。

          Percent misses應該很低:大部分應該低于2%,合計應該低于15%
          Select sum(getmisses)/sum(gets) from v$rowcache;
          若超過15%,增加shared_pool_size的值。
          2、Buffer Cache
          1)granule大小的設置,db_cache_size以字節為單位定義了default buffer pool的大小。
          如果SGA<128M,granule=4M,否則granule=16M,即需要調整sga的時候以granule為單位增加大小,并且sga的大小應該是granule的整數倍。

          2) 根據v$db_cache_advice調整buffer cache的大小
          SELECT size_for_estimate,buffers_for_estimate,estd_physical_read_factor,estd_physical_reads FROM v$db_cache_advice WHERE NAME='DEFAULT' AND advice_status='ON' AND block_size=(SELECT Value FROM v$parameter WHERE NAME='db_block_size');

          estd_physical_read_factor<=1

          3) 統計buffer cache的cache hit ratio>90%,如果低于90%,可以用下列方案解決:
          增加buffer cache的值;
          使用多個buffer pool;
          Cache table;
          為 sorting and parallel reads 建獨立的buffer cache;

          SELECT NAME,value FROM v$sysstat WHERE NAME IN ('session logical reads','physical reads','physical reads direct','physical reads direct(lob)');

          Cache hit ratio=1-(physical reads-physical reads direct-physical reads direct (lob))/session logical reads;

          Select 1-(phy.value-dir.value-lob.value)/log.value from v$sysstat log, v$sysstat phy, v$sysstat dir, v$sysstat LOB where log.name='session logical reads' and phy.name='physical reads' and dir.name='physical reads direct' and lob.name='physical reads direct (lob)';

          影響cache hit ratio的因素:
          全表掃描;應用設計;大表的隨機訪問;cache hits的不均衡分布

          4)表空間使用自動空間管理,消除了自由空間列表的需求,可以減少數據庫的競爭
          3、其他SGA對象
          1)redo log buffer
          對應的參數是log_buffer,缺省值與 OS相關,一般是500K。檢查v$session_wait中是否存在log buffer wait,v$sysstat中是否存在redo buffer allocation retries

          A、檢查是否存在log buffer wait:
          Select * from v$session_wait where event=’log buffer wait’ ;
          如果出現等待,一是可以增加log buffer的大小,也可以通過將log 文件移到訪問速度更快的磁盤來解決。

          B、Select name,value from v$sysstat where name in (‘redo buffer allocation retries’,’redo entries’)
          Redo buffer allocation retries接近0,小于redo entries 的1%,如果一直在增長,表明進程已經不得不等待redo buffer的空間。如果Redo buffer allocation retries過大,增加log_buffer的值。

          C、檢查日志文件上是否存在磁盤IO競爭現象
          Select event,total_waits,time_waited,average_wait from v$system_event where event like ‘log file switch completion%’;
          如果存在競爭,可以考慮將log文件轉移到獨立的、更快的存儲設備上或增大log文件。

          D、檢查點的設置是否合理
          檢查alert.log文件中,是否存在‘checkpoint not complete’;
          Select event,total_waits,time_waited,average_wait from v$system_event where event like ‘log file switch (check%’;

          如果存在等待,調整log_checkpoint_interval、log_checkpoint_timeout的設置。

          E、檢查log archiver的工作
          Select event,total_waits,time_waited,average_wait from v$system_event where event like ‘log file switch (arch%’;

          如果存在等待,檢查保存歸檔日志的存儲設備是否已滿,增加日志文件組,調整log_archiver_max_processes。

          F、DB_block_checksum=true,因此增加了性能負擔。(為了保證數據的一致性,oracle的寫數據的時候加一個checksum在block上,在讀數據的時候對checksum進行驗證)

          2)java pool
          對于大的應用,java_pool_size應>=50M,對于一般的java存儲過程,缺省的20M已經夠用了。
          3)檢查是否需要調整DBWn
          Select total_waits from v$system_event where event=’free buffer waits’;
          二、數據庫配置和IO問題
          降低磁盤的IO
          分散磁盤的IO
          表空間使用本地管理
          1、將文件分散到不同的設備上
          1)將數據文件與日志文件分開
          2)減少與服務器無關的磁盤IO
          3)評估裸設備的使用
          4)分割表數據
          2、表空間的使用
          系統表空間保留給數據字典對象
          創建本地管理表空間以避免空間管理問題
          將表和索引分散到獨立的表空間中
          使用獨立的回滾表空間
          將大的數據庫對象保存在各自獨立的表空間中
          創建一個或多個獨立的臨時表空間

          下列數據庫對象應該有單獨的表空間:
          數據字典、回滾段、索引、臨時段、表、大對象
          3、檢查IO統計數據
          Select phyrds,phywrts,d.name from v$datafile d,v$filestat f where f.file#=d.file# order by d.name;
          檢查最有可能引起磁盤IO瓶頸的文件。
          4、分割文件
          可以通過RAID和手工進行
          Alter table table_name allocate extent (datafile ‘fiile_name’ size 10M);
          但手工操作工作量很大。
          5、優化全表掃描操作
          1)檢查有多少全表發生:
          Select name,value from v$sysstat where name like ‘%table scan%’;
          table scans (short tables)/ table scans (long tables)與全表掃描相關,如果table scans (long tables)的值很高,說明大部分的table access 沒有經過索引查找,應該檢查應用或建立索引,要確保有效的索引在正確的位置上。

          合理的DB_FILE_MULTIBLOCK_READ_COUNT能減少table scan需要調用的IO次數,提高性能(與OS相關)。

          2)查看full table scan操作:
          Select sid,serial#,opname,target,to_char(start_time,’HH24:MI:SS’) “start”,(sofar/totalwork)*100 “percent_complete” from v$session_longops;
          通過v$session_longops里的sql_hash_value與v$sqltext關聯,可以查詢導致full table scan的sql。
          6、Checkpoint
          Checkpoint進行的操作:DBWn進行IO操作;CKPT更新數據文件頭和控制文件。
          經常進行Checkpoint的結果:減少恢復所需的時間;降低了系統運行時的性能。

          LGWR以循環的方式將日志寫到各個日志組,當一個日志組滿時,oracle server必須進行一個Checkpoint,這意味著:DBWn將對應log覆蓋的所有或部分臟數據塊寫進數據文件;CKPT更新數據文件頭和控制文件。如果DBWn沒有完成操作而LGWR需要同一個文件,LGWR只能等待。
          在OLTP環境下,如果SGA很大并且checkpoint的次數不多,在Checkpoint的過程中容易出現磁盤競爭的狀況,在這種情況下,經常進行Checkpoint可以減少每次Checkpoint涉及到的臟數據塊的數目。

          調節Checkpoint次數的辦法:
          增大日志文件;增加日志組以增加覆蓋的時間間隔。
          7、日志文件
          建立大小合適的日志文件以最小化競爭;
          提供足夠的日志文件組以消除等待現象;
          將日志文件存放在獨立的、能快速訪問的存儲設備上(日志文件可以創建在裸設備上)。

          日志文件以組的方式組織管理,每個組里的日志文件的內容完全相同。
          8、歸檔日志文件
          如果選擇歸檔模式,必須要有兩個或兩個以后的日志組,當從一個組切換到另一個組時,會引起兩種操作:DBWn進行Checkpoint;一個日志文件進行歸檔。

          歸檔有時候會報錯:
          ARC0:Beginning to archive log# 4 seq# 2772
          Current log# 3 seq# 2773……
          ARC0: Failed to archive log# 4 seq# 2772
          ARCH: Completed to archiving log#4 seq# 2772
          建議init參數修改如下:
          log_archive_max_processes=2
          #log_archive_dest = ‘/u05/prodarch’
          log_archive_dest_1 = "location=/u05/prodarch MANDATORY’
          log_archive_dest_state_1 = enable

          log_archive_dest_2 = "location=/u05/prodarch2 OPTIONAL reopen=10" (或其它目錄)
          log_archive_dest_state_2 = enable
          log_archive_min_succeed_dest=1

          log_archive_dest_state_3 = DEFER
          log_archive_dest_state_4 = DEFER
          log_archive_dest_state_5 = DEFER
          三、優化排序操作
          1、概念
          服務器首先在sort_area_size指定大小的內存區域里排序,如果所需的空間超過sort_area_size,排序會在臨時表空間里進行。在專用服務器模式下,排序空間在PGA中,在共享服務器模式下,排序空間在UGA中。如果沒有建立large pool,UGA處于shared pool中,如果建立了large pool,UGA就處于large pool中,而PGA不在sga中,它是與每個進程對應單獨存在的。

           

          PGA:program global area,為單個進程(服務器進程或后臺進程)保存數據和控制信息的內存區域。PGA與進程一一對應,且只能被起對應的進程讀寫,PGA在用戶登錄數據庫創建會話的時候建立。

          有關排序空間自動管理的兩個參數:
          Pga_aggregate_target: 10M-4000G,等于分配給oracle instance的所有內存減去SGA后的大小。
          Workarea_size_policy: auto/manual,只有Pga_aggregate_target已定義時才能設置為auto。
          這兩個參數會取代所有的*_area_size參數。

          措施:
          盡可能避免排序;盡可能在內存中排序;分配合適的臨時空間以減少空間分配調用。
          2、需要進行排序的操作:
          A、創建索引;
          B、涉及到索引維護的并行插入
          C、order by或者group by(盡可能對索引字段排序)
          D、Distinct
          E、union/intersect/minus
          F、sort-merge join
          G、analyze命令(僅可能使用estamate而不是compute)
          3、診斷和措施
          Select * from v$sysstat where name like ‘%sort%’;
          Sort(disk):要求Io去臨時表空間的排序數目
          Sort(memory):完全在memory中完成的排序數目
          Sort(rows):被排序的行數合計

          Sort(disk)/ Sort(memory)<5%,如果超過5%,增加sort_area_size的值。
          SELECT disk.Value disk,mem.Value mem,(disk.Value/mem.Value)*100 ratio FROM v$sysstat disk,v$sysstat mem WHERE mem.NAME='sorts (memory)' AND disk.NAME='sorts (disk)';
          4、監控臨時表空間的使用情況及其配置
          Select tablespace_name,current_users,total_extents,used_extents,extent_hits,max_used_blocks,max_sort_blocks FROM v$sort_segment ;

          Column Description
          CURRENT_USERS Number of active users
          TOTAL_EXTENTS Total number of extents
          USED_EXTENTS Extents currently allocated to sorts
          EXTENT_HITS Number of times an unused extent was found in the pool
          MAX_USED_BLOCKS Maximum number of used blocks
          MAX_SORT_BLOCKS Maximum number of blocks used by an individual sort

          臨時表空間的配置:
          A、initial/next設置為sort_area_size的整數倍,允許額外的一個block作為segment的header
          B、pctincrease=0
          C、基于不同的排序需要建立多個臨時表空間
          D、將臨時表空間文件分散到多個磁盤上
          四、診斷latch競爭
          1、概念
          Latch是簡單的、低層次的序列化技術,用以保護SGA中的共享數據結構,比如并發用戶列表和buffer cache里的blocks信息。一個服務器進程或后臺進程在開始操作或尋找一個共享數據結構之前必須獲得對應的latch,在完成以后釋放latch。不必對latch本身進行優化,如果latch存在競爭,表明SGA的一部分正在經歷不正常的資源使用。

          1)Latch的作用:
          A、序列化訪問:保護SGA中的共享數據結構;保護共享內存的分配。
          B、序列化執行:避免同時執行某些關鍵代碼;避免互相干擾。

          2)Latch請求的兩種類型:
          A、willing-to-wait:請求的進程經過短時間的等待后再次發出請求,直到獲得latch
          B、immediate:如果沒有獲得latch,請求的進程不等待,而是繼續處理其他指令。
          2、檢查Latch競爭
          檢查latch free是不是主要的wait event:
          Select * from v$system_event order by time_waited;

          檢查latch的使用情況:
          Select * from v$latch:
          與willing-to-wait請求有關的列:gets、misses、sleeps、wait_time、cwait_time、spin_gets
          與immediate請求有關的列:immediate_gets、immediate_misses

          Gets: number of successful willing-to-wait requests for a latch;
          Misses: number of times an initial wiling-to-wait request was unsuccessful;
          Sleeps: number of times a process waited after an initial willing-to-wait request;
          Wait_time: number of milliseconds waited after willing-to-wait request;
          Cwait_time: a measure of the cumulative wait time including the time spent spinning and sleeping,the overhead of context switches due to OS time slicing and page faults and interrupts;
          Spin_gets: gets that misses first try but succeed after spinning.

          Immediate_gets: number of successful immediate requests for each latch;
          Immediate_misss: number of unsuccessful immediate requests for each latch;

          一般無需調整latch,但是下列的措施是有用的:
          A、對處于競爭中的latch做進一步的調查
          B、如果競爭主要存在于shared pool和library cache中,可以考慮調整應用
          C、如果進一步的調查顯示需要調整shared pool和buffer cache,就進行調整

          Select * from v$latch where name like ‘%shared pool%’ or name like ‘%library cache%’;
          如果競爭是在shared pool或library cache上,表示下列集中情況:
          A、不能共享的sql,應檢查他們是否相似,考慮以變量代替sql中的常量:
          Select sql_text from v$sqlarea where executions=1 order by upper(sql_text);
          B、共享sql被重新編譯,考慮library cache的大小是否需要調整:
          SELECT sql_text,parse_calls,executions FROM v$sqlarea where parse_calls>5;
          C、library cache不夠大。
          五、Rollback(undo) Segment 優化
          1、概念
          Transaction以輪循的方式使用rollback segment里的extent,當前所在的extent滿時就移動到下一個extent。可能有多個transaction同時向同一個extent寫數據,但一個rollback segment block中只能保存一個transaction的數據。

          Oracle 在每個Rollback segment header中保存了一個transaction table,包括了每個rollback segment中包含的事務信息,rollback segment header的活動控制了向rollbak segment寫入被修改的數據。rollback segment header是經常被修改的數據庫塊,因此它應該被長時間留在buffer cache中,為了避免在transaction table產生競爭導致性能下降,應有多個rollback segment或應盡量使用oracle server 自動管理的rollback segment。
          2、診斷rollback segment header的競爭
          如果rollback segment 由手工管理,下列措施診斷rollback segment header的競爭
          SELECT class,count FROM v$waitstat WHERE class LIKE '%undo%' ;
          SELECT Sum(Value) sum FROM v$sysstat WHERE NAME IN ('db block gets','consistent gets');
          任何類型的等待次數(count)與總請求數(sum)的比率,不能超過1%。

          select sum(waits)*100/sum(gets) "Ratio", sum(waits) "Waits", sum(gets) "Gets" from v$rollstat;
          waits的匯總數與gets的匯總數的比率應低于1%,如果超過1%,應創建更多的rollback segment。

          下列字段數值如果大于0,則表明在rollback segment header上存在競爭:
          A、v$rollstat 中的waits
          B、v$waitstat中的undo header行
          C、v$system_event中的undo segment tx slot事件
          3、消耗更少的rollback segment
          1)如果是刪除表里所有的數據,盡可能使用trauncate而不是delete。
          2)在應用中允許用戶有規律的提交,盡可能不用長事務。
          3)? Import
          – Set COMMIT = Y
          – Size the set of rows with BUFFER
          ? Export: Set CONSISTENT=N
          ? SQL*Loader: Set the COMMIT intervals with ROWS
          4、小回滾段可能出現的問題
          A、事務由于缺少回滾空間失敗
          B、由于下列原因導致的“Snapshot too old”問題:
          Block里的事務列表被刷新,block里的SCN比列表Interested Transaction List(ITL)里起始事務的SCN更新;
          Rollback segment header里的Transaction slot被重用;
          回滾數據已經被重寫;
          5、9i的自動回滾管理
          Undo_managment指定了回滾空間的管理方式:Auto:自動管理;Manual:手工管理回滾段。
          Undo_retention指定了回滾數據的保留期限;
          Undo_tablespace指定了被使用的回滾表空間;

          Oracle自動管理的表空間可以在常見數據庫的時候創建,也可以單獨建立。回滾表空間可以相互轉換(switch),但在某一時刻只能有一個回滾表空間處于活動狀態。回滾表空間處于非活動狀態時可以刪除,如果有對處于被刪除回滾表空間里的已提交事務的查詢時,oracle會返回一個錯誤。

          估計undo tablespace大小的公式:
          Undo space = (undo_retention * (undo blocks per second * db_block_size)) + db_block_size;

          可以使用下列的sql設定undo_retention和undo tablespace:
          select (rd*(ups*overhead)+overhead) "bytes" from (select value rd from v$parameter where name ='undo_retention'),(select (sum(undoblks)/sum(((end_time-begin_time)*10800))) ups from v$undostat),(select value overhead from v$parameter where name='db_block_size');

          其中:
          Rd:undo_retention設置的時間;
          Ups:undo blocks per second;
          Overhead:rollback segment header;
          六、Lock Contention
          1、概念
          DML事務使用row-level locks,查詢不會鎖定數據。鎖有兩種模式:exlusive、share。
          鎖的類型:
          ? DML or data locks:
          – Table-level locks(TM)
          – Row-level locks(TX)
          ? DDL or dictionary locks
          一個transaction至少獲得兩個鎖:一個共享的表鎖,一個專有的行鎖。Oracle server將所有的鎖維護在一個隊列里,隊列跟蹤了等待鎖的用戶、申請鎖的類型以及用戶的順序信息。
          Lock在下列情況會釋放:commit;rollback;terminated(此時由pmon清理locks)。

          Quiesced database:一個數據庫如果除了sys和system之外沒有其他活動session,這個數據庫即處于quiesced狀態。活動session是指這個session當前處于一個transaction中,或一個查詢中,一個fetch中,或正占有某種共享資源。
          2、可能引起lock contention的原因
          不必要的高層次的鎖;
          長時間運行的transaction;
          未提交的修改;
          其他產品施加的高層次的鎖。

          解決lock contention的方法:鎖的擁有者提交或回滾事務;殺死用戶會話。
          3、死鎖
          Oracle自動檢測和解決死鎖,方法是通過回滾引起死鎖的語句(statement),但是這條語句對應的transaction并沒有回滾,因此當收到死鎖的錯誤信息后,應該去回滾改transaction的剩余部分。
          七、應用優化
          1、概念
          為了提高性能,可以使用下列數據訪問方法:
          A、Clusters
          B、Indexes
          -B-tree(normal or reverse key)
          -bitmap
          -function-based
          C、Index-organized tables
          D、Materialized views

          索引的層次越多,效率越低,如果索引中含有許多已刪除的行,這個索引也會變得低效,如果索引數據的15%已經被刪除,應該考慮重建索引。
          2、應用問題
          A、使用可聲明的約束而不是通過代碼限制
          B、代碼共享
          C、使用綁定變量而不是文字來優化共享sql
          D、調整cursor_sharing的值(EXACT/SIMILAR/FORCE)
          八、提升block的效率
          1、避免動態分配的缺陷
          創建本地管理的表空間;
          合理設置segment的大小;
          監控將要擴展的segment:
          SELECT owner, table_name, blocks, empty_blocks FROM dba_tables WHERE empty_blocks / (blocks+empty_blocks) < .1;
          2、high water mark
          記錄在segment header block中,在segment創建的時候設定在segment的起始位置,當記錄被插入的時候以5個block的增量增加,truncate可以重設high water mark的位置,但delete不能。
          在full table scan中,oracle會讀取high water mark以下的所有的數據塊,所以high water mark以上的塊也許會浪費存儲空間,但不會降低性能。

          可以通過下列方法收回表中high water mark以上的塊:
          Alter table_name deallocate unused;
          對于high water mark以下的塊:
          使用import/export工具:export數據;drop或truncate表;import數據。或者利用alter table tanle_name move命令去移動表的存儲位置(此時需要重建索引)。
          3、表統計
          用analyize命令生成表統計,然后到dba_table查詢相關信息。
          ANALYZE TABLE ndls.t_wh_shipping_bill COMPUTE STATISTICS;
          SELECT num_rows, blocks, empty_blocks as empty,avg_space, chain_cnt, avg_row_len FROM dba_tables WHERE owner ='NDLS' AND table_name='T_WH_SHIPPING_BILL';

          Columns Description
          NUM_ROWS Number of rows in the table
          BLOCKS Number of blocks below the table high-water mark
          EMPTY_BLOCKS Number of blocks above the table high-water mark
          AVG_SPACE Average free space in bytes in the blocks below high-water mark
          AVG_ROW_LEN Average row length, including row overhead
          CHAIN_CNT Number of chained or migrated rows in the table

          4、block size
          通過下列方法可以最小化block的訪問次數:
          使用更大的block size;緊密壓縮行;阻止行鏡像。后兩者存在沖突,越多的行被壓縮在一個block里,越容易產生鏡像。

          Block size 在數據庫創建的時候設定,不能被輕易改變,是讀取數據文件時最小的IO單元,大小范圍是2K-64K,應該設置成OS塊的整數倍,小于或等于OS IO時能讀取的存儲區域。

          較小的block size的優點:極少block競爭;有利于較小的行和隨機訪問。缺點是存在相當高的成本,每個block的行數更少,可能需要讀取更多的index塊。

          Block size的選擇影響系統的性能,在一個OLTP環境中,較小的block size更合適,而在DSS環境中,適宜選擇較大的block size。
          5、PCTFREE、PCTUSED
          1)PCTFREE、PCTUSED使你能控制一個segment里所有數據塊里free space的使用。
          PCTFREE:一個數據塊保留的用于塊里已有記錄的可能更新的自由空間占block size的最小比例。
          PCTUSED:在新記錄被插入block里之前這個block可以用于存儲行數據和其他信息的空間所占的最小比率。

          2)這兩個參數的使用
          如果創建表的時候指定pctfree=20%,oracle會在這個表的data segment的每個block都保留20%的空間用于已有記錄的更新。Block的已使用空間上升到整個block size的80%時,這個block將移出free list;在提交了delete、update之后,oracle server處理這條語句并檢查對應block的已使用空間是否低于PCTUSED,如果是,則這個block放進free list。

          3)PCTFREE、PCTUSED的設定
          ? PCTFREE
          – Default 10
          – Zero if no UPDATE activity
          – PCTFREE = 100 × upd / (average row length)
          ? PCTUSED
          – Default 40
          – Set if rows deleted
          – PCTUSED = 100 – PCTFREE – 100 × rows × (average row length) / blocksize
          其中,upd : the average amount added by updates, in bytes。This is determined by subtracting the average row length of intercurrent average row length;
          average row length:在運行了analyize命令之后,這個值可以從dba_tables中的avg_row_len列中獲得。
          rows : the number of rows to be deleted before free list maintenance occurs。

          4)Delete、update可以增加block的自由空間,但是釋放出來的空間有可能是不連續的,oracle在下列情況下會對碎片進行整理:一個block有足夠的自由空間容納row piece,但是由于每個碎片都較小以至這個row piece不能存放在一個連續的section中。
          6、Migration和Chaining


          1)如果一行的數據太大以至一個單獨的block容納不下,會產生兩種現象:
          A、Chaining:行數據太大以至一個空block容納不下,oracle會將這一行的數據存放在一個或多個block 組成的block chain中,insert、update都可能導致這個問題,在某些情況下row chaining是不能避免的。
          B、Migration:一次update操作可能導致行數據增大,以至它所在的block容納不下,oracle server會去尋找一個有足夠自由空間容納整行數據的block,如果這樣的block存在,oracle server把整行移到新的block,在原位置保存一個指向新存放位置的鏡像行,鏡像行的rowid和原來的rowid一致。
          Chaining、Migration的弊端:insert、update的性能降低,索引查詢增加了IO次數。

          2)檢測migration和chaining:
          Analyize table table_name compute statistics;
          Select num_rows,chain_cnt from dba_tables where table_name=’...’;
          查詢鏡像行:
          Analyize table table_name list chained rows;
          Select owner_name,table_name,head_rowid from chained_rows where table_name=’...’;
          產生Migration的原因可能是由于PCTFREE設置的太低以至沒有保留足夠的空間用于更新。
          可以通過增加PCTFREE的值避免行鏡像產生。

          3)消除鏡像行的步驟:
          運行analyize table ... list chained rows;
          復制鏡像行到另一個表tmp;
          從源表中刪除這些行;
          從tmp中將這些行插回到源表中。
          腳本:
          /* Get the name of the table with migrated rows */
          accept table_name prompt ’Enter the name of the table with migrated rows: ’
          /* Clean up from last execution */
          set echo off
          drop table migrated_rows;
          drop table chained_rows;
          /* Create the CHAINED_ROWS table */
          @?/rdbms/admin/utlchain
          set echo on
          spool fix_mig
          /* List the chained & migrated rows */
          analyze table &table_name list chained rows;
          /* Copy the chained/migrated rows to another table */
          create table migrated_rows as
          select orig.* from &table_name orig, chained_rows cr
          where orig.rowid = cr.head_rowid
          and cr.table_name = upper(’&table_name’);
          /* Delete the chained/migrated rows from the original table */
          delete from &table_name
          where rowid in ( select head_rowid from chained_rows );
          /* Copy the chained/migrated rows back into the original table */
          insert into &table_name select * from migrated_rows;
          spool off
          使用這個腳本時,必須將涉及到的外鍵約束去掉。
          7、索引重組
          在一個不穩定的表上建索引會影響性能,一個索引block只有完全空時才能進入free list,即使一個索引block里只含有一個條目,它也必須被維護,因此索引需要進行階段性的重建。

          1)檢查索引是否需要重組
          A、收集一個index的使用統計
          ANALYZE INDEX acct_no_idx VALIDATE STRUCTURE;
          B、查看收集的統計數據
          SELECT NAME,(DEL_LF_ROWS_LEN/LF_ROWS_LEN) * 100 AS index_usage FROM index_stats;

          Column Description
          LF_ROWS Number of values currently in the index
          LF_ROWS_LEN Sum in bytes of the length of all values
          DEL_LF_ROWS Number of values deleted from the index
          DEL_LF_ROWS_LEN Length of all deleted values

          C、如果浪費超過20%則索引需要重建
          ALTER INDEX acct_no_idx REBUILD;
          D、或者對索引進行整理
          Alter index acct_no_idx coalesce;

          2)標記未使用的索引
          A、 開始監測索引的使用
          Alter index hr.emp_name_ix monitoring usage;
          B、 停止監測索引的使用
          Alter index hr.emp_name_ix nomonitoring usage;
          C、 查詢索引的使用情況
          Select index_name,used from v$object_usage;
          刪除未使用過的索引,可以降低DML操作的成本,從而提升系統性能。

          為了盡可能經濟的利用block,應對存在較多空block、鏡像行的表進行重建,對建立不穩定表上的索引應有規律的進行重建,并盡可能創建本地管理的表空間。
          九、SQL優化
          1、優化器模式
          Oracle9i有兩種優化器模式可以選擇:
          ? Rule-based:
          – Uses a ranking system
          – Syntax- and data dictionary–driven
          ? Cost-based:
          – Chooses least-cost path
          – Statistics-driven
          Rule-based模式滿足向后兼容,而Cost-based模式中的成本大部分來自于邏輯讀的次數,推薦使用Cost-based模式。
          2、固定optimizer plan
          1)概念
          對于每一個查詢,optimizer都會準備一個定義了操作執行順序和方法的操作樹(執行計劃),oracle server根據這個執行計劃執行語句。通過固定執行計劃,可以強制應用通過一種理想的方式訪問數據,并且一個穩定的執行計劃可以經歷數據庫的變化而保持不變。固定執行計劃通過創建stored outline實現,outline使用cost-based的optimizer,因為其由一系列的hints組成。
          執行計劃的固定依賴于當判定一個查詢是否存在stored outline時查詢語句是否完全一致,與判定shared pool里一個執行計劃是否可以重用時的匹配方式是一致的。
          Outline被保存在outln schema中。

          2) 創建stored outline
          alter session set CREATE_STORED_OUTLINES = train;
          create or replace OUTLINE co_cl_join
          FOR CATEGORY train ON
          select co.crs_id, ...
          from courses co,classes cl
          where co.crs_id = cl.crs_id;

          stored outline通過category組織,相同的sql語句可以在多個category同時擁有stored outline,如果categoey沒有指定,缺省是default category。
          當CREATE_STORED_OUTLINES等于true或category名時,oracle會為所有被執行的sql語句創建stored outline,也可以通過create outline手工創建。

          3) 使用stored outline
          將USE_STORED_OUTLINES設置為true或category名。
          alter session set USE_STORED_OUTLINES = train;

          當為一個查詢尋找stored outline時,查詢語句與stored outline里的語句必須完全一致,在outline里的hints也必須在查詢語句中出現。
          3、private outline
          Private outline是當前保存的stored outline的副本,可以被編輯而不影響正在運行的系統,一個private outline只能被當前session看到,它的數據被保存在當前被解析的schema里。,知道顯示的將其公布。
          當USE_PRIVATE_OUTLINES=TRUE時,一個已有outline的sql被提交時,optimizer會檢查是否存在private outline,如果不存在,optimizer就不使用optimizer編譯語句,而不會去檢查公布的stored outline。
          4、在sql中使用hints
          Create index gen_idx on customers(cust_gender);
          Select /*+ index(customers gen_idx)*/
          Cust_last_name,cust_street_address,cust_postal_code
          From sh.customers where upper(gender)=’M’;
          5、EXPLAIN PLAN
          可以不通過tracing,需要建立plan_table表:
          Sql>@oracle_home/rdbms/admin/utlxplan;
          建立explain plan:
          Explain plan for select last_name from hr.emp;
          查詢plan_table中的explain plan,可以直接查詢,也可以通過腳本utlxplx.sql(隱藏并行查詢信息)、utlxplp.sql(顯示并行查詢信息)查詢。
          6、管理統計信息
          利用analyize命令收集或刪除信息。
          參數:
          Compute:統計精確的數據;
          Estimate:估計的統計數據。

          各類統計數據的位置:
          表:dba_tables;
          索引:dba_indexes;
          列:user_tab_col_statistics;
          柱狀圖(histogram)詳細的描述了一個特定列中數據的分布情況,可以通過analyize table ... for columns... 命令創建,保存在dba_histogram/dba_tab_histograms中。
          十、操作系統優化和使用資源管理器
          1、操作系統優化
          1)概念
          操作系統優化時應該考慮的因素有:內存的使用;Cpu的使用;IO級別;網絡流量。各個因素互相影響,正確的優化次序是內存、IO、CPU。
          操作系統使用了虛擬內存的概念,虛擬內存使每個應用感覺自己是使用內存的唯一的應用,每個應用都看到地址從0開始的單獨的一塊內存,虛擬內存被分成4K或8K的page,操作系統通過MMU(memory management unit)將這些page與物理內存映射起來,這個映射關系通過page table控制。
          Raw device是沒有文件結構或目錄結構的磁盤或磁盤分區,由于它忽略了操作系統緩存,在某些情況下可以顯著提升性能,但是在windows NT下,由于操作系統IO操作本身不使用文件系統緩存,所以raw device不能顯示性能上的優點。

          2)Guideline
          CPU的最高使用率:90%;
          OS/USER進程數之比:40/60;
          各個CPU的負載應該大致均衡。

          3)服務器安全性檢查
          A、檢查UNIX系統用戶口令
          檢查:/etc/passwd、/etc/shadow,UNIX密碼采用了shadow機制,安全性能高
          建議:參考UNIX命令passwd,修改/etc/default/passwd文件的某些設置如MAXWEEKS、MINWEEKS、PASSLENGTH使口令修改更加合理化。
          建議:定期更改UNIX系統的如下用戶口令:
          root、oraprod、applprod、appprod

          B、檢查 Remote Login
          啟動了rlogin,服務器數據庫a、數據庫b、數據庫c,終端console1、console2、console3及T3形成相互非常信任的關系,用戶只要擁有一個服務器的超級權限就可以rlogin到.rhosts指明的任一主機而無需要口令。
          建議:非常不安全,參考UNIX命令rlogin和/目錄下的文件.rhosts。在正式環境服務器和測試環境服務器之間不要建立這種遠程信任的機制。

          C、檢查FTP服務
          檢查可以FTP到服務器的用戶(/etc/ftpusers),注釋了root用戶,就是說用戶可以用root權限FTP到服務器上。權限太大。
          建議:把這種權力取消,將/etc/ftpusers中root的注釋符號(#)去掉,在列表中添加oraprod、applprod、appprod等用戶使之不能FTP服務器。必要時(如上傳PATCH時)再打開applprod的FTP權限。
          D、建議:UNIX系統管理員定期檢查/var/adm下的messages、sulog;/etc/syslog.conf 等信息。檢查是否有非法用戶登陸UNIX。
          建議:與UNIX工程師探討更好的監控方式

          4)數據庫與應用產品安全性檢查
          A、建議:修改oracle用戶根目錄下的.profile文件,修改該文件的權限為500。即使得用戶登陸時并不執行和數據庫或應用相關的環境變量,增加安全性。
          B、檢查數據庫DBA權限的用戶密碼和應用系統用戶密碼:SYSTEM、APPS密碼都已經改變,SYS密碼還是初始安裝密碼Change_on_install
          建議:立即修改SYS用戶密碼,定期更改APPS、SYSTEM、SYS密碼。
          C、定期檢查并清除$ORACLE_HOME/admin/bdump目錄下的alert_PROD.log文件和后臺進程trace文件。定期清除$ORACLE_HOME/admin/udump目錄下的trc文件。
          D、建議:給應用產品登陸的用戶設置口令過期限制,如口令訪問次數限制或時間(天數)限制。
          建議:不要給使用應用產品的用戶共享用戶名和口令,每個用戶分配一個應用產品用戶名。
          建議:對有應用系統管理員權限的用戶登記,不適合有系統管理員權限的用戶要把權限回收,統一管理。
          E、定期檢查并清除與Apache Server有關的log文件,目錄為:
          /u01/prodora/iAS/Apache/Apache/logs/acccess_log、error_log
          /u01/prodora/iAS/Apache/Jserv/logs/jserv.log、mod_jserv.log
          F、定期檢查清除listener、tnsname的log文件,文件存放在:
          /u01/prodora/8.0.6/network/admin/apps_prod.log、
          /u01/proddb/8.1.7/network/admin/prod.log
          /u01/proddb/8.1.7/network/log/listener.log、sqlnet.log…
          G、數據庫控制文件做多個鏡像,放在多個磁盤位置,提高安全性。

          5)網絡安全性檢查
          檢查$ORACLE_HOME/dbs/initPROD.ora文件
          #remote_login_passwordfile=EXCLUSIVE
          設置為REMOTE_LOGIN_PASSWORDFILE=NONE,不允許遠程客戶用INTERNAL方式登陸。
          2、資源管理器(Resource Manager)
          通過資源管理器可以管理混合工作負載,控制系統性能。數據庫資源管理器包括:
          ? Resource plans:包括 resource plan directives, 它指定了被分配到各個 resource consumer group的資源。
          ? Resource consumer groups:定義了具有類似資源使用需求的一組用戶。
          ? Resource plan directives:包括下列內容:為consumer groups 或 subplans 指定resource plans;在各個 consumer groups 或資源計劃的subplans 分配資源。

          posted on 2008-06-18 14:48 球球 閱讀(655) 評論(0)  編輯  收藏 所屬分類: Oracle

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          留言簿(1)

          文章分類(19)

          文章檔案(19)

          積分與排名

          最新隨筆

          最新評論

          主站蜘蛛池模板: 博湖县| 绍兴市| 莎车县| 开化县| 崇信县| 沧州市| 临澧县| 连山| 蒙山县| 英吉沙县| 雅安市| 榆社县| 旌德县| 宁乡县| 盐边县| 吉木萨尔县| 泗水县| 新沂市| 漠河县| 泸溪县| 弋阳县| 永嘉县| 朝阳区| 习水县| 利辛县| 大丰市| 昌都县| 济宁市| 阿巴嘎旗| 江城| 娄底市| 博乐市| 崇仁县| 安顺市| 丰顺县| 秦安县| 库伦旗| 鄂尔多斯市| 罗田县| 深圳市| 西峡县|