Contos7 Oracle 安装
准备工作:安装需要文件,Contos 7系统,Oracle 数据库安装文件,Oracle安装需要的补丁,连接Linux工具putty。
1、 安装Contos 7系统,此步骤通过下载镜像文件,安装即可。
2、 进入系统后打开命令终端获取当前IP地址,通过putty工具进行连接。
2.1、打开终端后输入ifconfig 查看当前IP地址。
2.2、打开putty工具,输入IP地址,和连接名,打开后。
2.3、输入用户名,输入密码即可。
3、 进入Oracle 安装前置步骤创建用户,用户组,和相关权限。
3.1、创建用户组oinstall,dba,命令如下:
groupadd oinstall,
groupadd dba
3.2、创建oracle用户,并将上面创建的用户组分配给oracle,命令如下:
useradd -g oinstall -g dba -m oracle
3.3、设置oracle 用户密码,命令如下:
passwd oracle
3.4、详见如下图:
3.5、查看是否新建成功,命令如下:
id oracle
4、 创建oracle数据库安装目录,相关命令如下
mkdir -p /data/oracle
mkdir -p /data/oraInventory
mkdir –p /data/database
5、 进入data 文件夹下,查看步骤4新建的文件是否存在,命令如下:
cd /data
ls
6、 设置目录所有者为oinstall用户组,此用户组在上面步骤已绑定oracle用户,命令如下:
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
7、 修改系统标识符(oracle默认不支持CentOS系统安装需要修改系统标识)
7.1、进入系统配置文件下,打开系统标识文件,并修改文件内容,命令如下:
cd /etc
vi redhat-release
原文件内容:
8、 关闭系统防火墙,命令如下:
systemctl status firewalld.service —首先查看防火墙状态
systemctl stop firewalld.service—关闭防火强
再次查看防火墙状态,如下图:
systemctl disable firewalld.service—系统重启后也禁止使用防火墙
9、 关闭selinux,设置完成后需要重启才能生效,命令如下:
vi /etc/selinux/config
修改内容如下:SELINUX=disabled
完成后保存重启系统。
11、修改系统内核,使oracle充分发挥出性能,命令如下:
vi /etc/sysctl.conf
追加内容如下,完成后保存:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:20971524k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
使配置的内核立即生效,命令如下:
sysctl -p
12、对oracle用户进行设置,提高软件的性能,命令如下:
vi /etc/security/limits.conf
在文件末尾处增加内容,如下:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
13、配置用户的环境变量,命令如下:
vi /home/oracle/.bash_profile
添加如下内容,保存即可:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=KaTeX parse error: Expected 'EOF', got '#' at position 33: …ct/11.2.0/db_1 #̲oracle数据库路径 exp…ORACLE_HOME/bin:/usr/sbin:KaTeX parse error: Expected 'EOF', got '#' at position 6: PATH #̲添加系统环境变量 export…ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
使上述配置立即生效,命令如下:
source /home/oracle/.bash_profile
14、检查并安装包文件(这个在网上能找到很多)如下:安装命令例:yum install -y binutils
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc+±33
elfutils-libelf-devel
gcc-4.8.2-3.el7.x86_64
gcc-c+±4.8.2-3.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
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
unixODBC.x86_64
unixODBC. i686
unixODBC-devel.x86_64
unixODBC-devel. i686
sysstat-10.1.5-1.el7.x86_64
rpm -ivh --nodeps –force 文件(强制安装命令)
15、将安装文件传输到/data/database下。(路径随意,只是我这里是防止安装文件的路径)
解压两个压缩包,命令如下:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
16、进入图形化系统界面,登录oracle用户,并打开命令终端,进入/data/database/database,命令如下:
cd /data/database/database
ls
允许runInstaller 文件,命令如下(如果出现乱码情况,在执行文件前执行此命令:export LANG=en_US.UTF-8):
./runInstaller -jreLoc /java/jdk1.8.0_181
16、安装如下:
此处有很多错误,第一条semmni 可以忽略,这个地方实际读取的是修改内核处的的数据,不知道为什么没有生效,依然提示出错误,但是很多都说可以忽略此条,此处第一条可以忽略,下面的包要一个个打上去,去除所有包警告,勾选lgnore all(忽略)。
安装完成后,执行成功后的两个脚本文件
sh /data/oraInventory/orainstRoot.sh
sh /data/oracle/product/11.2.0/db_1/root.sh
错误:
1、在安装到68%时提示错误Error in invoking target ‘install’ of makefile ‘/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk’. See ‘/u01/app/oraInventory/logs/installActions2015-01-22_09-39-03AM.log’ for details.
在网上查找解决办法大部分都是说缺少glibc包导致的
rpm --all --query --queryformat “%{NAME}-%{VERSION}-%{RELEASE}-(%{ARCH})\n” | grep glibc
执行命令后显示需要安装glibc-devel及glibc 32位的安装包,安装后退出oracle删除安装目录下的文件,重新安装,依然提示ins_ctx.mk编译错误。
后注意到日志有以下错误:
INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14’
INFO: collect2: error: ld returned 1 exit status
INFO: make: *** [ctxhx] Error 1
网上说是glibc的版本2.17过高所致(高于2.14),解决办法:
下载glibc-static-2.17-55.el7.x86_64.rpm安装,下载地址:
该软件包包含一个静态链接库:/usr/lib64/libc.a
修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
点击Retry继续安装。
2、Error in invoking target ‘agent nmhs’ of makefile ‘/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.’
解决方法:在makefile中添加链接libnnz11库的参数
修改/data/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将
$(SYSMANBIN)emdctl:
(
M
K
E
M
A
G
E
N
T
N
M
E
C
T
L
)
修
改
为
:
(MK_EMAGENT_NMECTL)修改为:
(MKEMAGENTNMECTL)修改为:(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11点击Retry继续安装。