目錄html
Oracle 11g安裝準備工做linux
Oracle 11g下載地址:c++
Oracle 11g 聯機文檔:sql
Oracle 11g R2數據庫安裝硬件配置要求:shell
Linux平臺數據庫
須要的軟件包支持:bash
建立Oracle用戶session
修改內核參數oracle
修改用戶限制app
修改用戶驗證選項
修改用戶配置文件
安裝目錄配置
修改用戶bash shell
Oracle 11g安裝
安裝軟件
建立數據庫
Oracle測試
關閉數據庫:
總結
一、檢查硬件
二、下載軟件
三、修改host文件
四、安裝軟件包檢查
五、libstdc包的連接
三.參數設置
一、設置核心參數
二、設置Shell Limits(系統資源限制),提升軟件的運行效率
3.建立用戶和組及相關目錄
4.設置安裝環境變量
保存退出
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
選擇須要的oracle安裝文件下載
http://www.oracle.com/pls/db112/homepage
能夠下載其PDF文檔參考(其中的有關Linux安裝嚮導是最權威的安裝手冊)
最小內存 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
查看聯機文檔,能夠看出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
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/
$ 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用戶登陸,而後解壓縮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 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數據庫軟件及數據庫安裝完成。
接上一節,能夠使用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開源公社
內存
# grep MemTotal /proc/meminfo
交換空間
# grep SwapTotal /proc/meminfo
磁盤空間
# df -ah
Oracle Database 10g Release 2 (10.2.0.1) Software下載位置:
http://otn.oracle.com/software/products/database/oracle10g/index.html
查看/etc/hosts文件中必須包含a fully qualified name for the server
一、檢查下列包是否安裝,若未安裝則要先安裝:
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 等等
(老版本需求,新版本oracle11不要設置):
ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5
#檢測存在若是不作此連接,在安裝過程當中建好數據庫,將會出現不能連接不上數據庫問題。
在/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 #運行下列命令改變核心參數
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
--建立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
# 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