Oracle11gR2安装
本次安装使用的系统版本:CentOS Linux release 7.6,oracle版本:11.2.0.4.0
1.安装前检查准备:
2.搭建yum 仓库
df -h
mount /dev/cdrom /mnt
cd /etc/yum.repos.d/
mkdir bak
先将其他的yum的repo源,使用本地镜像源,备份到bak目录中
mv * bak/
vi local.repo
[centos]
name=centos
baseurl=file:///mnt
gpgcheck=0
enable=1
3.关闭防火墙
关掉防火墙
systemctl stop firewalld
systemctl disable firewalld
关闭selinux的方式
vi /etc/selinux/config
SELINUX=disabled
或
sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config
4.安装数据库软件所需要的包
yum install binutils* -y
yum install compat* -y
yum install elfutils* -y
yum install gcc* -y
yum install glibc* -y
yum install kernel* -y
yum install ksh* -y
yum install libaio* -y
yum install libgcc* -y
yum install libgomp* -y
yum install libstdc* -y
yum install make* -y
yum install sysstat* -y
yum install unzip -y
yum install smartmontools -y
yum -y install xdpyinfo
yum install openssh-clients -y
5.添加主机名
vi /etc/hosts
添加
192.168.19.10 node1 #主机名
6.修改内核参数
vi /etc/sysctl.conf
添加
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576
修改后让内核参数生效
sysctl -p
7.资源限制
vi /etc/security/limits.conf
添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
8.创建用户和组
groupadd dba
groupadd oinstall
useradd -g oinstall -G dba oracle
设置密码
passwd oracle
9.创建安装目录和授权
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
10.添加oracle环境变量
vi /home/oracle/.bash_profile
添加
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/JRE:ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
保存,并使参数生效
source /home/oracle/.bash_profile
11.将oracle软件上传到虚拟机
[root@oggtest ~]# cd /tmp/
[root@oggtest tmp]# ll
total 2710596
-rw-r--r--. 1 root root 194824 Apr 27 11:36 compat-libstdc-33-3.2.3-72.el7.x86_64.rpm
-rw-r--r--. 1 root root 1395582860 Apr 27 11:36 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1151304589 Apr 27 11:36 p13390677_112040_Linux-x86-64_2of7.zip
授权为oracle
[root@oggtest tmp]# chown oracle:oinstall p13390677_112040_Linux-x86-64_*
12.解压软件
切换到oracle
su - oracle
cd /tmp
分别解压
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
解压完成后得到database
drwxr-xr-x. 7 oracle oinstall 4096 Aug 27 2013 database
13.解压完使用root安装rpm包
使用root安装
su - root
cd /tmp/database/rpm/
rpm -ivh cvuqdisk-1.0.9-1.rpm
14.开始安装软件
使用Xmanager 软件连接虚拟机
[oracle@oggtest database]$ export DISPLAY=192.168.100.10:0.0
[oracle@node database]$ ./runInstaller
选择:是
去掉我希望通过我的Oracle支持获得安全更新。
选择:next
选择:yes
选择:跳过软件安装,在next
选择:只安装数据库软件,在next
选择:安装单实例数据库,在next
确定是English,在选择next
选择:企业版,在next
确定oracle base目录 software location目录,这两个目录是在环境变量中设置的(注意权限,否则报错)
确定后选择next
确定软件安装目录以及归属,默认即可
选择:next
确定database adminstrastor group 为dba,database operator group为可选项
选择:next
等待进度条
发现有三个告警,一个swap大小,两个包没有安装安装上
Swap大小只要有剩余没问题,一般生产上都是足够的,需要修改,所以忽略。
compat-libstdc-33-3.2.3-72.el7.x86_64和pdksh-5.2.14;
compat-libstdc-33-3.2.3-72.el7.x86_64在centos源中没有,便从别的源中下载下来了,为了在以后oracle不会出错,建议最好安装上
需要的可以在下面的百度网盘下载
链接:https://pan.baidu.com/s/1Y5RZR1fGVBPPCKlQro8q0Q
提取码:1234
下载后上传,使用root安装
[root@node tmp]# rpm -ivh compat-libstdc-33-3.2.3-72.el7.x86_64.rpm
pdksh-5.2.14的是oracle建议在oracle定制机上安装,我这里的不是,所以会报这个告警,可以忽略。
在安装compat-libstdc-33-3.2.3-72.el7.x86_64.rpm后,在次检查
发现没有缺少compat-libstdc-33-3.2.3-72.el7.x86_64.rpm
选择:忽略全部,在next
选择:yes
选择:install
等待
当进度条达到86%时报错
报错原因:
系统版本和oracle版本造成,在centos6不会报这错。
官方的解释说是先继续安装,然后再打补丁,这个bug19692824是在创建数据库的时候引发的。如果你在安装数据库软件的时候就报错建议使用下面的解决方法使用oracle用户
修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:
$(MK_EMAGENT_NMECTL) -lnnz11
建议修改前备份原始文件
进入vi编辑器后命令模式输入/NMECTL 进行查找,快速定位要修改的行在后面
追加参数-lnnz11 第一个是字母l 后面两个是数字
\#===========================
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
\#===========================
步骤:
su - oracle
cd $ORACLE_HOME/sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak
vi ins_emagent.mk
$(MK_EMAGENT_NMECTL) -lnnz11
修改完成后
最后弹出这两个脚本,要使用root运行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
[root@node ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@node ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: #此处回车
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
运行完成回来,选择ok
至此软件安装完成,选择关闭
15.下面开始安装实例
[oracle@node database]$ dbca
选择:next
选择:创建数据库,在next
选择:一般用途或事务处理,在next
输入global database name和sid,在选择next
去掉企业管理器
去掉自动维护,在选择next
一般在生产上都有自己的管理和维护方式
设置管理员密码可以先简单设置,安装后在按照公司需求修改,在选择next
选择:yes
选择:使用oracle管理文件,再next
默认即可,有需求另外定制
选择:next
选择:next
(SGA and PGA)内存大小根据业务量设计
块大小和进程数也是根据需求设计
字符集也是根据需求,一般为utf-8
连接模式默认
此处设置数据文件,redo log文件,日志成员数的最大数,也是根据需求设置,后期可以修改。
此处设置redo log文件的大小,和添加个删除,后期可以修改。
选择:next
选择:完成
选择ok
等待完成即可
选择exit
至此完成实例安装
16.检查
[oracle@node ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 9 21:06:23 2021
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select status from v$instance;
STATUS
------------
OPEN
17.配置监听
选择:监听配置,在next
选择:添加,在next
默认LISTENR,在选择next
选择:next
使用默认端口1521
选择:next
有需求就另外配另一个
选择:next
选择:next
选择完成
8.使用PL/SQL工具连接测试
连接成功