格式化SHOW PARAMETER命令
以前發現透過COLUMN命令沒有辦法像格式化SQL查詢結果那樣格式化SHOW PARAMETER命令的結果。沒想到測試審計SYS操作時意外發現了這個問題的答案。
審計DBA使用者操作:http://yangtingkun.itpub.net/post/468/508790
可以看到,正常的COLUMN語句對於show parameter命令無效:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /data/oracle/product/11.2/dbs/
spfiletest112.ora
SQL> col name format a15
SQL> col value format a50
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /data/oracle/product/11.2/dbs/
spfiletest112.ora
從上一篇文章可以看到,由於SYS使用者執行了show parameter命令,從而在審計日誌中得到了sqlplus執行的命令:
Mon Nov 15 22:43:50 2010
ACTION : 'SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number', 6,'big int
eger', 'unknown') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPPER('%audit_file_dest%') OR
DER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM'
DATABASE USER: '/'
PRIVILEGE : SYSDBA
CLIENT USER: oracle
CLIENT TERMINAL: pts/1
STATUS: 0
根據show parameter的真實語句,很容易就可以用column命令來格式化show parameter的輸出結果了:
SQL> col name_col_plus_show_param format a15
SQL> col value_col_plus_show_param format a50
SQL> show parameter spfile
NAME TYPE VALUE
--------------- ----------- --------------------------------------------------
spfile string /data/oracle/product/11.2/dbs/spfiletest112.ora
這裡還有一個問題,SQL語句將NAME列命名為NAME_COL_PLUS_SHOW_PARAM,為什麼最終顯示的仍然是NAME呢,顯然在其他地方對這個結果進行了處理。
而這個地方最可能就是glogin.sql:
[oracle@yans1 ~]$ cd $ORACLE_HOME/sqlplus/admin
[oracle@yans1 admin]$ more glogin.sql
--
-- Copyright (c) 1988, 2004, Oracle Corporation. All Rights Reserved.
--
-- NAME
-- glogin.sql
--
-- DESCRIPTION
-- SQL*Plus global login "site profile" file
--
-- Add any SQL*Plus commands here that are to be executed when a
-- user starts SQL*Plus, or uses the SQL*Plus CONNECT command
--
-- USAGE
-- This script. is automatically run
--
-- Used by Trusted Oracle
COLUMN ROWLABEL FORMAT A15
-- Used for the SHOW ERRORS command
COLUMN LINE/COL FORMAT A8
COLUMN ERROR FORMAT A65 WORD_WRAPPED
-- Used for the SHOW SGA command
COLUMN name_col_plus_show_sga FORMAT a24
COLUMN units_col_plus_show_sga FORMAT a15
-- Defaults for SHOW PARAMETERS
COLUMN name_col_plus_show_param FORMAT a36 HEADING NAME
COLUMN value_col_plus_show_param FORMAT a30 HEADING VALUE
-- Defaults for SHOW RECYCLEBIN
COLUMN origname_plus_show_recyc FORMAT a16 HEADING 'ORIGINAL NAME'
COLUMN objectname_plus_show_recyc FORMAT a30 HEADING 'RECYCLEBIN NAME'
COLUMN objtype_plus_show_recyc FORMAT a12 HEADING 'OBJECT TYPE'
COLUMN droptime_plus_show_recyc FORMAT a19 HEADING 'DROP TIME'
-- Defaults for SET AUTOTRACE EXPLAIN report
-- These column definitions are only used when SQL*Plus
-- is connected to Oracle 9.2 or earlier.
COLUMN id_plus_exp FORMAT 990 HEADING i
COLUMN parent_id_plus_exp FORMAT 990 HEADING p
COLUMN plan_plus_exp FORMAT a60
COLUMN object_node_plus_exp FORMAT a8
COLUMN other_tag_plus_exp FORMAT a29
COLUMN other_plus_exp FORMAT a44
-- Default for XQUERY
COLUMN result_plus_xquery HEADING 'Result Sequence'
透過觀察這個glogin.sql檔案這個問題一目瞭然了,而show sga等命令和show parameter是同樣的道理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-678384/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 給show parameter 命令的name列設定列寬
- show sga和show parameter sga的區別
- git show 命令Git
- mysql show命令MySql
- oracle 11g show parameter顯示隱含引數hidden parameter_x$ksppiOracle
- git show命令用法Git
- MySQL中的show命令MySql
- Oracle如何更改show parameter顯示內容的列的格式Oracle
- MySQL show status 命令詳解MySql
- MySQL SHOW STATUS命令介紹MySql
- mysql show命令用法大全MySql
- mysql show processlist命令詳解MySql
- git show-branch命令詳解Git
- MySQL中show命令用法大全MySql
- MySQL Show命令的用法大全MySql
- MySQL show 命令使用大全 未完待續MySql
- oracle中監聽器show命令備記Oracle
- 【實驗】【SQL_TRACE】使用sql_trace功能獲得show parameter的sql語句SQL
- Oracle RMAN 的 show,list,crosscheck,delete命令整理OracleROSdelete
- [Linux命令]格式化mkfsLinux
- MySQL:kill和show命令hang住一列MySql
- MySQL show status命令輸出結果詳解MySql
- Oracle模擬MySQL的show index from table命令OracleMySqlIndex
- 11g SQLPLUS新增SHOW SPPARAMETER命令SQL
- MySQL show status命令常用輸出欄位詳解MySql
- Initialization Parameter Files and Server Parameter Files (287)Server
- MysqL中的Show Index From Table_Name命令說明MySqlIndex
- mysql資料庫show的常用命令說明MySql資料庫
- Oracle ParameterOracle
- Required parameter $xxx follows optional parameter $yyyUI
- JavaScript show()JavaScript
- jQuery show()jQuery
- sqlplus中常用的格式化命令SQL
- The SPFILE Initialization Parameter
- Sessions & Processes parameterSession
- Import parameter: STATISTICSImport
- Export Parameter : BufferExport
- Export Parameter : QueryExport