Oracle 11g安裝准備工作
目錄
2、設置Shell Limits(系統資源限制),提高軟件的運行效率
Oracle 11g下載地址:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
選擇需要的oracle安裝文件下載
Oracle 11g 聯機文檔:
http://www.oracle.com/pls/db112/homepage
可以下載其PDF文檔參考(其中的有關Linux安裝向導是最權威的安裝手冊)
Oracle 11g R2數據庫安裝硬件配置要求:
最小內存 1 GB of RAM
虛擬內存容量
| Available RAM |
Swap Space Required |
| Between 1 GB and 2 GB |
1.5 times the size of RAM |
| Between 2 GB and 16 GB |
Equal to the size of RAM |
| More than 16 GB |
16 GB |
硬盤空間要求
數據庫軟件硬盤空間需求:
| Installation Type |
Requirement for Software Files (GB) |
| Enterprise Edition |
3.95 |
| Standard Edition |
3.88 |
數據文件硬盤空間需求:
| Installation Type |
Requirement for Data Files (GB) |
| Enterprise Edition |
1.7 |
| Standard Edition |
1.5 |
檢查的命令
內存
# grep MemTotal /proc/meminfo
交換空間
# grep SwapTotal /proc/meminfo
磁盤空間
# df -ah
Linux平台
查看聯機文檔,可以看出Oracle 11g支持Linux操作系統
http://docs.oracle.com/cd/E11882_01/install.112/e24321/pre_install.htm%23CHDFFBIF
下面是 X86(32位)上Linux
其中Red Hat 4與Oracle Linux 4對應,以及與Cent OS 4對應(版本要對應)
需要的軟件包支持:
通過查看Oracle安裝文檔中列出的Package Requirements可以查看在不同平台上需要的軟件包,下面列出Asianux 3, Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0的要求,檢查
下系統是否安裝過這些包,如果沒在對應的系統光盤查找對應的rpm包並安裝。
檢查工作:依次執行:rpm -qa | grep 下面軟件包
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
創建Oracle用戶
root用戶:創建Oracle安裝組oinstall,數據庫管理員組dba,及oracle用戶
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle(主組oinstall,其它組:dba)
# passwd oracle
修改內核參數
root用戶:修改 /etc/sysctl.conf 文件,加上如下參數
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
為使上述配置生效而不重啟系統,執行如下命令
# /sbin/sysctl -p
修改用戶限制
root用戶:修改 /etc/security/limits.conf 文件,加上下面的參數
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改用戶驗證選項
root用戶下:修改/etc/pam.d/login文件加上如下參數
session required pam_limits.so
修改用戶配置文件
root用戶下:修改/etc/profile文件加入如下參數:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
安裝目錄配置
root用戶:
# mkdir -p /u01/oraInventory
# chown -R oracle:oinstall /u01/
# chmod -R 775 /u01/
修改用戶bash shell
$ vi .bash_profile
增加如下內容,主要是修改
export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=oracleSid
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
完成后執行:
#su –oracle
#env | grep ORA查看環境變量是否完成
Oracle 11g安裝
安裝軟件
使用oracle用戶登錄,然后解壓縮Oracle安裝文件:
$ unzip linux_11gR1_database.zip
然后進入解壓后的目錄,執行
$ ./runInstaller
然后進入解壓后的目錄,執行
選擇高級安裝,高級也挺簡單
默認oraInventory認為是根目錄下,oracle用戶沒有寫權限,所以warning,不用管執行下一步
修改inventory directory目錄為/u01/oralInventory,此時oracle用戶就有寫權限,下一步:
oracle會進行安裝前檢查工作,如果沒有錯誤,則直接下一步。
可能出現的錯誤是:
(1)修改的系統配置文件沒有生效,最絕的辦法,重啟系統
(2)靜態IP問題,如果你使用了靜態IP,則應該打開/etc/hosts添加靜態IP指定:如192.168.188.10 localhost.localdomain(路由域名)
(3)內存問題,如果內在設置1G左右,或稍微較少時,可忽略
一直下一步,安裝完成!但此時沒有創建數據庫 。
創建數據庫
首先配置Listener
$ netca (net configuration)
注意:此時可能報如下錯誤
是由於默認的主機名導致的,修改2處
[oracle@jc11g ~]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test11g
GATEWAY=192.168.1.254
[oracle@jc11g ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1
hostname test11g
讓oracle用戶退出重新登錄就可以正常啟動netca了 (參考:http://blog.sina.com.cn/s/blog_470504830100s2fz.html)
端口使用1521(在沒有啟用防火牆情況下,所有端口號都可以使用),直接下一步至完成,完成后查看是否啟動:
$ ps –ef | grep LISTENER
創建數據庫
$dbca (database configuration)
下一步
選擇默認,下一步
輸入數據庫名和SID(如示例中:oracleSid,一定要匹配)下一步
下一步
使用共同口令,如:oracle,下一步,直到如下圖所示:
此時需要注意字符集的選擇,對於含有中文數據的數據庫來說,可以選擇Unicode編碼(如果字符集選擇不對,后面再修改時非常麻煩)
下一步,選擇安裝一些示例數據庫,一路下一步,將會開始創建數據庫
創建完數據庫后,將會在/u01/oradata目錄下創建相應的數據,並且可以使用命令
ps –ef | grep oracle
查看已經啟動的oracle進程
到此,oracle數據庫軟件及數據庫安裝完成。
Oracle測試
接上一節,可以使用sqlplus測試是否已經成功安裝oracle,如下:
$sqlplus /nolog
SQL>conn / as sysdba
SQL>create table mytable(name varchar(10), age int);
SQL>insert into mytable values(‘user1’,12);
SQL>select * from mytable;
關閉數據庫:
查看oracle進程:
SQL> !ps –ef | grep oracle
關閉oracle
SQL>shutdown immediate
總結
下面將上面介紹的安裝過程進行總結,來源:Linux開源公社
1、檢查硬件
內存
# grep MemTotal /proc/meminfo
交換空間
# grep SwapTotal /proc/meminfo
磁盤空間
# df -ah
2、下載軟件
Oracle Database 10g Release 2 (10.2.0.1) Software下載位置:
http://otn.oracle.com/software/products/database/oracle10g/index.html
3、修改host文件
查看/etc/hosts文件中必須包含a fully qualified name for the server
4、安裝軟件包檢查
1、檢查下列包是否安裝,若未安裝則要先安裝:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11
# rpm -qa | grep make gcc glibc compat openmotif21 setarch 等等
5、libstdc包的鏈接
(老版本需求,新版本oracle11不要設置):
ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5
#檢測存在如果不做此鏈接,在安裝過程中建好數據庫,將會出現不能鏈接不上數據庫問題。
三.參數設置
1、設置核心參數
在/etc/sysctl.conf文件中加入下列行:
#kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 2147483648 -- (以字節為單位,物理內存數量*1024*1024*2,為內存的2倍)
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=8388608
net.core.rmem_max=8388608
net.core.wmem_default=262144
net.core.wmem_max=262144
esc :wq!
# sysctl -p #運行下列命令改變核心參數
2、設置Shell Limits(系統資源限制),提高軟件的運行效率
a.在/etc/security/limits.conf文件中加入下列紅色行:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
b.在/etc/pam.d/login文件中加入下列行,如果里面沒有的話:
session required /lib/security/pam_limits.so
session required pam_limits.so
c.在/etc/profile后加入以下語句:
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
3.創建用戶和組及相關目錄
--創建dba/oper/oinstall組
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
/usr/sbin/groupadd oinstall
--創建oracle用戶並設置用戶所屬組
/usr/sbin/usermod -g oinstall -G dba oracle
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
--創建相關安裝目錄
mkdir -p /opt/oracle/product
mkdir -p /opt/oracle/product/OraHome
mkdir -p /opt/oraInventory #(the default inventory folder)
mkdir -p /opt/oracle/oradata #(change the right file owner)
mkdir -p /var/opt/oracle
--設置目錄所有者和權限
chown -R oracle.oinstall /opt/oracle
chown -R oracle.oinstall /opt/oracle/oradata
chown -R oracle.oinstall /opt/oracle/product/OraHome
chown -R oracle.dba /opt/oraInventory
chown oracle.dba /var/opt/oracle
chmod -R 775 /opt/oracle
chmod -R 755 /var/opt/oracle
4.設置安裝環境變量
# su - oracle --su到oracle用戶下,
更改用戶的一些配置
$vi .bash_profile
添加以下參數,主要是配置oracle軟件運環境參數
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
注:
11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data
10g:ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
9i:ORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data
保存退出
--執行以下命令讓配置馬上生效或以oracle用戶登錄使設置生效
$ source $HOME/.bash_profile












