由於當前環境已有一個數據庫實例,但這並不影響我們創建一個新的實例sun
當前系統實例
[oracle@DBA2 dbs]$ env |grep ORACLE ORACLE_SID=orcl1 ORACLE_BASE=/u/oracle ORACLE_HOME=/u/oracle/product/11.2 [oracle@DBA2 dbs]$
1、首先設置我們要創建的數據庫ORACLE_SID
export $ORACLE_SID=sun
2、為新實例創建密碼文件
orapwd file=$ORACLE_HOME/dbs/orapwsun password=oracle entries=10
3、創建初始化參數文件(pfile)
[oracle@DBA2 dbs]$ vi initsun.ora db_name=sun control_files='/oradata/sun/control01.ctl' sga_target=250M undo_management=auto undo_tablespace=undotbs
其中最主要的參數是db_name、control_files和sga_target
4、創建實例相關的目錄(數據文件,日志文件,控制文件等)
我將數據文件和日志文件和控制文件放在了一個目錄下,我這裡只用了一個控制文件。當然,最好使用兩個或三個控制文件並存放在不同路徑下,以保證數據文件的冗余。
[oracle@DBA2 ~]$ mkdir /oradata/sun [oracle@DBA2 admin]$ mkdir /u/oracle/admin/adump [oracle@DBA2 admin]$ mkdir /u/oracle/admin/bdump [oracle@DBA2 admin]$ mkdir /u/oracle/admin/pfile
5、創建spfile文件並將數據庫啟動到nomount 狀態
SQL> create spfile from pfile; File created. SQL> startup nomount ORACLE instance started. Total System Global Area 418484224 bytes Fixed Size 1336932 bytes Variable Size 281020828 bytes Database Buffers 130023424 bytes Redo Buffers 6103040 bytes SQL>
6、創建數據庫(附腳本)
CREATE DATABASE sun
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/oradata/sun/redo01a.log') SIZE 20M,
GROUP 2 ('/oradata/sun/redo02a.log') SIZE 20M,
GROUP 3 ('/oradata/sun/redo03a.log') SIZE 20M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 2
CHARACTER SET AL32UTF8
DATAFILE '/oradata/sun/system01.dbf' SIZE 400M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/oradata/sun/sysaux01.dbf' SIZE 400M REUSE
DEFAULT TABLESPACE users
DATAFILE '/oradata/sun/users01.dbf' SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts01
TEMPFILE '/oradata/sun/tempts01.dbf' SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/oradata/sun/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
/
7、執行相關數據字典試圖
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
OK,至此手動創建Oracle數據庫完成,實驗證明手動建庫比DBCA建庫要來的方便和快速,基本流程也就分以上幾個步驟