CentOS:Oracle数据库安装
准备工作
- 安装JDK
在CentOS6下安装Oracle,首先确保已经安装JDK。
- 系统版本名称
Oracle不识别CentOS,因此改为RH
vi /etc/redhat-release
将CentOS release 6.3 (Final)这行注释掉,加上下面的
Red Hat Enterprise Linux 6
- 安装依赖项
yum install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686\
libXp
用户及目录
- 建立用户和组
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle
查看一下
id oracle
大致这样子:
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)
- 建立安装目录(OFA结构)
mkdir -p /u01/app/oracle/product/11.2.0/db_1
cd /u01/app
mkdir oraInventory
chown -R oracle:oinstall /u01/app/oracle(oraInventory)
chmod -R 775 /u01/app/oracle(oraInventory)
修改内核参数
vi /etc/sysctl.conf
改为以下值
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 8388608 kernel.shmmax = 17179869184 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 = 1048576
其中计算公式如下:
Shmall(全部共享内存)=32*1024*1024/4=8388608(页)
Shmmax(最大共享内存)=32/2*1024*1024*1024=17179869184
最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点
还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉
改好后,使之生效
sysctl -p
修改用户配置
vim /etc/security/limits.conf
增加以下内容
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
编辑/etc/pam.d/login
vi /etc/pam.d/login
将以下内容加到最后(注意64位系统为lib64)
session required /lib64/security/pam_limits.so session required pam_limits.so
修改/etc/profile
vi /etc/profile
将以下代码新增到profile档案中。在 pathmunge() {…}之后即可。
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
修改oracle用户环境变量
vi ~oracle/.bash_profile
修改以下内容
ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 ORACLE_SID=ORCL export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export PATH
安装Oracle
下载的oracle文件(已下载至附件/4-oracle)到/u01/app/oracle
xhost +
su - oracle
cd /u01/app/oracle
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
unset LANG LANGUAGE
cd /u01/app/oracle/databse
./runInstaller
后面的安装过程基本简单,按照向导即可,检测失败全部忽略掉
安装完成后,需要执行两个脚本(安装完后有提示)
/u01/app/Oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/10.2.0/db_1/root.sh
注意需要以root身份执行
以上步骤后,以下命令启动数据库
lsnrctl start
sqlplus /nolog
conn / as sysdba
startup
以上步骤启动通常会失败,大意是找不到initORCL.ora ,可以将默认的备份文件拷贝到提示目录即可。
备份文件位置:
/u01/app/oracle/admin/orcl/pfile