Oracle參數查看方法小結,oracle參數小結

來源:互聯網
上載者:User

Oracle參數查看方法小結,oracle參數小結

Oracle提供了大量的系統參數,下面是查詢方法小結。

系統當前參數

系統當前參數涉及到這些視圖:v$parameter、v$parameter2、v$system_parameter、v$system_parameter2和v$spparameter。

v$parameter

存放session級的參數,如果沒有被"alter session"修改,預設和system級的參數值相同,下面是該視圖的關鍵字段:
 1)NUM:參數編號;
 2)NAME:參數名;
 3)TYPE:參數類型:
  1-Boolean;
  2-String;
  3-Integer;
  4-Parameter file;
  5-保留;
  6-Big integer;
 4)VALUE:當前session的參數值;
 5)DISPLAY_VALUE:方便使用的參數值;
 6)ISSES_MODIFIABLE:true表示參數能通過"alter session"被改變,false表示不能改變;
 7)ISSYS_MODIFIABLE:參數是否能被"alter system"改變,改變後:
  IMMEDIATE:參數可以通過"alter system"改變,立即生效
  DEFERRED:參數可以通過"alter system"改變,在下一個session開始生效
  false表示不能改變;
 8)ISINSTANCE_MODIFIABLE:true表示參數值在每個執行個體下可以是不同的,false表示所有執行個體必須具有相同的值。如果ISSYS_MODIFIABLE為false,則該值總是false;
 9)ISMODIFIED:表示參數是否在執行個體啟動後被修改
  MODIFIED:參數被使用"alter session"修改
  SYSTEM_MOD:參數被使用"alter system"修改
  FALSE:在執行個體啟動後沒有被修改
 10)ISDEPRECATED:true表示該參數被棄用,否則false;
 11)DESCRIPTION:參數的描述資訊;
 12)UPDATE_COMMENT:最近一次修改的注釋;
 13)HASH:參數名的雜湊值。

v$system_parameter

存放執行個體層級的參數,新的session將從這裡繼承參數值。下面是該視圖的關鍵字段:
 1)NUM:參數編號;
 2)NAME:參數名;
 3)TYPE:參數類型:
  1-Boolean;
  2-String;
  3-Integer;
  4-Parameter file;
  5-保留;
  6-Big integer;
 4)VALUE:執行個體級的參數值;
 5)DISPLAY_VALUE:方便使用的參數值;
 6)ISSES_MODIFIABLE:true表示參數能通過"alter session"被改變,false表示不能改變;
 7)ISSYS_MODIFIABLE:參數是否能被"alter system"改變,改變後:
  IMMEDIATE:參數可以通過"alter system"改變,立即生效
  DEFERRED:參數可以通過"alter system"改變,在下一個session開始生效
  false表示不能改變;
 8)ISINSTANCE_MODIFIABLE:true表示參數值在每個執行個體下可以是不同的,false表示所有執行個體必須具有相同的值。如果ISSYS_MODIFIABLE為false,則該值總是false;
 9)ISMODIFIED:表示該參數怎麼被修改。如果"alter system"被執行,這個值將是MODIFIED;
 10)ISDEPRECATED:true表示該參數被棄用,否則false;
 11)DESCRIPTION:參數的描述資訊;
 12)UPDATE_COMMENT:最近一次修改的注釋;
 13)HASH:參數名的雜湊值。

v$parameter2

和v$parameter相同,唯一的區別是如果一個參數有多個值,那麼在v$parameter2中將有多行,而在v$parameter中則只有一行,在value中使用逗號分隔多個值。
例如參數control_files,在v$parameter中為:

namevalue--------------------------------------------------------------------------------------control_filesE:\ORACLE\ORADATA\LY\CONTROL01.CTL, E:\ORACLE\ORADATA\LY\CONTROL02.CTL, E:\ORACLE\ORADATA\LY\CONTROL03.CTL

在v$parameter2中為:

namevalue--------------------------------------------------------------------------------------control_filesE:\ORACLE\ORADATA\LY\CONTROL01.CTLcontrol_filesE:\ORACLE\ORADATA\LY\CONTROL02.CTLcontrol_filesE:\ORACLE\ORADATA\LY\CONTROL03.CTL
v$system_parameter2

類似於v$parameter2。

v$spparameter

用於存放伺服器參數檔案(spfile)的參數資訊,如果伺服器參數檔案沒有被用於啟動執行個體,則視圖每行的ISSPECIFIED列的值都為false,視圖的關鍵字段如下:
 1)SID:參數的SID;
 2)NAME:參數名;
 3)VALUE:參數值(如果伺服器參數檔案沒有被用於啟動執行個體,則為null);
 4)DISPLAY_VALUE:參數值,採用方便使用的格式;
 5)ISSPECIFIED:true表示參數在伺服器參數檔案中指定,否則false;
 6)ORDINAL:參數值的位置(序號)(如果服務端設定檔沒被用於啟動執行個體,則為0)。只有當參數值為一個列表時才使用;
 7)UPDATE_COMMENT:最近一次修改的注釋(如果伺服器參數檔案沒有被用於啟動執行個體,則為null)。

隱藏參數

Oracle系統中還有一類參數稱之為隱藏參數(hidden parameters),是系統中使用,但Oracle官方沒有公布的參數,這些參數可能是那些還沒有成熟或者是系統開發中使用的參數。這些參數在所有Oracle官方提供的文檔中都沒有介紹,他們的命名有一個共同特徵就是都以'_'作為參數的首字元,和隱藏參數相關的視圖有x$ksppi、x$ksppcv和x$ksppsv。

x$ksppi

x$ksppi是v$parameter、v$parameter2、v$system_parameter和v$system_parameter2的基礎資料表,儲存參數資訊,關鍵字段如下:
 1)ADDR:記憶體位址
 2)INDX:序號
 3)INST_ID:執行個體編號
 4)KSPPINM:參數名稱
 5)KSPPITY:參數類型:
  1-Boolean;
  2-String;
  3-Integer;
  4-Parameter file;
 6)KSPPDESC:參數描述資訊
 7)KSPPIFLG:標誌,用來說明isses_modifiable或者issys_modifiable

x$ksppcv

儲存當前session的參數值,和x$ksppi用indx關聯,關鍵字段如下:
 1)ADDR:記憶體位址
 2)INDX:序號
 3)INST_ID:執行個體編號
 4)KSPPSTVL:參數的當前值
 5)KSPPSTDF:參數的預設值
 6)KSPPSTVF:標誌欄位,用來說明('Modified'、'System Modified'或is_adjusted)
 7)KSPPSTCMNT:注釋

x$ksppsv

儲存系統參數值,和x$ksppi用indx關聯,欄位和x$ksppcv基本一致。

查詢隱藏參數

查詢隱藏參數和當前session的參數值和預設值:

select ksppinm "Parameter Name", ksppstvl "Value", ksppstdf "Default"  from x$ksppi x, x$ksppcv y where x.indx = y.indx   and ksppinm like '/_%trace%' escape '/';

查看隱藏參數,並顯示當前session和執行個體的參數值:

select a.ksppinm  Parameter,       a.ksppdesc Description,       b.ksppstvl "Session Value",       c.ksppstvl "Instance Value"  from x$ksppi a, x$ksppcv b, x$ksppsv c where a.indx = b.indx   and a.indx = c.indx   and a.ksppinm like '\_%' escape '\';

將a.ksppinm指定特定的參數名,可以查看指定參數的對應的值。

廢棄的參數

Oracle中存在一些以前的版本中存在,但新版本中廢棄的參數,可以在視圖V$OBSOLETE_PARAMETER中尋找到,該視圖值包含兩個欄位,name(參數名)和ISSPECIFIED(true表示參數在參數檔案中指定,false表示沒有。一般情況下該值都應該為false)。

下面是查詢隱藏參數和ISSPECIFIED值的方法:

SELECT name, isspecified FROM v$obsolete_parameter;

 


Oracle中怎查看系統參數?如block單位

3種方法:
1。在參數檔案 pfile裡面看
2。show parameter 參數名
3。select * from v$parameter;
 
oracle 怎查看日誌?

Oracle日誌查看

一.Oracle日誌的路徑:

登入:sqlplus "/as sysdba"

查看路徑:SQL> select * from v$logfile;

SQL> select * from v$logfile;(#記錄檔路徑)

二.Oracle記錄檔包含哪些內容:(日誌的數量可能略有不同)

control01.ctl example01.dbf redo02.log sysaux01.dbf undotbs01.dbf

control02.ctl redo03.log system01.dbf users01.dbf

control03.ctl redo01.log SHTTEST.dbf temp01.dbf

三.Oracle日誌的查看方法:

SQL>select * from v$sql (#查看最近所作的操作)

SQL>select * fromv $sqlarea(#查看最近所作的操作)

Oracle 資料庫的所有更改都記錄在日誌中,從目前來看,分析Oracle日誌的唯一方法就是使用Oracle公司提供的LogMiner來進行,因為原始的日誌資訊我們根本無法看懂,Oracle8i後續版本中內建了LogMiner,而LogMiner就是讓我們看懂日誌資訊的工具,通過這個工具可以:查明資料庫的邏輯更改,偵察並更正使用者的誤操作,執行事後審計,執行變化分析。

四.LogMiner的使用:

1、建立資料字典檔案(data-dictionary)

1).首先在init.ora初始化參數檔案中,添加一個參數UTL_FILE_DIR,該參數值為伺服器中放置資料字典檔案的目錄。如:UTL_FILE_DIR = ($ORACLE_HOME\logs) ,重新啟動資料庫,使新加的參數生效:

SQL> shutdown;

SQL>startup;

2).然後建立資料字典檔案
SQL> connect /as sysdba
SQL> execute dbms_logmnr_d.build(dictionary_filename => 'dict.ora',dictionary_location => '/data1/oracle/logs');

PL/SQL procedure successfully completed

2、建立要分析的記錄檔列表
1).建立分析列表,即所要分析的日誌
SQL>execute dbms logmnr.add logfile(LogFileName => '/data1/oracle/oradata/akazamdb/redo01.log',Options => dbms_logmnr.new);
PL/SQL procedure successfully completeds
2).添加分析記錄檔,一次添加1個為宜
SQL>execute dbms_ logmnr.add_ logfile(LogFileName => '/data1/oracle/oradata/akaz......餘下全文>>
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.