首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Unix 環境下 Oracle 資料庫實例建立完整指南

     編輯:Oracle 資料庫基礎

前言

在 Unix 系統(特別是 HP-UX)上建立 Oracle 資料庫實例,涉及作業系統層面的儲存規劃、檔案系統建立,以及資料庫層面的腳本執行。本文將完整記錄從邏輯卷管理到實例啟動、建立資料庫、執行目錄腳本、建立表空間與使用者的完整流程,供參考實作。

一、作業系統儲存架構規劃

HP-UX 採用 LVM(Logical Volume Manager)管理磁碟空間,層級結構為:

  • Volume Group (VG):邏輯卷組,如 /dev/vg00(系統)、/dev/vgitapp(應用)、/dev/vgitdb(資料)。
  • Logical Volume (LV):邏輯卷,由 VG 切割而來。
  • File System:在 LV 上建立檔案系統(如 VxFS)。
  • Directory/File:掛載點與實際資料檔。

常用指令

# 查看 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

三、參數檔與啟動 NOMOUNT

從既有實例複製 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 設定。
  • 字元集:建議統一使用 AL32UTF8(對應 UTF8),避免遷移亂碼。

結語

Unix 下建立 Oracle 實例的關鍵在於「儲存規劃先行、目錄結構標準化、參數檔精準、腳本循序執行」。建議將上述步驟封裝為 Shell 腳本或 Ansible Playbook,實現自動化部署與版本控管。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved