x$ksppi與x$ksppcv查詢隱藏參數

来源:https://www.cnblogs.com/hfjiang/archive/2019/01/10/10248600.html
-Advertisement-
Play Games

資料庫版本:oracle11g 11.0.2.0.4 SQL> desc x$ksppi; Name Null? Type ADDR RAW(8) >記憶體地址 INDX NUMBER >序號 INST_ID NUMBER >instance number KSPPINM VARCHAR2(80) > ...


資料庫版本:oracle11g 11.0.2.0.4

SQL> desc x$ksppi;
Name      Null?    Type
-------------------- -------- ----------------------------
ADDR                RAW(8)         ---->記憶體地址
INDX            NUMBER        ---->序號
INST_ID          NUMBER  ---->instance number
KSPPINM         VARCHAR2(80)   ---->參數名稱
KSPPITY          NUMBER              ---->參數類型
KSPPDESC           VARCHAR2(255)   ---->參數描述
KSPPIFLG             NUMBER             ---->標誌欄位 
KSPPILRMFLG           NUMBER
KSPPIHASH          NUMBER

SQL> desc x$ksppcv;
Name      Null?    Type
-------------------- -------- ----------------------------
ADDR          RAW(8)             ---->記憶體地址
INDX            NUMBER          ---->序號
INST_ID            NUMBER          ----->instance number
KSPPSTVL       VARCHAR2(4000)     ---->value,參數值
KSPPSTDVL          VARCHAR2(4000)    
KSPPSTDF       VARCHAR2(9)           ---->預設值
KSPPSTVF        NUMBER                  ---->標誌欄位
KSPPSTCMNT       VARCHAR2(255)       ---->comment

 

查看隱含參數及值

select 
        pi.indx+1                            numb, 
        pi.ksppinm                           name, 
        sv.ksppstvl                          value, 
        pi.ksppity                           type, 
        sv.ksppstdf                          is_default, 
        decode(bitand(pi.ksppiflg/256,1),  1,'True', 'False' )                                           is_session_modifiable, 
        decode(bitand(pi.ksppiflg/65536,3), 1,'Immediate',  2,'Deferred' ,  3,'Immediate', 'False'  )    is_system_modifiable, 
        decode(bitand(sv.ksppstvf,7),  1,'Modified',  4,'System Modified',  'False' )                    is_modified, 
        decode(bitand(sv.ksppstvf,2), 2,'True',  'False' )                                               is_adjusted, 
        pi.ksppdesc                          description 
from 
        x$ksppi        pi, 
        x$ksppsv       sv 
where 
        pi.indx = sv.indx 
;

      查詢結果如下:

      

 

       由於GV$PARAMETER也是查詢參數的,但是他們有什麼不同呢。

     SELECT view_definition FROM v$fixed_view_definition WHERE view_name = 'GV$PARAMETER'; ------>通過數據字典查看生成GV$PARAMETER視圖的SQL語句
 1 /* Formatted on 2019/1/10 上午 10:00:25 (QP5 v5.326) */
 2 SELECT x.inst_id,
 3        x.indx + 1,
 4        ksppinm,
 5        ksppity,
 6        ksppstvl,
 7        ksppstdvl,
 8        ksppstdf,
 9        DECODE (BITAND (ksppiflg / 256, 1), 1, 'TRUE', 'FALSE'),
10        DECODE (BITAND (ksppiflg / 65536, 3),
11                1, 'IMMEDIATE',
12                2, 'DEFERRED',
13                3, 'IMMEDIATE',
14                'FALSE'),
15        DECODE (BITAND (ksppiflg, 4),
16                4, 'FALSE',
17                DECODE (BITAND (ksppiflg / 65536, 3), 0, 'FALSE', 'TRUE')),
18        DECODE (BITAND (ksppstvf, 7),
19                1, 'MODIFIED',
20                4, 'SYSTEM_MOD',
21                'FALSE'),
22        DECODE (BITAND (ksppstvf, 2), 2, 'TRUE', 'FALSE'),
23        DECODE (BITAND (ksppilrmflg / 64, 1), 1, 'TRUE', 'FALSE'),
24        DECODE (BITAND (ksppilrmflg / 268435456, 1), 1, 'TRUE', 'FALSE'),
25        ksppdesc,
26        ksppstcmnt,
27        ksppihash
28   FROM x$ksppi x, x$ksppcv y
29  WHERE     (x.indx = y.indx)
30        AND BITAND (ksppiflg, 268435456) = 0                        
31        AND (    (TRANSLATE (ksppinm, '_', '#') NOT LIKE '##%')         ---->篩選,將以下劃線'__'開頭的替換成'##'開頭,然後排除
32             AND (   (TRANSLATE (ksppinm, '_', '#') NOT LIKE '#%')      ---->篩選,將以下劃線'_'開頭的替換成'#'開頭,然後排除(有點困惑,為什麼不直接not like '_%' 排除)
33                  OR (ksppstdf = 'FALSE')
34                  OR (BITAND (ksppstvf, 5) > 0)))                    

    

 

decode函數比較1個參數時

SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM table

如果第一個參數inParam=='beComparedParam',則select得到的name顯示為值1,

如果第一個參數inParam!='beComparedParam',則select得到的name顯示為值2

decode函數比較多個參數時

SELECT ID,DECODE(inParam,'para1','值1' ,'para2','值2','para3','值3','para4','值4','para5','值5','default') name FROM table

如果第一個參數inParam=='para1'那麼那麼select得到的那麼顯示為值1;

如果第一個參數inParam=='para2'那麼那麼select得到的那麼顯示為值2;

如果第一個參數inParam=='para3'那麼那麼select得到的那麼顯示為值3;

如果第一個參數inParam=='para4'那麼那麼select得到的那麼顯示為值4;

如果第一個參數inParam=='para5'那麼那麼select得到的那麼顯示為值5;

都不相等就為'default '

 

    BITAND( nExpression1 ,nExpression2 )  

    將   nExpression1   的每一位同   nExpression2   的相應位進行比較。如果   nExpression1   和   nExpression2   的位都是   1,相應的結果位就是   1;否則相應的結果位是   0   ------->1and1 = 1 ,  1and0 = 0   ,  0and0 = 0

 

    TRANSLATE(string,from_str,to_str) 

    返回將(所有出現的)from_str中的每個字元替換為to_str中的相應字元以後的string。TRANSLATE 是 REPLACE 所提供的功能的一個超集。如果 from_str 比 to_str 長,那麼在 from_str 中而不在 to_str 中的額外字元將從 string 中被刪除,

    因為它們沒有相應的替換字元。to_str 不能為空。Oracle 將空字元串解釋為 NULL,並且如果TRANSLATE 中的任何參數為NULL,那麼結果也是 NULL。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 輸入命令: :~$ pip install mysqlclient 報錯: Collecting mysqlclient Using cached https://files.pythonhosted.org/packages/f7/a2/1230ebbb4b91f42ad6b646e59eb885 ...
  • 一張表有兩個相同的商品排序信息,不同的是 type值和sort不同,如果有type等於1那就連接type等於一的那條商品信息進行排序,如果沒有等於0的那就連排序等於0的進行排序 ...
  • 狂神聲明 : 文章均為自己的學習筆記 , 轉載一定註明出處 ; 編輯不易 , 防君子不防小人~共勉 ! mysql學習【第2篇】:MySQL數據管理 外鍵管理 外鍵概念 如果公共關鍵字在一個關係中是主關鍵字,那麼這個公共關鍵字被稱為另一個關係的外鍵。由此可見,外鍵表示了兩個關係之間的相關聯繫。以另一 ...
  • http://toplchx.iteye.com/blog/2091860 使用EXPLAIN PostgreSQL為每個收到的查詢設計一個查詢規劃。選擇正確的匹配查詢結構和數據屬性的規劃對執行效率是至關重要要的,所以系統包含一個複雜的規劃器來試圖選擇好的規劃。你可以使用EXPLAIN命令查看查詢規 ...
  • 這個問題可以這樣解決:就在在Oracle中登入SDE資料庫 進入到SDE資料庫中後,找到表SERVER_CONFIG,其中有一行數據記錄的就是我們需要進行修改的數據 你需要做的就是找到一個可用的,前面為arcsdeserver的一個許可字元串,比如下麵這個:arcsdeserver,100,ecp. ...
  • 本文由雲+社區發表 1.概述 binlog是Mysql sever層維護的一種二進位日誌,與innodb引擎中的redo/undo log是完全不同的日誌;其主要是用來記錄對mysql數據更新或潛在發生更新的SQL語句,並以”事務”的形式保存在磁碟中; 作用主要有: [x] 複製:MySQL Rep ...
  • 設置MYSQL資料庫編碼為UTF-8 1、 編輯MySql的配置文件 MySql的配置文件Windows下一般在系統目錄下或者在MySql的安裝目錄下名字叫my.ini,可以搜索,Linux下一般是/etc/my.cnf --在 [mysqld] 標簽下加上以下內容: default-charact ...
  • 一般網上的方法: 但是上面的語法不會複製舊表的預設值、註釋、鍵和索引,因此想要完美的複製表結構就需要先找到舊表的sql語句,然後進行修改,在此記錄一下我在PL/SQL上進行的操作; 1. 打開PL/SQL並連接上資料庫(本地需配置tnsnames.ora文件); 2. 新建—命令視窗—ed 表名,以 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...