Oracle除內建的DBCA可以建立資料庫以為,還有另外一種建立方法,就是手動建立資料庫,也是作為DBA人員必須要掌握的。下面就介紹一下手動建立資料庫的步驟:
手動建立資料庫通常包含如下操作步驟:
1、確定建立資料庫名稱和執行個體名稱;
2、確定資料庫管理員的認證方式;
3、建立初始化參數檔案;
4、建立執行個體;
5、串連並啟動執行個體;
6、使用create database語句建立資料庫;
7、建立附加的資料表空間;
8、運行指令碼建立資料字典視圖;
下面以建立一個名為“MYNEWDB”的資料庫為例
1、確定資料庫名稱與執行個體名稱;
DB_NAME=MYNEWDB
SID=MYNEWDB
2、確定資料庫管理員的認證方式;
管理員的認證方式包括作業系統認證和口令認證兩種,本例採用作業系統認證
3、建立初始化參數檔案;
Oracle提供的初始化參數樣本檔案位於$ORACLE_HOME/admin/sample/pfile目錄中的initsmpl.ora
我們採用修改樣本的方式,建立參數檔案名稱為:initMYNEWDB.ora,存放在D:/oracle/ora92
/database/initMYNEWDB.ora,主要內容設定如下:
#共用伺服器設定
dispatchers="(PROTOCOL=TCP)(SERVICE=MYNEWDBXDB)
#資料庫執行個體名設定
instance=MYNEWDB
#安全與審計設定
remote_login_passwordfile=EXCLUSIVE
#排序區大小設定
pga_aggregate_target=25165824
sort_area_size=524288
#全域資料庫名設定
db_domain=""
db_name=MYNEWDB
#控制檔案設定
control_files=("D:/oracle/oradata/MYNEWDB/CONTROL01.CTL",
"D:/oracle/oradata/MYNEWDB/CONTROL02.CTL",
"D:/oracle/oradata/MYNEWDB/CONTROL03.CTL")
#SGA區設定
java_pool_size =33554432
large_pool_size=8388608
shared_pool_size=50331648
#遊標與庫緩衝設定
open_cursors=300
#回退段和撤銷資料表空間設定
undo_management=AUTO
undo_retention=10800
undo_tablespace=UNDOTBS
#診斷與跟蹤資訊設定
background_dump_dest=D:/oracle/admin/MYNEWDB/bdump
core_dump_dest=D:/oracle/admin/MYNEWDB/cdump
timed_statistics=TRUE
user_dump_dest=D:/oracle/admin/MYNEWDB/udump
#使用者進程設定
processes=150
#緩衝區與資料庫大小設定
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
4、建立執行個體
選擇“程式-->運行”,輸入“cmd”命令,開啟DOS介面
(1)將環境變數ORACLE_SID設定為“MYNEWDB”
C:/SET ORACLE_SID=MYNEWDB
(2)利用ORADIM命令建立MYNEWDB資料庫
C:/ORADMIN -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:/oracle/ora92
/database
注意:ORADMIN是Oracle提供的一個對執行個體進行管理的工具,可以建立、修改、刪除、啟動和關閉一個
執行個體,執行C:/ORADMIN HELP命令可以查看該命令的使用方式
5、串連並啟動執行個體
C:/sqlplus /nolog
SQL>connect sys/mynewdb as sysdba;
SQL>startup nomount;
6、使用create database 語句建立資料庫
SQL>CREATE DATABASE MYNEWDB
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE 'D:/oracle/oradata/mynewdb/system.dbf' size 50M
UNDO TABLESPACE undotbs DATAFILE 'D:/oracle/oradata/mynewdb/undotbs.dbf' size 50M
AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('D:/oracle/oradata/mynewdb/redo01.log') size 100M,
GROUP 2 ('D:/oracle/oradata/mynewdb/redo02.log') size 100M,
GROUP 3 ('D:/oracle/oradata/mynewdb/redo03.log') size 100M;
在執行create database 語句的同時,自動執行$ORACLE_HOME/rdbms/admin/sql.bsq指令碼,建立SYSTEM
資料表空間和SYSTEM回退段、建立SYS和SYSTEM帳號、建立資料字典基礎資料表、建立資料字典索引、建立預定義角色等。