49-Oracle init.ora-PFILE-SPFILE-啟動參數轉換實操

一早出現EMCC掛了,之后發現EMCC依賴的instance 掛了,重啟startup后發現spfile無法啟動。還是和小伙伴把基礎問題搞清。spfile是動態文件、動態文件、動態文件,linux下vi看起來部分亂碼部分是可編輯的,vi即使可以編輯也需要轉換成pfile這樣的文本文件再使用,記得備份備份備份。

Oracle 數據庫啟動時依賴參數文件配置實例行為:

SPFILE(服務器參數文件)、PFILE(參數文件)和 init.ora 三者關系緊密但存在關鍵差異。

一、核心關系與區別?

?init.ora 與 PFILE?

  • init.ora? 是 Oracle 提供的參數模板文件,命名格式通常為 init.ora,用于指導用戶創建自定義的 PFILE
  • ?**PFILE?(如 init.ora)是用戶根據 init.ora 模板創建的文本格式參數文件**,需手動編輯,修改后必須重啟數據庫生效
  • 關系:init.ora 是模板,PFILE 是實際使用的配置文件。

SPFILE?(動態文件)

  • ?二進制文件?(如 spfile.ora),由 Oracle 自動維護,支持動態修改參數(無需重啟)
  • - 優先級高于 PFILE:若兩者共存,默認優先加載 SPFILE?

對比??

?特性?

PFILE(含init.ora)

SPFILEspfile.ora)

?文件類型?

文本文件(可直接編輯)

二進制文件(不可直接編輯)

?修改方式?

手動編輯文件

ALTER SYSTEM SET命令動態調整

?生效條件?

需重啟數據庫

部分參數可立即生效

?備份支持?

不支持 RMAN

支持 RMAN 備份

創建來源?

基于init.ora模板創建

從PFILE生成 (CREATE SPFILE...)

二、啟動機制與加載順序?

?1. 默認啟動流程?
數據庫實例啟動(STARTUP NOMOUNT?階段)時,按以下順序搜索參數文件
  • 1.spfile(SID).ora(如 spfileORCL.ora)
  • 2.spfile.ora(通用二進制文件)
  • 3.init.ora(如 initORCL.ora)
?:若以上均不存在,啟動失敗。記得備份這個文件,極端的情況從老的備份里扒拉一個出來,編輯關鍵信息強行開
2. 指定文件啟動?
  • ?強制使用 PFILE?:
    STARTUP PFILE='$ORACLE_HOME/dbs/initORCL.ora';
  • 強制使用 SPFILE?:需創建臨時 PFILE 指向 SPFILE,再通過該 PFILE 啟動?
-- 創建臨時 PFILE(內容:SPFILE='路徑/spfile<SID>.ora')
STARTUP PFILE='臨時文件路徑';
3. 狀態查詢?
  • ?確認當前使用的文件類型?:
SHOW PARAMETER spfile;  
-- 若返回 `spfile` 路徑 → 使用 SPFILE;若為 `VALUE=NULL` → 使用 PFILE

三、相互轉換方法?

  • ?PFILE → SPFILE?
CREATE SPFILE='$ORACLE_HOME/dbs/spfileORCL.ora' 
FROM PFILE='$ORACLE_HOME/dbs/initORCL.ora';
用途:遷移至動態參數管理
  • ?SPFILE → PFILE
CREATE PFILE='$ORACLE_HOME/dbs/initORCL_new.ora' 
FROM SPFILE='$ORACLE_HOME/dbs/spfileORCL.ora';
用途:備份或手動調整參數
  • ?從內存生成 PFILE(Oracle 11g+)
CREATE PFILE FROM MEMORY;  -- 直接基于當前內存參數生成文本文件

四、實操記錄

  • 修改了系統參數文件spfile,導致數據庫啟動不了。

報錯:

ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
--內存參數錯誤的
ORA-00845: MEMORY_TARGET not supported on this system  
--db_recovery_area參數錯誤的
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
  • 在修改參數前,應該先備份spfile文件。
[oracle@em24ai:/u01/app/oracle/product/19.3.0/db/dbs]$ 
cp spfileemcc.ora spfileemcc.ora.bak
  • 1、sqlplus / as sysdba
  • 2、使用初始化的文件啟動數據庫 啟動數據庫到 nomount 狀態,要使用一個可用的pfile
SQL> startup pfile=$ORACLE_HOME/dbs/init1.ora nomount;
  • 3、備份初始化文件,然后修改初始化文件的參數配置與系統物理硬件匹配
vi $ORACLE_HOME/dbs/init1.ora
SYS@emcc SQL> create pfile='/u01/app/oracle/product/19.3.0/db/dbs/init1.ora' from spfile;
File created.SYS@emcc SQL> startup pfile='/u01/app/oracle/product/19.3.0/db/dbs/init1.ora';                                                          ORACLE instance started.Total System Global Area 1.0737E+10 bytes
Fixed Size                 13683928 bytes
Variable Size            2382364672 bytes
Database Buffers         8321499136 bytes
Redo Buffers               19869696 bytes
Database mounted.
  • 4、創建新的 spfile
SQL> create spfile from pfile='$ORACLE_HOME/dbs/init1.ora';
  • 5、重新啟動數據庫
SQL> shutdown immediate;
SQL> startup;
  • 6、記得再生成一個可編輯的文本文件,pfile以備下次使用
SYS@emcc SQL> startup mount;
ORACLE instance started.Total System Global Area 1.0737E+10 bytes
Fixed Size                 13683928 bytes
Variable Size            2382364672 bytes
Database Buffers         8321499136 bytes
Redo Buffers               19869696 bytes
Database mounted.
SYS@emcc SQL> alter database open;Database altered.SYS@emcc SQL> create pfile='/u01/app/oracle/product/19.3.0/db/dbs/pfileemcc.ora' from spfile;File created.SYS@emcc SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@emcc SQL> startup
ORACLE instance started.Total System Global Area 1.0737E+10 bytes
Fixed Size                 13683928 bytes
Variable Size            2382364672 bytes
Database Buffers         8321499136 bytes
Redo Buffers               19869696 bytes
Database mounted.
Database opened.

五、運維實踐與注意事項?

  • ?生產環境推薦??優先使用 SPFILE:支持動態調整、RMAN 備份,避免重啟中斷服務
  • ?故障恢復場景?
  1. ?SPFILE 損壞時?:通過備份的 PFILE 啟動,或從內存生成臨時 PFILE 后再重建 SPFILE
  2. ?參數誤配置?:若因參數錯誤無法啟動,可通過臨時 PFILE 覆蓋錯誤參數,再重建 SPFILE
  • ?關鍵命令示例?
  1. ?動態修改參數?(使用 SPFILE 時):
    -- 需重啟生效ALTER SYSTEM SET sga_max_size=4G SCOPE=SPFILE;

注意:SCOPE 的默認值依賴當前參數文件類型

(SPFILE 啟動時默認為 BOTH,RAC環境記得是sid=‘*’;)?

  • init.ora → 參數模板,指導創建 PFILE。
  • PFILE? → 可編輯的文本配置,需重啟生效。
  • ?SPFILE? → 二進制動態配置,支持實時調整,生產環境首選。
  • ?啟動優先級?:spfile.ora > spfile.ora > init.ora。
  • ?靈活切換?:通過 CREATE SPFILE/PFILE 命令實現互轉,適應不同運維需求。

?建議生產環境統一使用?SPFILE,結合定期備份(RMAN 或導出為 PFILE)確保參數安全

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/87954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/87954.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/87954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

spring碎片

包的掃描過程 判斷當前是否是文件夾獲取文件夾里面的所有內容判斷文件夾是否為空,為空的話直接返回如果文件夾不為空,則遍歷文件夾里面的所有內容 遍歷得到每個file對象,繼續進行判斷,如果還是文件,則進一步進行遞歸遍歷得到的file對象不是文件夾,是文件得到包路徑類名稱-字符…

如何形成項目經驗在多個項目間的高效復用?

要實現項目經驗的跨項目高效復用&#xff0c;核心在于建立系統化總結機制、標準化知識表達、平臺化共享工具。其中&#xff0c;標準化知識表達尤為關鍵&#xff0c;它通過統一模板和分類體系&#xff0c;確保不同項目的經驗可以被快速理解、輕松匹配到新場景&#xff0c;從而提…

目標檢測之YOLOV11談談OBB

引言&#xff1a;從軸對齊到定向邊界框的范式轉變 在計算機視覺領域&#xff0c;目標檢測算法長期受限于軸對齊邊界框&#xff08;AABB&#xff09;的固有缺陷——當面對航拍圖像中的艦船、遙感影像中的建筑物或工業質檢中的傾斜零件時&#xff0c;傳統邊界框會包含大量背景噪…

Vue2之生命周期

文章目錄 Vue生命周期Vue生命周期鉤子生命周期鉤子小案例在created中獲取數據在mounted中獲取焦點 Vue生命周期 思考&#xff1a;什么時候可以發送初始化渲染請求&#xff1f;&#xff08;越早越好&#xff09;什么時候可以開始操作dom&#xff1f;&#xff08;至少dom得渲染出…

Web 架構之多租戶(SaaS)系統設計要點

文章目錄 一、多租戶系統概述定義應用場景 二、設計要點1. 數據隔離獨立數據庫共享數據庫&#xff0c;獨立 Schema共享數據庫&#xff0c;共享 Schema數據訪問控制 2. 資源分配計算資源存儲資源 3. 租戶管理租戶注冊與注銷租戶信息管理 4. 安全與合規身份驗證與授權數據加密 三…

【Clickhouse系列】索引

目錄 1. 主鍵索引 (Primary Key Index) - 核心是稀疏索引 2. 跳數索引 (Data Skipping Indexes) - 二級索引 3. 關鍵總結與最佳實踐&#xff1a; ClickHouse的索引設計哲學與其他傳統OLTP數據庫&#xff08;如MySQL&#xff09;有顯著不同&#xff0c;它更側重于高效掃描大數…

445場周賽

第一題&#xff1a;檢查元素頻次是否為質數 給你一個整數數組 nums。 如果數組中任一元素的 頻次 是 質數&#xff0c;返回 true&#xff1b;否則&#xff0c;返回 false。 元素 x 的 頻次 是它在數組中出現的次數。 質數是一個大于 1 的自然數&#xff0c;并且只有兩個因數…

【SQL語法匯總】

讀音:MySQL —— 賣舌口 MySQL 實際上是DBMS軟件系統, 并非數據庫。通過系統管理維護數據庫,DBMS相當于用戶和數據庫之間的橋梁。 MySQL是一種關系型數據庫, 類似excel,用行和列的關系組織數據數據。 操作關系型數據庫的DBMS系統大多數用SQL來管理數據。 SQL是編程語言…

C++法則10:引用本身是一個“別名”(alias),一旦綁定到一個對象后,就不能再重新綁定到其他對象。

C法則10&#xff1a;引用本身是一個“別名”&#xff08;alias&#xff09;&#xff0c;一旦綁定到一個對象后&#xff0c;就不能再重新綁定到其他對象。 在C中&#xff0c;引用&#xff08;reference&#xff09;是一個已存在對象的別名。一旦引用被初始化綁定到一個對象&…

PHP 生成當月日期

一&#xff1a;按日期順序排列的數組&#xff0c;而不是按周分組的二維數組 /*日期生成 *day: 日期數字 *date: 完整的日期字符串 (YYYY-MM-DD) *is_current_month: 是否屬于當前月份 *is_prev_month: 是否是上個月的日期 *is_next_month: 是否是下個月的日期 *is_today: 是否是…

vue3+elementPlus實現無縫滾動表格封裝

vue3+elementPlus+css+js 模擬liMarquee插件,實現無限滾動效果 功能:1、表格數據大于一定數量之后,開始向上滾動 2、當鼠標移入的時候,動畫停止,鼠標移出,繼續動畫 3、滾動動畫的速度可以自定義 4、表格的高度固定 5、向上滾動時,無限滾動,不存在卡頓 <template>…

AI賦能企業內訓:2025智能化教育培訓系統源碼開發全解析

從線下集中授課到線上碎片化學習&#xff0c;從被動灌輸到主動交互&#xff0c;越來越多企業開始關注“企業內訓系統”的智能化升級。而這一切的背后&#xff0c;離不開AI技術的深度賦能。 筆者認為&#xff0c;2025年將是企業內訓系統“從信息化走向智能化”的關鍵拐點。本篇…

旅游安全急救實訓室:構建旅游行業安全人才培養新范式

在文旅產業蓬勃發展與安全應急需求日益凸顯的背景下&#xff0c;旅游安全急救能力已成為從業者的核心素養之一。當前&#xff0c;旅游市場突發狀況頻發&#xff0c;如景區意外事故、游客突發疾病等&#xff0c;對從業人員的急救技能提出了更高要求——既要掌握基礎急救操作&…

網絡編程及原理(六):三次握手、四次揮手

目錄 一 . TCP 的核心機制&#xff1a;連接管理 二 . 三次握手&#xff1a;建立連接 &#xff08;1&#xff09; 三次握手的意義 &#xff08;1.1&#xff09;初步驗證通信鏈路是否流暢 &#xff08;1.2&#xff09;確認通信雙方各自的發送、接受能力是否正常 &…

【LLaMA 3實戰】2、LLaMA 3對話能力全解析:從架構革新到多智能體實戰指南

引言:LLaMA 3對話能力的革命性突破 當Meta發布LLaMA 3時,其對話能力的躍升重新定義了開源大模型的邊界。這款擁有128K上下文窗口的開源模型,不僅在MT-Bench評測中超越GPT-3.5,更通過分組查詢注意力(GQA)等架構創新,實現了推理速度30%的提升。 本文將從底層架構到應用實戰…

面試題-在ts中類型轉換的方法

在 TypeScript 中&#xff0c;類型轉換主要分為 類型斷言&#xff08;Type Assertion&#xff09;、類型守衛&#xff08;Type Guard&#xff09; 和 類型兼容轉換 三種方式。以下是詳細分類和示例&#xff1a; 一、類型斷言&#xff08;Type Assertion&#xff09; 強制編譯…

IIS配置SSL證書

公司的一個項目使用IIS部署的網站&#xff0c;現在需要更新SSL證書。為了下次方便&#xff0c;在此做記錄整理。 以下第一部分是查網絡AI查詢到的資料&#xff0c;解決了我心中對雙擊和從IIS導入有什么不同的疑惑。第二部分是我在這次實際操作過程中的截圖。 一.證書安裝方式 …

K8s初始化容器與邊車容器比對

Kubernetes 中的初始化容器和邊車容器 Kubernetes 作為一個開源容器編排平臺&#xff0c;引入了強大的概念來管理和增強 Pod 內容器的功能。其中兩個概念是初始化容器&#xff08;Init Containers&#xff09;和邊車容器&#xff08;Sidecar Containers&#xff09;。盡管這兩…

無線Debugger攻防全解:原理剖析與突破之道

引言?? 在Web安全防護體系中&#xff0c;反調試技術已成為對抗爬蟲和分析的關鍵武器。2023年OWASP報告顯示&#xff0c;Top 1000網站中92%部署了反調試機制&#xff0c;其中??無線Debugger技術??&#xff08;也稱為無限Debug&#xff09;因其難以破解的特性&#xff0c;…

Eslint自定義規則使用

文章目錄 前言場景設定&#xff1a;維護代碼分層&#xff0c;禁止“跨級調用”實現步驟&#xff1a;從零到一&#xff0c;創建你的第一條自定義規則**第 1 步&#xff1a;創建規則文件****第 2 步&#xff1a;在 eslint.config.mjs 中注冊并啟用你的規則** 驗證成果 前言 設計…