原文:http://blog.chinaunix.net/u1/59074/showart_1095667.html
因為是第一次在裸設備上面安裝數據庫,所以有很多知識點還是沒有學到位,經過自己的多方琢磨,深入思考,問題終于解決,現總結安裝步驟如下:
第一步:創建裸設備。
按照以下步驟執行:
我的實驗機器上存在三塊硬盤,sda,sdb,sdc。其中sda只用來安裝了操作系統,以及應用軟件,另外兩塊硬盤準備用來做裸設備存儲數據。
為sdb劃分分區,這塊硬盤用來存放數據庫系統文件system,sysaux等等
[root@pora ~]# fdisk /dev/sdb
Command (m for help): p 查看分區情況
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 5 Extended
/dev/sdb5 1 13 104359+ 83 Linux control01
/dev/sdb6 14 26 104391 83 Linux control02
/dev/sdb7 27 39 104391 83 Linux control03
/dev/sdb8 40 52 104391 83 Linux redo01
/dev/sdb9 53 59 56196 83 Linux redo02
/dev/sdb10 60 182 987966 83 Linux system
/dev/sdb11 183 305 987966 83 Linux sysaux
/dev/sdb12 306 428 987966 83 Linux undotbs1
/dev/sdb13 429 652 1799248+ 83 Linux temp
根據硬盤大小分別劃分不同大小的區來作為每個文件的存儲,這里用紅色字體標識出來的內容為注釋。
具體如何利用fdisk來劃分區,這里就不詳細介紹了,可以參考相關資料。
[root@pora ~]# fdisk /dev/sdb
Command (m for help): n 創建分區
Command action
l logical (5 or over)
p primary partition (1-4)
這里選擇 l 創建邏輯分區
First cylinder (1-261, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): +1000M 創建1G的分區
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks. 保存分區表,同步到硬盤
同理使用fdisk 為sdc這塊硬盤劃分相應的分區,這塊硬盤主要用來存放業務數據。
創建完所有分區以后,我們使用如下命令來查看:
[root@pora ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1177 9454221 83 Linux
/dev/sda2 1178 1304 1020127+ 82 Linux swap
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 5 Extended
/dev/sdb5 1 13 104359+ 83 Linux
/dev/sdb6 14 26 104391 83 Linux
/dev/sdb7 27 39 104391 83 Linux
/dev/sdb8 40 52 104391 83 Linux
/dev/sdb9 53 59 56196 83 Linux
/dev/sdb10 60 182 987966 83 Linux
/dev/sdb11 183 305 987966 83 Linux
/dev/sdb12 306 428 987966 83 Linux
/dev/sdb13 429 652 1799248+ 83 Linux
Disk /dev/sdc: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 652 5237158+ 5 Extended
/dev/sdc5 1 123 987934+ 83 Linux
/dev/sdc6 124 246 987966 83 Linux
/dev/sdc7 247 369 987966 83 Linux
/dev/sdc8 370 492 987966 83 Linux
/dev/sdc9 493 620 1028128+ 83 Linux
/dev/sdc10 621 652 257008+ 83 Linux
第二步:為裸設備建立映射關系
#vi /etc/sysconfig/rawdevices 這個文件用來在啟動的時候加載裸設備
內容如下:
/dev/raw/raw1 /dev/sdb5
/dev/raw/raw2 /dev/sdb6
/dev/raw/raw3 /dev/sdb7
/dev/raw/raw4 /dev/sdb8
/dev/raw/raw5 /dev/sdb9
/dev/raw/raw6 /dev/sdb10
/dev/raw/raw7 /dev/sdb11
/dev/raw/raw8 /dev/sdb12
/dev/raw/raw9 /dev/sdc5
/dev/raw/raw10 /dev/sdc6
/dev/raw/raw11 /dev/sdc7
/dev/raw/raw12 /dev/sdc8
/dev/raw/raw13 /dev/sdc9
/dev/raw/raw14 /dev/sdc10
建立鏈接關系
ln -s /dev/raw/raw1 /oracle/oradata/orcl/control01
ln -s /dev/raw/raw2 /oracle/oradata/orcl/control02
ln -s /dev/raw/raw3 /oracle/oradata/orcl/control03
ln -s /dev/raw/raw4 /oracle/oradata/orcl/redo01
ln -s /dev/raw/raw5 /oracle/oradata/orcl/redo02
ln -s /dev/raw/raw6 /oracle/oradata/orcl/system
ln -s /dev/raw/raw7 /oracle/oradata/orcl/sysaux
ln -s /dev/raw/raw8 /oracle/oradata/orcl/undotbs1
ln -s /dev/raw/raw9 /oracle/oradata/orcl/temp
ln -s /dev/raw/raw10 /oracle/oradata/orcl/users
ln -s /dev/raw/raw11 /oracle/oradata/orcl/data
ln -s /dev/raw/raw12 /oracle/oradata/orcl/spfile
加載裸設備
#/sbin/service rawdevices restart
第三步:安裝oracle軟件
1.創建用戶,賦予權限
#groupadd dba
#useradd oracle -G dba
#passwd oracle
密碼設置為: oracle
#mkdir /oracle
#chown oracle:dba /oracle
#chmod -R 755 /oracle
2.配置環境變量
#vi /home/oracle/.bash_profile
內容如下:
ORACLE_SID=orcl
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/ora10g
PATH=$ORACLE_HOME/bin:$PATH:.
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH
以oracle用戶登錄,執行以下操作
$mkdir /oracle/ora10g
$mkdir /oracle/arch
$su -
#xhost +
找到安裝包所在目錄,執行runInstaller
$./runInstaller
按照正常步驟安裝oracle軟件,但是不需要創建數據庫。
創建oracle裸設備文件
#vi /home/oracle/dbca.conf
內容如下:
spfile = /oracle/oradata/orcl/spfile
system = /oracle/oradata/orcl/system
sysaux = /oracle/oradata/orcl/sysaux
undotbs1= /oracle/oradata/orcl/undotbs1
data = /oracle/oradata/orcl/data
temp = /oracle/oradata/orcl/temp
users = /oracle/oradata/orcl/users
redo1_1 = /oracle/oradata/orcl/redo01
redo1_2 = /oracle/oradata/orcl/redo02
control1= /oracle/oradata/orcl/control01
control2= /oracle/oradata/orcl/control02
control3= /oracle/oradata/orcl/control03
第四步:創建數據庫
$dbca
在選擇存儲設備的時候,我們選擇第三項Raw Devices,然后選中“specify Raw Devices Mapping File”復選框,點擊“Browse”按鈕,選擇上一步我們創建好的裸設備文件/home/oracle/dbca.conf,
然后點擊“next”,配置相應的參數,在配置enable archiving的時候,選擇歸檔日志的存放目錄為/oracle/arch。
后面的步驟不詳細列舉了,希望大家自己去琢磨,一直到創建數據庫完成。
第五步:測試數據庫 [oracle@pora ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 17 14:24:51 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select status from v$instance;
STATUS
------------
OPEN