Oracle Instance 啟動時讀取參數檔(PFILE/SPFILE),理論上僅需 DB_NAME 一個參數即可建立最小可用 Instance。本文實測驗證最小參數啟動流程與預設值行為。
spfile.ora spfile.orainit.ora init.ora
$ export ORACLE_SID=julia
$ sqlplus "/ as sysdba"
SQL> STARTUP NOMOUNT;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/9.2.0/dbs/initjulia.ora'
-- 建立最小參數檔
SQL> ! echo "db_name=julia" > /opt/oracle/product/9.2.0/dbs/initjulia.ora
SQL> STARTUP NOMOUNT;
Oracle instance started.
Total System Global Area 97588504 bytes
Fixed Size 451864 bytes
Variable Size 46137344 bytes
Database Buffers 50331648 bytes
Redo Buffers 667648 bytes
SQL> SHOW PARAMETER dump_dest;
NAME TYPE VALUE
background_dump_dest string ?/rdbms/log
core_dump_dest string ?/dbs
user_dump_dest string ?/rdbms/log
SQL> SHOW PARAMETER control_files;
NAME TYPE VALUE
control_files string ?/dbs/cntrl@.dbf
? 代表 ORACLE_HOME,@ 代表 SID。
Mon May 8 11:09:04 2006
Starting Oracle instance (normal)
WARNING: EINVAL creating segment of size 0x0000000006400000
fix shm parameters in /etc/system or equivalent
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
SCN scheme 2
Using log_archive_dest parameter default value
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up Oracle RDBMS Version: 9.2.0.4.0.
System parameters with non-default values:
db_name = julia
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
RECO started with pid=7
DB_NAME 為必填,其餘皆有預設值ORACLE_HOME/dbs/cntrl.dbf ,生產環境**必須**多路徑多工LICENSE_MAX_SESSION=0 表示無限制
*.db_name='PRODDB'
*.control_files=('/u01/oradata/PRODDB/control01.ctl','/u02/oradata/PRODDB/control02.ctl')
*.db_block_size=8192
*.processes=300
*.sga_target=2G
*.pga_aggregate_target=1G
*.open_cursors=500
*.diagnostic_dest='/u01/app/oracle'
*.audit_trail='DB'
*.compatible='19.0.0'
-- 檢查 Instance 狀態
SELECT instance_name, status, database_status FROM v$instance;
-- 檢查參數來源
SELECT name, value, isdefault, isses_modifiable, issys_modifiable
FROM v$parameter
WHERE name IN ('db_name','control_files','db_block_size','processes','sga_target');