在 Unix 系統(特別是 HP-UX)上建立 Oracle 資料庫實例,涉及作業系統層面的儲存規劃、檔案系統建立,以及資料庫層面的腳本執行。本文將完整記錄從邏輯卷管理到實例啟動、建立資料庫、執行目錄腳本、建立表空間與使用者的完整流程,供參考實作。
HP-UX 採用 LVM(Logical Volume Manager)管理磁碟空間,層級結構為:
/dev/vg00(系統)、/dev/vgitapp(應用)、/dev/vgitdb(資料)。# 查看 VG 資訊
vgdisplay
# 建立邏輯卷(單位為 MB)
lvcreate -L 120000 -n lv_itsmdb01 /dev/vgitdb
# 建立 VxFS 檔案系統
newfs -F vxfs /dev/vgitdb/rlv_itsmdb01
# 掛載至 Oracle 資料目錄
mount -F vxfs /dev/vgitdb/lv_itsmdb01 /oracle/app/oracle/oradata
以 oracle 使用者登入,建立 admin、oradata、archive 等標準目錄:
mkdir -p /oracle/admin/itsm3/{cdump,udump,logs,bdump,pfile}
mkdir -p /oracle/oradata/itsm3/archive
從既有實例複製 inititsm3.ora 並修改關鍵參數(DB_NAME, CONTROL_FILES, DB_BLOCK_SIZE 等),放置於 $ORACLE_HOME/dbs/。
sqlplus /nolog
conn / as sysdba
startup nomount pfile=$ORACLE_HOME/dbs/inititsm3.ora
使用 CREATE DATABASE 陳述式,指定控制檔、重做日志、系統表空間、暫存表空間、UNDO 表空間、字元集等:
CREATE DATABASE itsm3
LOGFILE
GROUP 1 ('/oracle/oradata/itsm3/redo01.log') SIZE 100M,
GROUP 2 ('/oracle/oradata/itsm3/redo02.log') SIZE 100M,
GROUP 3 ('/oracle/oradata/itsm3/redo03.log') SIZE 100M
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 3
ARCHIVELOG
DATAFILE '/oracle/oradata/itsm3/system01.dbf' SIZE 250M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/oracle/oradata/itsm3/temp01.dbf' SIZE 40M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs
DATAFILE '/oracle/oradata/itsm3/undotbs01.dbf' SIZE 100M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
MAXINSTANCES 1
MAXDATAFILES 1024
CHARACTER SET UTF8
NATIONAL CHARACTER SET UTF8;
依序執行 catalog.sql、catproc.sql、catexp7.sql、catrep.sql、caths.sql、pupbld.sql,並記錄 log。
spool $ORACLE_BASE/admin/itsm3/logs/Createcatalog.log
@$ORACLE_HOME/rdbms/admin/catalog.sql
spool off
spool $ORACLE_BASE/admin/itsm3/logs/Createcatproc.log
@$ORACLE_HOME/rdbms/admin/catproc.sql
spool off
...(其餘類推)
CREATE TABLESPACE itsmtablespaces
DATAFILE '/oracle/itsm3data/itsm3/itsmtablespaces.dbf'
SIZE 50M AUTOEXTEND ON NEXT 10M MAXSIZE 10G
BLOCKSIZE 8K
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 400K
SEGMENT SPACE MANAGEMENT AUTO;
CREATE USER itsm IDENTIFIED BY itsm1234
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE tempitims;
GRANT dba TO itsm;
bdump、udump 等目錄是否已建立且屬於 oracle:dba。pfile 指向正確,環境變數 ORACLE_SID、ORACLE_HOME、ORACLE_BASE 已在 .profile 設定。Unix 下建立 Oracle 實例的關鍵在於「儲存規劃先行、目錄結構標準化、參數檔精準、腳本循序執行」。建議將上述步驟封裝為 Shell 腳本或 Ansible Playbook,實現自動化部署與版本控管。