查詢日誌設定值檔案語法

若要設定 Essbase 立方體的查詢記錄日誌,請使用 QUERYLOG 參數設定查詢記錄日誌設定值檔案,以指定要追蹤的維度和成員,以及記錄資訊的方式。

查詢日誌設定值檔案名稱的格式必須是 dbname.cfg,其中 dbname 代表資料庫 (立方體) 的名稱。dbname.cfg 檔案必須位於立方體目錄中。使用下列語法設定 dbname.cfg 檔案:

QUERYLOG [dimension_name]
QUERYLOG NONE GENERATION generation-range
QUERYLOG NONE LEVEL level-range
QUERYLOG GENERATION generation-range
QUERYLOG LEVEL level-range
QUERYLOG LOGPATH path-expression
QUERYLOG LOGFORMAT CLUSTER | TUPLE
QUERYLOG LOGFILESIZE n
QUERYLOG TOTALLOGFILESIZE n
QUERYLOG ON | OFF

附註:

立方體目錄表示 <Application Directory>/app/appname/dbname。如果您不知道 <Application Directory> 位於您環境中的位置,

  • 如果您使用獨立的 Essbase 部署,請參考 Essbase 平台中的環境位置

  • 如果您在 Oracle Cloud Infrastructure 市集上使用 Essbase 部署,則 <Application Directory> 為 /u01/data/essbase/app

表格 4-1 QUERYLOG 參數

QUERYLOG 參數 描述
[dimension_name] 識別要追蹤的維度名稱。需有維度名稱周圍的括號。QUERYLOG [dimension_name] 會記錄維度的所有成員。例如,QUERYLOG [Product] 會追蹤 Product 維度的所有成員。必須在個別的 QUERYLOG [dimension_name] 設定中指定每個維度。
NONE GENERATION < genlevel_range_val > (請參閱表格 4-2) 防止追蹤來自指定層代範圍的成員。例如,QUERYLOG NONE GENERATION 2 不包括從具名維度的第 2 代追蹤所有成員。
無層次 < genlevel_range_val > (請參閱表格 4-2) 防止追蹤來自指定層級範圍的成員。例如,QUERYLOG NONE LEVEL 0-2 會排除追蹤具名維度層級 0、1 和 2 的所有成員。
產生 < genlevel_range_val > (請參閱表 4-2) 依層代編號 (而非成員名稱) 追蹤指定層代範圍的成員。例如,QUERYLOG GENERATION 5-7 會依其在日誌檔中的層代編號,將具名維度的層代 5、6 和 7 的成員記錄在日誌檔中。
級別 < genlevel_range_val > (請參閱表 4-2) 依層級編號 (而非成員名稱) 追蹤指定層級範圍的成員。例如,QUERYLOG LEVEL -3 會依其在日誌檔中的層次編號,記錄具名維度層次 0、1、2 及 3 的成員。
日誌路徑 path-expression 指定輸出日誌檔的位置。日誌檔名稱為 dbname00001.qlg,例如 basic00001.qlg。日誌路徑的範例包括 QUERYLOG LOGPATH /usr/local/Essbaselogs/ 和 QUERYLOG LOGPATH d:\Essbaselogs\querylogs\。您必須在路徑表示式的結尾包括反斜線 \ (Windows 目錄) 或正斜線 / (UNIX 目錄);否則,不會建立查詢日誌檔。

依預設,日誌輸出檔的位置是立方體目錄。如果缺少 LOGPATH path-expression 設定,則會使用預設值。Essbase 會在應用程式停止執行後,將日誌資訊寫入查詢日誌檔。

LOGFORMAT 叢集 | 元組 指定日誌輸出的格式。叢集和 TUPLE 提供相同的日誌資訊,但以不同的方式顯示資訊。CLUSTER 提供有關查詢多少維度成員的資訊,並列出其個別維度內查詢的成員。TUPLE 會列出每個查詢的成員組合。CLUSTER 預設為日誌格式。因為 TUPLE 格式會列出查詢的每個成員組合,所以 TUPLE 對查詢效能的影響可能比 CLUSTER 大。如需叢集格式的查詢日誌範例,請參閱範例叢集輸出。如需元組格式的查詢日誌範例,請參閱範例元組輸出
日誌檔大小 n 指定個別查詢日誌檔的大小上限 (MB)。最小值為 1 MB。最大值為 2048 MB (2 GB)。如果遺漏 LOGFILESIZE 設定,則查詢日誌檔大小預設為 1 MB。如果起始查詢日誌檔大小超過設定,日誌資訊就會新增至新的查詢日誌檔。每次建立新檔案時,檔案名稱會加 1。
TOTALLOGFILESIZE n 指定所有查詢日誌檔的大小上限 (MB)。最小值是 512 MB (1/2 GB)。最大值為 4095 MB。如果遺漏 TOTALLOGFILESIZE 設定,則依預設,查詢日誌檔大小總計為 1024 MB (1 GB)。系統會建立查詢日誌檔,直到檔案大小總計超過指定的上限為止。超過上限時,會顯示訊息並自動關閉查詢記錄日誌。
ON | OFF 指定是否開啟或關閉查詢記錄日誌功能。如果此設定為 OFF 或遺漏,則會忽略所有查詢日誌設定值。依預設,設定預設為 OFF。

Generation-rangelevel-range 值 (<genlevel_range_val>) 以下列其中一種方式表示:

表格 4-2 產生與層次範圍規格

產生範圍或層次範圍值 描述
x 特定層代或層級編號。例如,QUERYLOG NONE GENERATION 2 會從查詢記錄中排除層代 2。
x-y 包含數字 x 到數字 y 的所有層代或層級。例如,QUERYLOG GENERATION 1-3 或 QUERYLOG LEVEL 1-3 包含層代或層次編號 1、2 及 3。
-x 對於 generation-range,範圍 1 到 x 之間的所有層代。對於 level-range,範圍 0 到 x 之間的所有層次。例如,QUERYLOG GENERATION -2 包含世代 1 和世代 2。QUERYLOG LEVEL -3 包含層次 0、1、2 及 3。
x- 對於 generation-range,範圍內從數字 x 到最高層代的所有層代。對於 level-range,範圍內從數字 x 到最高層級的所有層級。例如,QUERYLOG Level 1- 包含最高層次的層次 1、2、3 等等。

備註

  • 啟用查詢記錄日誌時,對立方體的查詢可能會變慢。效能取決於正在追蹤的成員數目和查詢的大小。

  • 如果設定值檔案名稱不符合立方體的名稱,或位於立方體目錄以外的地方, Essbase 會忽略查詢記錄。

  • 如果在設定中遺漏 QUERYLOG ON 或 QUERYLOG OFF,則會關閉查詢記錄。

  • 如果層代和層級設定導致設定檔案中的衝突,則適用下列優先順序規則:

    • 產生號碼 (最高優先順序)

    • 階層號碼

    • 成員名稱 (最低優先順序)

    例如,如果成員同時屬於層級 1 和層代 2,且設定值 QUERYLOG GENERATION 2 和 QUERYLOG NONE LEVEL 1 都位於設定值檔案中,則產生設定會優先,而層代 2 的成員則會依層代編號記錄。

提示

  • 若要輕鬆檢視查詢日誌輸出,請將副檔名 .qlg 變更為 .xml,然後使用瀏覽器來檢視 XML。

  • 如果 Essbase 未如預期般產生查詢日誌 .qlg 檔案,請檢視立方體目錄中的 dbname.log 檔案以搜尋查詢日誌訊息。