1、首先到官網上下載oracle 11g x64位軟體包
:
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
2、安裝包檢測及安裝
?
[root
@struggle
~]# rpm -q binutils compat-libstdc++-
33
elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh
其中要安裝幾個32位的包:
binutils
compat-libstdc++
compat-libstdc++(32 bit)
elfutils-libelf
elfutils-libelf-devel
gcc
gcc-c++
glibc
glibc(32 bit)
glibc-common
glibc-devel
glibc-devel(32 bit)
libaio
libaio(32 bit)
libaio-devel
libgcc
libgcc (32 bit)
libstdc++
libstdc++ (32 bit)
libstdc++-devel
make
sysstat
3、查看內在及swap,對於伺服器來說,肯定是沒有問題的(如果安裝系統時分了swap分區則可以免去這一步)
?
[root
@struggle
~]# grep MemTotal /proc/meminfo
?
[root
@struggle
~]# grep SwapTotal /proc/meminfo
(1)建立/home/swap分區檔案。檔案的大小是5120000個block,1個block為1K。
?
dd
if
=/dev/zero of=/home/swap bs=
1024
count=
5120000
(2)把這個分區變成swap分區。
?
mkswap /home/swap
(3)把它加到fstab裡面
?
echo
"/home/swap swap swap defaults 0 0"
>> /etc/fstab
4、配置核心
[root@struggle ~]# vim /etc/sysctl.conf
?
# Kernel paramaters required by Oracle 11gR1
fs.file-max =
6815744
fs.aio-max-nr =
1048576
kernel.shmall =
2097152
kernel.shmmax =
2147483648
kernel.shmmni =
4096
kernel.sem =
250
32000
100
128
net.ipv4.ip_local_port_range =
9000
65500
net.core.rmem_default =
4194304
net.core.rmem_max =
4194304
net.core.wmem_default =
262144
net.core.wmem_max =
1048576
儲存並使之生效: [root@struggle ~]# /sbin/sysctl -p
如果有如下提示錯誤,忽略!
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
注意: kernel.shmmax's 的值是實體記憶體的一半。
5、對oracle 帳號進行資源限制
[root@struggle ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6、登入認證配置pam模組
[root@struggle ~]# vim /etc/pam.d/login
?
session required pam_limits.so
?
session required /lib/security/pam_limits.so (如果是
32
位系統則要加上這一句)
7、為oracle使用者在bash和ksh中設定資源限制編輯檔案
[root@struggle ~]# vim /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
8、 建立作業系統使用者,作為軟體安裝和支援組的擁有者
?
[root
@struggle
~]# groupadd oinstall
[root
@struggle
~]# groupadd dba
[root
@struggle
~]# useradd -g oinstall -G dba oracle
[root
@struggle
~]# passwd oracle
9、建立軟體安裝目錄
?
[root
@struggle
~]# mkdir -p /usr/u01/app/
[root
@struggle
~]# chown -R oracle:oinstall /usr/u01/
[root
@struggle
~]# chmod -R
755
/usr/u01/
10、設定環境變數
[root@struggle ~]# vi /home/oracle/.bash_profile
?
# .bash_profile
# Get the aliases and functions
if
[ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/usr/u01/app; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/
11.2
.
0
/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
umask
022
11、將下載的oracle 11g 安裝包解壓到/home/oracle目錄下
?
[root
@struggle
~]# unzip linux.x64_11gR2_database_1of2.zip -d /home/oracle
[root
@struggle
~]# unzip linux.x64_11gR2_database_2of2.zip -d /home/oracle
12、進入/home/oracle/database目錄下檢查檔案是否都在
[root@struggle database]# cd /home/oracle/database
[root@struggle database]# ls -al
?
總用量
44
drwxr-xr-x.
8
root root
4096
8
月
21
2009
.
drwx------.
5
oracle oinstall
4096
12
月
5
14
:
19
..
drwxr-xr-x.
12
root root
4096
8
月
17
2009
doc
drwxr-xr-x.
4
root root
4096
8
月
15
2009
install
drwxrwxr-x.
2
root root
4096
8
月
15
2009
response
drwxr-xr-x.
2
root root
4096
8
月
15
2009
rpm
-rwxr-xr-x.
1
root root
3226
8
月
15
2009
runInstaller
drwxrwxr-x.
2
root root
4096
8
月
15
2009
sshsetup
drwxr-xr-x.
14
root root
4096
8
月
15
2009
stage
-rw-r--r--.
1
root root
5402
8
月
18
2009
welcome.html
13、關閉防火牆
[root@struggle database]# service iptables stop
14、安裝,用oracle使用者登陸
[root@struggle database]# exit
[struggle@struggle ~]$ su - oracle
[oracle@struggle ~]$ cd /home/oracle/database/
[oracle@struggle ~]$./runInstaller -jreLoc /usr/lib/jvm/java-6-sun/jre (我是用自己的JDK安裝)
第一步:填寫email資訊,以便得到支援(需要連網)
第二步:選擇建立並配置一個資料庫
第三步:選擇服務端(看自己情況)
第四步:選擇單一實例資料庫安裝
第五步:選擇自訂安裝
第六步:選擇產品語言
第七步:選擇要安裝的版本
第八步:選擇安裝路徑(配置環境變數進的路徑)
第九步:選擇資料庫執行個體名:orcl
第十步:選擇資料字元集:ZHS16GBK
一路預設安裝下去,到十七步的時候oracle檢測必須組件,選擇ignore all,這樣選擇安裝完oracle後,oracle是可以正常工作的。
機器太卡,傳圖片太慢。。。
安裝完成後進入sqlplus
SQL> sqlplus/nolog
SQL> conn /as sysdba
SQL> startup
配置開機啟動:
/usr/u01/app/product/11.2.0/dbhome_1/bin下建立一個開機啟動指令碼:
[oracle@struggle dbhome_1]$ vim /usr/u01/app/product/11.2.0/dbhome_1/bin/oracledb
?
#!/bin/bash
## /etc/init.d/oracledb
## Run-level Startup script
for
the Oracle Listener and Instances
# It relies on the information on /etc/oratab
ORACLE_BASE=/usr/u01/app
ORACLE_HOME=$ORACLE_BASE/product/
11.2
.
0
/dbhome_1
export ORACLE_OWNR=oracle
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
if
[ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo
"Oracle startup: cannot start"
exit
1
fi
case
"$1"
in
start)
# Oracle listener and instance startup
echo -n
"Starting Oracle: "
su $ORACLE_OWNR -c
"$ORACLE_HOME/bin/lsnrctl start"
su $ORACLE_OWNR -c
"$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
touch /var/lock/oracle
echo
"OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n
"Shutdown Oracle: "
su $ORACLE_OWNR -c
"$ORACLE_HOME/bin/lsnrctl stop"
su $ORACLE_OWNR -c
"$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
rm -f /var/lock/oracle
echo
"OK"
;;
reload|restart)
$
0
stop
$
0
start
;;
*)
echo
"Usage: `basename $0` start|stop|restart|reload"
exit
1
esac
exit
0
修改指令碼為可執行檔:
[root@struggle ~]# chmod a+x /usr/u01/app/product/11.2.0/dbhome_1/bin/oracledb
建立串連:
[root@struggle ~]# ln -s /usr/u01/app/product/11.2.0/dbhome_1/bin/oracledb /etc/rc.d/init.d/oracledb
授權:
[root@struggle ~]# chmod 755 /etc/rc.d/init.d/
添加服務:
[root@struggle ~]# chkconfig --add oracledb
修改oracle啟動配置
[root@struggle ~]# vim /etc/oratab
orcl:/usr/u01/app/product/11.2.0/dbhome_1:Y
把N改為Y。
測試:
service oracledb stop
service oracledb start
成功!
http://www.cnblogs.com/lz-wolf/archive/2011/12/05/2276858.html