通過命令列建立一個資料庫可以協助更好的瞭解資料庫的建庫流程,今天試了試手工建立Oracle11gR2資料庫,感覺和10g的手工建庫流程還是有一定的區別的,10g資料庫的手工方式建立可以參考大侯(secooler)的“http://space.itpub.net/519536/viewspace-667563”
下面是我的建庫流程:
測試環境:
OS:OEL5.6 x64
DB:Oracle database 11g R2(11.2.0.1.0)
建立資料庫名:prod
1. 配置環境變數(參考)
1)設定環境變數
[oracle@ocm ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0.1/db_1; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH
PATH=$ORACLE_HOME/bin:/usr/sbin:/sbin:$PATH; export PATH
2)生效環境變數
[oracle@ocm ~]$ source ~/.bash_profile
2.建立相關的目錄
1)dump目錄和10g相比,這裡只需要建立adump一個目錄就可以了
[oracle@ocm ~]$ mkdir -p /u01/app/oracle/admin/prod/adump
2)資料檔案及控制檔案的存放目錄
[oracle@ocm ~]$ mkdir -p /u01/app/oracle/oradata/prod
3.建立密碼檔案
[oracle@ocm ~]$ cd $ORACLE_HOME/dbs
[oracle@ocm dbs]$ orapwd file=orapwprod password=oracle entries=30
4.建立參數檔案
1)從init.ora檔案中獲得樣本參數,參考了大侯的cat方法:
[oracle@ocm ~]$ cd $ORACLE_HOME/dbs
[oracle@ocm dbs]$ cat init.ora |grep -v ^# |grep -v ^$ >initprod.ora
2)修改參數檔案中的資訊
主要修改下列參數
1:db_name
2:memory_target記憶體區大小
3:替換標籤為當前的$ORACLE_BASE中的內容
4:快速恢複區路徑設定(我在這裡不設定所以注釋掉了)
5:修改diagnostic_dest
6:修改dispatchers中的SERVICE為PRODXDB
7:添加控制檔案的檔案名稱
===============================
db_name='prod'
memory_target=600M
processes = 150
audit_file_dest='/u01/app/oracle/admin/prod/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
#db_recovery_file_dest='/flash_recovery_area'
#db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=PRODXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = (/u01/app/oracle/oradata/prod/control01.ctl,/u01/app/oracle/oradata/prod/control02.ctl)
compatible ='11.2.0'
===============================
5.使用之前建立的參數檔案啟動資料庫到nomount狀態下
[oracle@ocm ~]$ export ORACLE_SID=prod
[oracle@ocm ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jul 24 18:26:51 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SYS@prod>create spfile from pfile;
File created.
SYS@prod>startup nomount;
ORACLE instance started.
Total System Global Area 626327552 bytes
Fixed Size 2215944 bytes
Variable Size 373297144 bytes
Database Buffers 247463936 bytes
Redo Buffers 3350528 bytes
6.在10gR2中本來是需要手動修改undo_management,job_queue_processes等參數,但是show parameter後發現這些參數在11gR2版本中的值都已經符合要求,也就不需要修改了。
SYS@prod>show parameter undo_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
SYS@prod>show parameter job_queue_processes
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
job_queue_processes integer 1000
SYS@prod>show parameter _dump_
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string /u01/app/oracle/diag/rdbms/pro
d/prod/trace
core_dump_dest string /u01/app/oracle/diag/rdbms/pro
d/prod/cdump
max_dump_file_size string unlimited
user_dump_dest string /u01/app/oracle/diag/rdbms/pro
d/prod/trace