Jslfl【软件开发技术笔记】

redhat7安装oracle12c记要

官方说明文档参考http://docs.oracle.com/database/121/LTDQI/toc.htm#CEGEGDBA
环境:redhat7 64bit + oracle12c

(如果已有oracle运行,关闭监听和数据,卸载数据库,删除自启动文件(有的话)后再安装)
以下是本地安装(非远程安装,远程安装得话,要配置x11和xhost,感觉很麻烦),且系统安装图形桌面。

安装环境准备:
1.关闭一些服务

1
2
3
4
5
6
7
8
9
# chkconfig iptables off
# chkconfig ip6tables off
# chkconfig cups off
# chkconfig firstboot off
# chkconfig wpa_supplicant off
# chkconfig postfix off

# vi /etc/selinux/config
SELINUX=enforcing  -> SELINUX=disabled

如果需要远程安安装,不需要就跳过下面这步

1
2
3
4
5
6
7
# vi /etc/ssh/sshd_config
GSSAPIAuthentication no
UseDNS no
AllowTcpForwarding yes //X11远程GUI,必须要安装xorg-x11-xauth
X11Forwarding yes

#service sshd restart

2.检查依赖环境
官方要求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# rpm -q binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat zlib zlib-devel

binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686  (有依赖问题,可以这样安rpm -ivh glibc-2.17-55.el7.i686.rpm nss-softokn-freebl-3.15.4-2.el7.i686.rpm)
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
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
sysstat-10.1.5-1.el7.x86_64
zlib-1.2.7-13.el7.x86_64.rpm
zlib-devel-1.2.7-13.el7.x86_64.rpm

3.添加oracle用户

1
2
3
4
5
6
7
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle

# id oracle
uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)

4.建安装目录

1
2
3
4
# mkdir -p /u01/app/oracle/product/12.1.0/db_1
# mkdir -p /u01/app/oraInventory
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01

5.编辑Oracle用户环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# su - oracle
$ vi .bash_profile

#Oracle Settings  
export TMP=/tmp  
export TMPDIR=$TMP  
export ORACLE_BASE=/u01/app/oracle  
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1  
export ORACLE_SID=ZHBG(修改为你的SID,在下一步安装时使用)  
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH  
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib  
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

$ source .bash_profile

6.配置内核参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152 //# /sbin/sysctl -a | grep shm 总内存40%(K)
kernel.shmmax = 536870912 //官方文档建议是内存的1/2(Byte)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128 //# /sbin/sysctl -a | grep sem
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

确定安装oracle所使用的用户组
# id oracle 可以看到oracle组dba id 为1002

more /proc/sys/vm/hugetlb_shm_group
如果结果不是1002
修改内核参数 echo 1002 >/proc/sys/vm/hugetlb_shm_group
修改/etc/sysctl.conf文件
vm.hugetlb_shm_group = 1002

# /sbin/sysctl -p

7.修改系统限制

1
2
3
4
5
6
7
8
9
10
11
# vi /etc/security/limits.conf 加入以下语句(oracle是用户名):
oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    nofile  1024
oracle  hard    nofile  65536
oracle  soft    stack   10240
oracle  hard    stack   10240

# vi /etc/pam.d/login
session required    /lib64/security/pam_limits.so
session required    pam_limits.so

8.配置Hosts文件

1
2
# vi /etc/hosts
192.168.1.100    localhost     localhost.localdomain

如果没有oracle 的监听器无法启动
使用hostname命令查看主机名,ifconfig命令查看IP地址

9.解压安装文件

1
2
3
4
5
6
7
8
9
10
$ su - root
# cd /home/jslfl/install
# cp linuxamd64_12c_database_1of2.zip /opt
# cp linuxamd64_12c_database_2of2.zip /opt
# cd /opt
# ls
linuxamd64_12c_database_1of2.zip  linuxamd64_12c_database_2of2.zip
# unzip linuxamd64_12c_database_1of2.zip
# unzip linuxamd64_12c_database_2of2.zip
# chown -R oracle:oinstall database

10.安装过程
重启用oracle用户登陆
中文系统防止中文乱码

1
2
3
$ export LANG=”en_US.UTF-8
$ cd /opt/database
$ ./runInstaller

01
02
03
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

因为12c的第一版本还不支持linux7,安装过程中会出错,建议最好不用这第一个版本。
出错信息’/u01/app/oracle/product/12.1.0/db_1/precomp/lib/lns_precomp.mk’
网上有解决办法,测试可行:
# cd /u01/app/oracle/product/12.1.0/db_1/lib/stubs
# mkdir /bak
# cp * /bak
# cd /bak
# rm -rf /u01/app/oracle/product/12.1.0/db_1/lib/stubs/*
# cp /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk.orig
# vi /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk

(vi中 “:set number” 显示行号)

176行
修改前:
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)
修改后:
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons

279-280行
修改前:
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS)
LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS)
修改后:
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,–no-as-needed
LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,–no-as-needed

3041-3042行
修改前:
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS)
修改后:
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12

修改后,点击Retry

,

Comments are currently closed.