过完年后一直使用的Oracle数据库服务器罢工了,之前一直做应用层面的开发,数据库一般都是交给DBA,这次决定亲自操刀,安装一次Oracle数据库。用时一天,还算比较顺利,过程记录如下。
1、下载
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
这个是oracle官方的下载链接,需要Oracle账号,这里选择(12.1.0.2.0) - Standard Edition (SE2) Linux x86-64版本,需要下载两个文件。
2、系统配置
我用的CentOS7桌面版,需要安装一些依赖,列表如下:
bc
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc++-33-3.2.3-71.el7 (i686)
compat-libstdc++-33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc++-4.8.2-3.el7 (i686)
libstdc++-4.8.2-3.el7 (x86_64)
libstdc++-devel-4.8.2-3.el7 (i686)
libstdc++-devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
make-3.82-19.el7 (x86_64)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC
and Oracle Clusterware)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)
gcc.x86_64
gcc-c++.x86_64
以上依赖需逐个核对,不可偷懒。如果不差钱可以买个oracle的授权,用工具统一安装。
修改操作系统参数 vim /etc/sysctl.conf
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8281688064
kernel.aio-max-nr=1048576
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
使用下面的命令更新配置
sysctl -p
sysctl -a
修改文件句柄数配置
vim /etc/security/limits.conf
加入如下值
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle要求swamp分区需大于18G,需设置分区大于此值否则会在安装时报错
通过 free –h 或 swapon –s 查看分区大小,如果容量不够,可先卸载该分区再新建。
删除分区
swapoff /var/swapfile
rm -rf /var/swapfile
注意这里的/var/swapfile 需换成实际的分区文件,swapon查到的值。
创建分区
dd if=/dev/zero of=/var/swapfile bs=1024 count=20480k
需要耐心等待一会
mkswap /var/swapfile
swapon /var/swapfile
执行以上命令可能会出现:“不安全的权限 0644,建议使用 0600”类似提示,不要紧张,实际上已经激活了,可以忽略提示,也可以听从系统的建议修改下权限:
chmod -R 0600 /var/swapfile
这时候可以用 free –h 或 swapon –s命令查看新swap分区是否正常添加并激活使用
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab
创建Oracle Inventory Group ,
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54330 racdba
创建oracle用户
/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
3、安装
yum -y install zip unzip
unzip linuxamd64_12102_database_se2_1of2.zip -d /stage/
unzip linuxamd64_12102_database_se2_2of2.zip -d /stage/
这里需注意解压的目录文件必须为/stage/ 换成别的目录会报文件下载不全的错误。
chown -R oracle:oinstall /stage/
mkdir -p /u01 /u02
chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02
chmod g+s /u01 /u02
cd /stage/database/
./runInstaller
如果一切正常的话就会弹出安装面板了,看看提示,基本上一路下一步就可以了,有个地方需要用root用户执行两个脚本。
4、验证。
验证步骤可以参考下面连接中的 Step 6 - Testing。
重启之后发现执行sqlplus报找不到命令,补充一下 需设置系统环境变量
cat /u01/app/oraInventory/ContentsXML/inventory.xml 可以查到oracle安装目录
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
source /etc/profile后在执行sqlplus就可以了
今天在用老版本应用连接的时候报了个ORA-28040: No matching authentication protocol的错误。经查需在
$ORACLE_HOME/network/admin/sqlnet.ora中加入
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
加入后无需重启。
参考连接
https://www.howtoforge.com/tutorial/how-to-install-oracle-database-12c-on-centos-7/
http://blog.csdn.net/ausboyue/article/details/73433990