首页 > 代码库 > CentOS上oracle 11g R2数据库安装折腾记
CentOS上oracle 11g R2数据库安装折腾记
1.虚拟机上centos镜像的获取。这里推荐网易镜像站中的CentOS7版本(其他开源镜像站亦可)。这里给出链接:
http://mirrors.163.com/centos/7.3.1611/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso
ps:这是64位的,现在也很少人使用32位系统了吧。安装CentOS系统(网上教程很多,这里不再赘述)
ps:最好留着10G左右的空留空间(安装包就有2G,再加上最后安装的体积,多留点,笔者安装时就不够用了,到时候虚拟机中扩空间也是十分麻烦的事情)
ps:内存最好2G及2G以上
2.oracle安装包获取。百度贴吧中的Oracle安装包大多是Windows系统版本的。我们需要的是Linux版本的,这里推荐直接从官网获取:
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
这里有两个包,但是直接单击链接的话,会提示需要登录oracle账户才能下载。因此这里笔者推荐使用下载软件(笔者使用的迅雷9)直接添加下载链接,进行下载
3.下载完成后,解压到当前文件夹。会出现一个database的文件夹。安装包的准备工作就此完成。重头戏和麻烦事来了。
在CentOS的终端中切换到root用户,我们需要更新一些包。切换命令:
su
之后输入root用户密码(r如果是初次使用root用户,这里会提示设置密码)
之后我们需要更新下面这些包(版本比下述高即可,有些已有最新版的,系统不会更新,这时候直接下一个就可以):
binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 (33表示3.3版,296表示2.96版) 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 numactl-devel-0.9.8.i386 sysstat-7.0.2 unixODBC-2.2.11 (官方文档里面没有写) unixODBC-devel-2.2.11
安装命令示例:
yum install gcc
包后无需跟版本号,其他的包类似。
4.开始安装前我们首先要配置内核参数,保证Oracle的正常运行(Oracle启动需要较多的资源)。配置如下:
修改文件/etc/sysctl.conf,这里笔者使用
gedit /etc/sysctl.conf
打开文件修改一下内容,有责略过,没有责添加
修改如下:
kernel.shmall=4294967296 kernel.shmmax=68719476736 fs.file-max=6815744 fs.aio-max-nr=1048576 kernel.shmmni=4096 kernel.sem=800 113600 800 142 net.ipv4.ip_local_port_range=1024 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048576
各参数意义如下:
(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位),通常将其设置为2G或更大。
SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,如当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。
SEMMNS参数应设置为SEMMSL*SEMMNI,如例SEMMSL为5010,SEMMNS参数应为(5010*128)=641280。 SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010
(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
sysctl -p
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
lsmod | grep bridge modprobe bridge lsmod | grep bridge
gedit /etc/security/limits.conf
oracle soft nproc 4096 oracle hard nproc 16384 oracle soft nofile 4096 oracle hard nofile 65536 oracle soft stack 10240
6.修改/etc/pam.d/login 文件,输入命令:gedit /etc/pam.d/login,将下列内容加入该文件。
session required /lib64/security/pam_limits.so session required pam_limits.so
7.编辑 /etc/profile ,输入命令:gedit /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.创建oracle用户和安装目录
ps:安装目录可以之后用oracle账户登录系统后通过图形化界面创建
创建用户和用户组,输入命令:
groupadd oinstall //创建Oracle Inventory 组 groupadd dba //创建组群DBA 组 useradd -g oinstall -G dba oracle //创建Oracle软件拥有者(-g表示辅助组,-G表示主组)(还可以在后面接-d dir,表示用户的家目录的位置,默认普通用户的家目录在/home下) passwd oracle //修改oracle用户的密码
之后设置密码(Linux中密码不会显示,也不会显示“*“,这里不要怀疑自己键盘坏了)
之后我们创健安装目录(可之后登录后用图形化界面创健)
mkdir -p /home/oracle/app #基目录 mkdir /home/oracle/app/oraInventory #该目录就像Windows下的注册表文件,每当有软件安装,就会向里面写一些注册表 mkdir /home/oracle/app/oracle #oracle数据库目录 mkdir /home/oracle/app/oracle/product #oracle实例目录
更改目录属主为Oracle用户所有(防止安装过程中发生权限不够的问题),输入命令:
chown -R oracle:oinstall /home/oracle/app chmod -R 775 /home/oracle/app/
9.配置oracle用户的环境变量,要在oracle用户下进行操作,输入:
su oracle
之后输入上一步自己设置的密码登录,输入vim /home/oracle/.bash_profile,按I键进入插入模式,在里面输入回车后,先按ESC键,再按:wq退出
之后我们再输入gedit /home/oracle/.bash_profile进入编辑,添加:
export EDITOR=vi export ORACLE_SID=orcl #实例名 export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export INVENTORY_LOCATION=/home/oracle/app/oraInventory export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib export NLS_LANG="American_america.zhs16gbk" export NLS_DATE_FORMAT=‘yyyy-mm-dd hh24:mi:ss‘ export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin umask 022 export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH export erase ^h #用于消除换车键产生的乱码
10.安装前准备
重启CentOS系统,用Oracle账户登录
将第3步中的database文件夹拷贝进入home文件夹中。
(之前没有新建文件夹的此时可以新建)
11.开始安装。
输入命令切换到database中,再输入安装命令
cd /database
./runInstaller
12.安装过程
这一步之后或者之前都可能出现一个问题(笔者出现很多次,折腾了几天),问题如下图:
这时候安装界面突然暗下来,然后正中间出现一条竖线。这时候就会卡死不动。其实这是一个窗口,但是Linux的图形界面你懂得,没有显示出来。这时候按下Enter键可能会进入下一步。如果没有,就将密码改成8位以上包括大写字母,小写字母,数字,检车下上面的安装路径是否正确。之后点next,按enter键。后面出现这个问题同样卡死的时候,可以试试按下右移键,再按回车。
安装快完成时,系统会提示你需要用root权限执行2个shell脚本。 按照其提示的路径 执 行/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh 和 /home/oracle/ oraInventory/orainstRoot.sh,安装完成会有提示信息。 执行命令:
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1 sh root.sh #当中有个敲回车的点 cd /home/oracle/app/oraInventory sh orainstRoot.sh
至此安装完成!
CentOS上oracle 11g R2数据库安装折腾记