由於當前環境已有一個數據庫實例,但這並不影響我們創建一個新的實例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建庫要來的方便和快速,基本流程也就分以上幾個步驟