共计 5209 个字符,预计需要花费 14 分钟才能阅读完成。
在 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
注意:第一个命令有空格,所以要用引号的
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-11/148767.htm