標籤:
目錄
Oracle 11g安裝準備工作
Oracle 11g:
Oracle 11g 聯機文檔:
Oracle 11g R2資料庫安裝硬體設定要求:
Linux平台
需要的軟體包支援:
建立Oracle使用者
修改核心參數
修改使用者限制
修改使用者驗證選項
修改使用者設定檔
安裝目錄配置
修改使用者bash shell
Oracle 11g安裝
安裝軟體
建立資料庫
Oracle測試
關閉資料庫:
總結
1、檢查硬體
2、下載軟體
3、修改host檔案
4、安裝軟體包檢查
5、libstdc包的連結
三.參數設定
1、設定核心參數
2、設定Shell Limits(系統資源限制),提高軟體的運行效率
3.建立使用者和組及相關目錄
4.設定安裝環境變數
儲存退出
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處
[[email protected] ~]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=test11g
GATEWAY=192.168.1.254
[[email protected] ~]$ cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost test11g
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
Linux下安裝Oracle11g伺服器