在Oracle Linux 6.5(x86_64)上安装Oracle 12c 过程记录。
1、检查硬件需求
磁盘空间:企业版需要6.4GB。
/tmp空间:1G的可用空间。
[root@oracle12c ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda9 1.5G 421M 988M 30% /
tmpfs 3.9G 1.9G 2.1G 48% /dev/shm
/dev/sda1 477M 55M 397M 13% /boot
/dev/sda8 2.0G 4.7M 1.9G 1% /opt
/dev/sda6 3.9G 18M 3.6G 1% /tmp
/dev/sda2 9.8G 2.9G 6.4G 32% /usr
/dev/sda7 3.9G 8.2M 3.7G 1% /usr/local
/dev/sda3 9.8G 2.6G 6.7G 28% /var
/dev/sdb1 59G 9.8G 47G 18% /u01
之前创建了/u01目录并挂载/sdb1。
[root@oracle12c ~]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 3.9G 18M 3.6G 1% /tmp
内存:最少1GB,建议2GB以上。
[root@oracle12c ~]# grep MemTotal /proc/meminfo
MemTotal: 8177432 kB
SWAP:内存在1GB到2GB之间时,SWAP建议为内存的1.5倍;
内存在2GB到16GB之间时,swap建议与内存大小相等;
内存大于16GB时,SWAP建议设置为16G。
[root@oracle12c ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda5 partition 8388604 0 -1
2、检查软件需求
2.1 检查操作系统版本与内核
[root@oracle12c ~]# cat /etc/oracle-release
Oracle Linux Server release 6.5
[root@oracle12c ~]# uname -r
3.8.13-16.2.1.el6uek.x86_64
2.2 检查软件包是否已经安装
在x86_64下的Oracle Linux 6以及Red Hat Enterprise Linux6中需要安装下列软件包:
使用命令rpm -q package_name检查软件包是否安装,使用命令yum -y install package_name在线安装软件包。
The following packages (or later versions) must be installed:
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXext-1.1 (x86_64)
libXext-1.1 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.3 (x86_64)
libX11-1.3 (i686)
libXau-1.0.5 (x86_64)
libXau-1.0.5 (i686)
libxcb-1.5 (x86_64)
libxcb-1.5 (i686)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
注:libX*包为12c新增的需求,除了这几个包,需求和11g一致。
3、创建操作系统用户和组
3.1 创建组
查看组是否存在
[root@oracle12c ~]# grep oinstall /etc/group
[root@oracle12c ~]# grep dba /etc/group
创建oinstall与dba两个组
[root@oracle12c ~]# /usr/sbin/groupadd oinstall
[root@oracle12c ~]# /usr/sbin/groupadd dba
[root@oracle12c ~]# /usr/sbin/groupadd oper
查看oracle用户是否存在
[root@oracle12c ~]# id oracle
id: oracle: No such user
创建oracle用户
[root@oracle12c ~]# /usr/sbin/useradd -g oinstall -G dba,oper oracle
为oracle用户创建密码
[root@oracle12c ~]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
4、修改操作系统内核参数
vi命令打开配置文件:
vi /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
5、设置安装用户的资源限制
登录root用户,在 /etc/security/limits.conf中添加内容:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 10240
重新登录oracle用户才能生效。
6、为/u01目录分配权限
[root@oracle12c ~]# chown -R oracle:oinstall /u01
[root@oracle12c ~]# chmod -R 775 /u01
7、为oracle用户设置环境变量
使用oracle用户登录,执行
[root@oracle12c ~]# vi ~/.bash_profile
添加以下行:
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
NLS_LANG=American_America.zhs16gbk;export NLS_LANG
ORA_NLS10=$ORACLE_HOME/nls/data;export ORA_NLS10
TNS_ADMIN=$ORACLE_HOME/network/admin;export TNS_ADMIN
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
SHLIB_PATH=$LD_LIBRARY_PATH;export SHLIB_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH
执行下面的命令使环境变量生效:
[oracle@oracle12c ~]$ source ~/.bash_profile
8、安装数据库并创建实例
使用图形界面OUI安装数据库并创建实例与监听器(略)。
9、配置数据库实例与监听自动启动
安装好Oracle数据库后: 执行 dbstart和dbshut会提示:
[oracle@oracle12c ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
由于dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME:
[oracle@oracle12c ~]$ vi $ORACLE_HOME/bin/dbstart
[oracle@oracle12c ~]$ vi $ORACLE_HOME/bin/dbshut
修改后保存退出,第一个问题已解决;
然后就可以在Linux启动时自动启动Oracle监听和实例了:
第一步:修改/etc/oratab文件
[oracle@oracle12c ~]$ vi /etc/oratab
找到:orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N 修改为: orcl:/u01/app/oracle/product/12.1.0/dbhome_1:Y
第二步:把lsnrctl start和dbstart添加到rc.local文件中,命令如下:
[root@oracle12c ~]# vi /etc/rc.d/rc.local
添加:
su oracle -lc "/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart
注意:第一个命令有空格,所以要用引号的