【DB筆試面試538】在Oracle中, 資料庫的參數分為哪幾類?

2021-01-10 騰訊網

題目部分

在Oracle中, 資料庫的參數分為哪幾類?

答案部分

Oracle資料庫根據SPFILE或PFILE中設置的參數來啟動資料庫。Oracle中的參數,根據系統使用情況可以簡單分為兩大類:

l普通參數:Oracle系統正常使用的一些參數。

l非凡參數:包括4種,過時參數、強調參數、隱含參數及推導參數。

(一)參數類型介紹

初始化參數有兩種類型。

靜態參數(Static parameters影響實例或整個資料庫,只能通過更改init.ora或SPFILE的內容來修改。靜態參數要求關閉資料庫後再重新啟動資料庫才能生效。無法對當前實例更改靜態參數。

動態參數Dynamix parameters可以在資料庫聯機時更改。有兩種類型的動態參數:

會話級別參數僅影響一個用戶會話。這類參數的示例有國家語言支持(NLS)參數,這些參數可用於指定排序、日期參數等的國家語言設置。這些參數可以在某個給定會話中使用,並且會在該會話結束時失效。

系統級別參數影響整個資料庫和所有會話。這類參數的示例有修改SGA_TARGET值和設置歸檔日誌目標位置。這些參數在指定的SCOPE內保持有效。要使這些參數設置永久有效,必須通過指定SCOPE=BOTH選項或手動編輯PFILE,將這些參數添加到SPFILE。

可以使用ALTER SESSION和ALTER SYSTEM命令更改動態參數。使用ALTER SYSTEM語句的SET子句可以設置或更改初始化參數值。可選的SCOPE子句用於指定更改的作用域,如下所示:

lSCOPE=SPFILE:此更改僅在伺服器參數文件中應用。不會對當前實例進行更改。對於動態和靜態參數,更改在下一次啟動後生效,並且永久保持有效。對於靜態參數來說,只允許指定該SCOPE值。

lSCOPE=MEMORY:此更改僅應用到內存中。會對當前實例進行更改,且更改立即生效。對於動態參數,更改立即生效,但不會永久保持,因為伺服器參數文件不會進行更新。對於靜態參數,不允許指定該值。

lSCOPE=BOTH:此更改會應用到伺服器參數文件和內存中。會對當前實例進行更改,且更改立即生效。對於動態參數,更改永久保持有效,因為伺服器參數文件會進行更新。對於靜態參數,不允許指定該值。

如果實例不是使用伺服器參數文件(SPFILE)啟動的,則指定SCOPE=SPFILE或SCOPE=BOTH是錯誤的。如果實例是使用伺服器參數文件啟動的,則默認值為SCOPE=BOTH;如果實例是使用文本初始化參數文件啟動的,則默認值為MEMORY。

Oracle的推導參數(Derived Parameters)也是初始化參數的一種。推導參數值通常來自於其它參數的運算,依賴其它參數計算得出,例如SESSIONS、DML_LOCKS等參數都屬於推導參數。該類參數在官方文檔中的「Default value」中由關鍵字Derived標識,例如,DML_LOCKS參數的默認值為:Derived: 4 * TRANSACTIONS,說明該參數為推導參數,它的值默認為參數TRANSACTIONS值的4倍。

如何判斷一個初始化參數的值是否是默認參數值?Oracle在視圖V$SYSTEM_PARAMETER或V$PARAMETER中提供了一個列ISDEFAULT,表示當前設置的值是否是資料庫的默認值。

如何判斷一個初始化參數的值是否是延遲生效?是否是動態參數?動態參數指的是可以使用ALTER SESSION或ALTER SYSTEM在資料庫運行時進行修改並能立即生效的參數。靜態參數指的是只能通過修改參數文件且資料庫必須要重啟才能生效的參數。Oracle在視圖V$PARAMETER中提供了一個列ISSYS_MODIFIABLE,若值為IMMEDIATE,代表參數可用ALTER SYSTEM更改,且立刻生效,該參數屬於動態參數;若值為DEFERRED,代表參數可以用ALTER SYSTEM更改,但是在新連接的會話中生效,該參數屬於動態參數;若值為FALSE,代表參數不能使用ALTER SYSTEM更改,但是若當前參數文件使用的是SPFILE,則可以使用ALTER SYSTEM更改,且下次實例啟動生效,該參數屬於靜態參數。

靜態參數示例如下所示:

動態參數示例如下所示:

延遲動態參數(DEFERRED)中,DEFERRED指定系統修改是否只對以後的會話生效(對當前建立的會話無效,包括執行此修改的會話)。默認情況下,ALTER SYSTEM命令會立即生效,但是有些參數不能「立即」修改,只能為新建立的會話修改這些參數。

(二)參數的設置方法

初始化參數的設置方法有很多種:

l通過「ALTER SYSTEM/SESSION SET參數名=參數值SCOPE = MEMORY;」的方式僅在內存裡修改。

l通過「ALTER SYSTEM SET參數名=參數值SCOPE = SPFILE;」的方式只修改SPFILE裡的值。

l通過「ALTER SYSTEM SET參數名=參數值DEFERRED SCOPE = SPFILE;」的方式設置延遲生效,也就是說這個修改只對以後連接到資料庫的會話生效,而對當前會話以及其它已經連接到Oracle的會話不會生效。

l通過「ALTER SYSTEM/SESSION SET參數名=參數值SCOPE = BOTH;」或省略BOTH這個關鍵詞可以同時修改SPFILE和MEMORY中的值。

ALTER SESSION和ALTER SYSTEM的區別如下表所示:

Oracle參數變更生效範圍如下表所示:

在RAC環境中,若想修改所有實例,則可以在ALTER SYSTEM的最後加上「SID='*'」或「SID='實例名'」即可,其中,「*」代表所有實例。

下面詳細來介紹各種參數。

(三)普通參數

普通參數就是Oracle系統正常使用的一些參數。查詢Oracle初始化參數的方式有如下幾種:

表3-13查詢Oracle初始化參數的方式

一般在查詢初始化參數的時候都習慣性地使用SHOW PARAMETER,也就是查詢V$PARAMETER視圖。V$PARAMETER視圖反映的是初始化參數在當前會話中生效的值,而V$SYSTEM_PARAMETER反映的才是實例級上的初始化參數。有關視圖V$PARAMETER的解釋參考下表:

表3-14V$PARAMETER視圖解釋

(四)非凡參數

下面分別講解3種非凡參數。

過時參數(ObsoleteParameters),顧名思義就是在Oracle以前的版本中存在,但在新版本中已經淘汰了的參數,已經不再使用的參數。在視圖V$OBSOLETE_PARAMETER中,包含這些參數的名稱和一個列ISSPECIFIED,該列用來指出這個參數是否在參數文件中已實際設置。下面的SQL腳本列出了當前系統中所有的過時參數名稱以及它們是否在當前系統中設定。

強調參數(Underscored Parameters),是指那些在新版本中保留了下來,但是除非非常需要否則不希望用戶使用的那些參數。強調參數可以通過系統視圖X$KSPPO來查看,該視圖中包含一個名為KSPPOFLAG的欄位。該欄位用來指明該參數在當前版本中是被丟棄還是被強調。若該值為1,則表示該參數已被丟棄,若該值為2,則表示該參數為強調參數。

可以看到HASH_JOIN_ENABLED這個參數為強調參數,在隱含參數中表現為「_HASH_JOIN_ENABLED」,而JOB_QUEUE_INTERVAL已變為了過時參數。

Oracle系統中還有一類參數稱之為隱含參數(Hidden Parameters),在系統中使用,但Oracle官方沒有公布的參數,這些參數可能是那些還沒有成熟或者是系統開發中使用的參數。這些參數在所有Oracle官方提供的文檔中都沒有介紹,它們的命名有一個共同特徵就是都以「_」作為參數的首字符。下面的查詢可以得到當前系統中的所有隱藏參數,需要以SYS用戶登陸,查看兩個視圖:X$KSPPI和X$KSPPCV。下面作者給出具體的SQL語句。

舉個例子,如果需要查詢隱含參數「_LM_DD_INTERVAL」的值,那麼執行上面的代碼後輸入「_LM_DD_INTERVAL」就可以看到該隱含參數的值了,如下所示:

可以看到該隱含參數的值為10。

對於隱含參數而言,修改隱含參數的值的時候需要將隱含參數用雙引號括起來。若要清除SPFILE中的隱含參數,可以使用RESET命令,如下所示:

普通用戶是不具備查詢隱含參數的權限的,可以通過創建視圖和同義詞的方式來解決這個問題,如下所示:

&說明:

有關Oracle參數的更多內容可以參考我的BLOG:http://blog.itpub.net/26736162/viewspace-2127338/

本文選自《Oracle程式設計師面試筆試寶典》,作者:李華榮。

優質麥課--

詳細內容可以添加麥老師微信或QQ私聊。

DBA寶典

相關焦點

  • Oracle資料庫參數優化參考
    (中國軟體網訊)分析評價Oracle資料庫性能主要有資料庫吞吐量、資料庫用戶響應時間兩項指標。資料庫用戶響應時間又可以分為系統服務時間和用戶等待時間兩項,即:資料庫用戶響應時間=系統服務時間+用戶等待時間。
  • 零基礎學Oracle之4:理解oracle的啟動與關閉
    1、 當輸入startup命令後,Oracle啟動資料庫的參數選擇順序instance4) 使用預設pfile,也就是在敲命令時STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora,直接用指定的pfile啟動instance2、 oracle資料庫的啟動Oracle資料庫的啟動可以分為四個階段
  • 2020年強基計劃高校筆試/面試真題匯總!
    綜合素質材料評定結果分為「優秀、良好、通過」三個等級。考核方式包括學業水平測試、綜合素質面試、綜合能力測試、專業志趣考察等。其中,評定為優秀的考生免筆試。課外文史知識有考到以下哪一句話來自於哪一本書,還考了很多國外的內容,比如《荷馬史詩》,還有日本的一些文學作品。語文試題:「二百五」用了什麼修辭手法?理學類:浙大強基計劃的筆試內容明顯比高考要難。有一些競賽的題。
  • Oracle 19C rac集群靜默安裝操作手冊v2.0 for centos7
    組角色權限oinstall 安裝和升級oracle軟體dbasysdba創建、刪除、修改、啟動、關閉資料庫,切換日誌歸檔模式,備份恢復資料庫opersysoper啟動、關閉、修改、備份、恢復資料庫,修改歸檔模式asmdba
  • 直擊資料庫面試題:資料庫查詢語句
    當查詢所引用的少數幾行分散在一個大型表中時,優化數據並行訪問的最佳辦法是使用粒度鎖,如行鎖。但是,如果查詢引用的是一個表中的大多數行或所有行,優化數據並行訪問的最佳辦法可以是鎖定整個表,以儘量減少鎖定開銷並儘快完成查詢。 SQL Serve 2000通過為每個查詢中的每個表選擇適當的鎖定級別,在總體上優化了數據並發訪問。
  • 傳染病分為哪幾類?
    根據我國法律規定,傳染病分為甲類、乙類和丙類。具體是怎樣的呢?小編下文為大家介紹!傳染病是由細菌、病毒、寄生蟲等特殊病原體引發的,具有傳染性的疾病。其主要特徵是:有特異的病原體;有傳染性;有流行性、季節性、地方性;有一定潛伏期;有特殊臨床表現,包括高熱、肝脾腫大、毒血症、皮疹等。傳染病分為哪幾類?傳染病分為甲類、乙類和丙類。
  • 零基礎學Oracle之2:開始使用oracle
    零基礎學Oracle之2:開始使用oracle1、 資料庫管理工具OUI:安裝使用,自帶的DBCA:圖形化創建資料庫,初學者使用SQL*PLUS:重點掌握OEM:外圍產品2、 OUI:統一安裝器而oracle則力推java,把java虛擬機內嵌到oracle中。[oracle@wl database]$ ./runInstaller 在資料庫軟體目錄下執行這個安裝,類似於windows的setup
  • 我國水質分為幾類?哪幾類水質能作為飲用水?
    慧聰淨水網  我國水質分為幾類?     按照《中華人民共和國地表水環境質量標準》,依據地表水水城環境功能和保護目標,我國的地表水水質分為:I,II,III,IV,V和劣V類。
  • 無領導面試是什麼意思_廣東省考筆試和面試間隔多久
    無領導面試是什麼意思_廣東省考筆試和面試間隔多久由廣東公務員考試網考試快訊欄目由提供,更多關於廣東省考無領導小組面試,廣東公務員考試快訊的內容,請關注廣東公務員考試頻道/廣東公務員考試網!
  • 985碩,秋招面試30家企業,怒斬阿里、字節、美團offer
    我之前也猶豫了一下要不要投提前批,畢竟提前批都是神仙打架,但誰又知道自己是不是神仙呢,哈哈,這裡建議在複習的差不多的情況下,可以提前批就投起來,這時候hc多,面試流程快,只要通過面試基本就有位置,而且很重要的是很多大廠提前批免筆試!!!字節、京東、百度、快手都是免筆試的。
  • 2006年清華大學面試、筆試試題集錦
    清華大學2006年面試、筆試試題集錦  1、第一輪面試,三個教授面試一個學生,剛進考場,老師要求用電報的形式在三十秒鐘內介紹一下自己。  2、一個人在平地上步行的速度為每小時4公裡,上山的速度為每小時6公裡,下山的速度是每小時3公裡,請問,他步行5小時走了多少公裡?
  • 結構化面試是什麼意思_廣東省公務員筆試和面試比例
    結構化面試是什麼意思_廣東省公務員筆試和面試比例由廣東公務員考試網考試快訊欄目由提供,更多關於廣東公務員無領導小組面試,廣東公務員考試快訊的內容,請關注廣東公務員考試頻道/廣東公務員考試網!   廣東省考資審公告陸續公布中,許多地市資審公告已經發布。
  • 五分鐘學編程:怎樣才能學好筆試面試最愛考察的算法
    第二次認識算法,還是在研究生期間找實習工作的時候,面試的時候總有一些關於算法知識的考察,這些算法題比之前自己學數據結構的時候要更難一些,比如要讓你描述一下快排的過程,或者是二分查找的過程,由於是電話面試居多,一般都不會考察太複雜的問題。第三次認識算法,是在面試了頭條這類對算法要求極高的公司之後。
  • 深圳市考成績已出_面試時間是哪天
    深圳市考成績已出_面試時間是哪天由深圳公務員考試網考試快訊欄目由提供,更多關於深圳市考分數線,深圳市考試院,深圳公務員考試快訊的內容,請關注深圳公務員考試網/廣東公務員考試網!   2020年深圳市考筆試成績已公布,華圖教育深圳公務員考試網為廣大考生帶來2020深圳市考筆試成績查詢入口、面試內容等資訊,供考生參考。
  • 2018廣東南雄市符合政府安置條件退役士官招聘筆試成績及面試名單...
    根據《面向2018年符合南雄市政府安置條件的退役士官公開招聘工作人員公告》第六條第一項和第二項「筆試以100分為滿分,合格分數線為60分,成績按四捨五入保留小數點後2位。筆試成績合格的考生直接進入面試。」
  • 教師編面試,小學語文課文中的常考篇目是哪些?
    面試重不重要? ·先筆試後面試,通過艱難的筆試,終於遊上了面試的岸邊,如果面試沒表現好,好吧!跳進河裡,從頭繼續遊。 ·先面試後筆試真幸福。面試一般佔的分數比重是60%。如果面試分數高,順利進入筆試。你在筆試的時候是不是可以少考幾分了?
  • 物理氣相沉積設備(PVD)冷水機分為哪幾類以及特點
    物理氣相沉積設備(PVD)冷水機分為哪幾類以及特點 ,「jib2kf」   無錫冠亞恆溫製冷技術有限公司致力於製冷加熱控溫系統、超低溫冷凍機等研發、生產和銷售,物理氣相沉積設備(PVD)冷水機,噪音低,振動小,歡迎來電選購!
  • 房屋面積分為哪幾類?購房面積誤差大怎麼辦
    房屋面積的大小決定了購買房子需要準備多少錢,如果購房者自己的經濟能力有限,買房子的時候就可以考慮選擇面積小一點的房子,不過確定房屋面積大小的時候,購房者還是應該根據自己的家庭情況來分析的,關於房屋面積,其實購房者需要了解的內容還有很多,今天小編就來講講,房屋面積分為哪幾類?
  • 【乾貨】ORACLE-AWR報告分析
    CPU:解析SQL語句,嘗試多個執行計劃,最後生成一個資料庫認為是比較好的執行計劃,但不一定是最優的。因為關聯表太多的時候,資料庫並不會窮舉所有的執行計劃,這會消耗太多的時間,oracle怎麼知道這條數據是你要的,另一個就不是你要的呢,這是需要cpu來過濾的。