在碰到的環境中一定有幾個相當特殊, 例如不允許開啟GUI介面或者AIX不能登進去CDE, 這時候想要建立DB, GUI介面的dbca 就沒辦法使用了
在ORACLE官方有一個完整手動建立database 的操作步驟
我們利用官方文件來示範一次手動建立DATABASE
環境說明: Oracle 11GR2 、Windows
1. 指定一個新SID
export ORACLE_SID=ORCL2
(Linux, Unix)
set ORACLE_SID=ORCL2 (Windows)
2.確保環境變數設定
$ vi .profile
export ORACLE_SID=ORCL2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/db_1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
3.選擇正確的資料庫管理員登入系統
目前資料庫管理員驗證方式有兩種
password file 認證:通常檔案存在 $ORACLE_HOME/dbs/pwd(sid).ora
系統主機認證:確保當前系統使用者有加入資料庫用戶組
可以查看 $ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora 檢視自己的登入方式
SQLNET.AUTHENTICATION_SERVICES = (EXCLUSIVE) : 使用password file 認證
SQLNET.AUTHENTICATION_SERVICES = (NTS) : 使用系統主機認證
4.建立 pfile.ora 檔案
*.audit_file_dest='E:\app\orcl\admin\orcl2\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\oracle\orcl2\control01.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='ORCL2'
*.db_recovery_file_dest='E:\app\orcl\flash_recovery_area'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest='E:\app\orcl'
*.dispatchers='(PROTOCOL=TCP)
(SERVICE=orclXDB)'
*.memory_target=400M
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1
5.建立 instance服務 (windows only)
windows 以外的系統可以跳過, 直接執行下一個步驟來登入
6.使用Sqlplus連接instance
D:\>sqlplus /nolog
SQL*Plus: Release
11.2.0.1.0 Production on 星期三 1月 21 11:42:28 2015
Copyright (c) 1982,
2010, Oracle. All rights reserved.
SQL> conn / as
sysdba
連線至閒置的執行處理.
SQL>
在連進去前先確定 ORACLE_SID 是否設定正確, 不要再連進去舊的db
7.使用pfile.ora start
nomount , 確定啟動到nomount後, 利用pfile 建立 spfile
D:\>sqlplus /nolog
SQL*Plus: Release
11.2.0.1.0 Production on 星期三 1月 21 11:42:28 2015
Copyright (c) 1982,
2010, Oracle. All rights reserved.
SQL> startup
nomount pfile=d:\pfile.ora
ORACLE 執行處理已啟動.
Total System Global
Area 417546240 bytes
Fixed
Size
2176328 bytes
Variable
Size
268438200 bytes
Database
Buffers 138412032 bytes
Redo
Buffers
8519680 bytes
SQL>
SQL> create spfile from
pfile='D:\pfile.ora';
已建立檔案.
SQL>
8.執行 create database 命令
create database ORCL2
user sys
identified by oracle
user
system identified by oracle
controlfile
reuse
logfile
group
1 ('E:\oracle\orcl2\redo1.log') size 10m,
group
2 ('E:\oracle\orcl2\redo2.log') size 10m,
group
3 ('E:\oracle\orcl2\redo3.log') size 10m
character
set AL32UTF8
national
character set AL16UTF16
datafile
'E:\oracle\orcl2\system1.dbf'
size
50M
autoextend
on
next
10M maxsize unlimited
extent
management local
sysaux datafile
'E:\oracle\orcl2\sysaux1.dbf'
size
10M
autoextend
on
next
10M
maxsize
unlimited
undo tablespace
undotbs1
datafile
'E:\oracle\orcl2\undotbs1.dbf'
size
10M
default
temporary tablespace temp
tempfile
'E:\oracle\orcl2\temp1.dbf'
size
10M;
有關create database 子命令有更詳盡的介紹請參考
9.建立其他tablespace
CREATE TABLESPACE
indx_tbs LOGGING
DATAFILE
E:\oracle\orcl2\indx01.dbf'
SIZE
100M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT
MANAGEMENT LOCAL;
10.建立 Data Dictionary
Views
一.執行 $ORACLE_HOME/RDBMS/ADMIN/catalog.sql
二.執行 $ORACLE_HOME/RDBMS/ADMIN/catproc.sql
三.執行 $ORACLE_HOME/RDBMS/ADMIN/pupbld.sql
Catalog.sql:建立Data
Dictionary,dynamic performance views,以及public synonyms
Catproc.sql:建立所有有關PL/SQL的脚本
Pupbld.sql:建立必要的SQL*Plus權限
11.安裝DB附加功能
假如應用程式需要其附屬功能可一需求執行script
相關功能說明請參考
http://docs.oracle.com/cd/B28359_01/server.111/b28320/scripts002.htm#i1005727
SQL> select name ,open_mode from v$database;
NAME OPEN_MODE
------------------ ----------------------------------------
ORCL2 READ WRITE
建立成功!
沒有留言:
張貼留言