暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle 11G(11.2.0.4.0)单实例安装部署

GrowthDBA 2021-11-04
2292
距离上一篇文章更新已一周有余,时间过得真快。近期公司要上两个新系统:一个是引擎类系统要用到ClickHouse数据库、一个财务类系统要用到Oracle数据库。Oracle是老朋友,不过太长时间没有触碰了,哈哈,相当于小白。ClickHouse更不用说,从零开始。所以,上周没有更新文章的原因就得以见得了。
其次,大家暂时先将之前学过MySQL数据库InnoDB的记录结构、数据页结构、B+树索引、表空间结构知识放一放消化一下(PS:毕竟答应大家后期会单独出一个总结性的文章),趁(这两天研究Oracle、ClickHouse的)热打(研究成果输出的)铁,转化一下思路,今天来看一下Oracle数据库的单实例安装部署实操。

01

PREPARE

准备工作

01

环境介绍

名称‍‍‍详情‍‍‍
服务器京东公有云ECS:8C/32G/500G*1台
操作系统版本CentOS Linux release 7.5.1804 (Core)
内核版本Linux version 3.10.0-862.el7.x86_64
Oracle版本11.2.0.4.0

02

软件包

Oracle 11G(11.2.0.4.0)的安装包有大佬分享给我了(毕竟从Oracle官网下载几G大小的文件非常困难),我保存在百度网盘了,分享给大家(链接:https://pan.baidu.com/s/19ZAfcf6kV06FQTqCOxwgPg,提取码:06be)。下载下来的文件如下图所示:

Oracle单实例安装,我们只需要前两个文件即可。

小提示
单实例安装我们不需要那么多包,所以不完整,科普一下完整包的相关释义:
1、2表示Database, 用于安装、升级数据库;
3表示grid infrastructure,用来升级RAC。如果要使用Clusterware、ASM、ACFS、ASM动态卷等功能时都需要先安装此包;
4表示客户端(Client);
5表示Gateway software,gateways是指透明网关,如果要从oracle访问其它数据库系统(sqlserver,sybase…)则需要安装Gateway;
6表示examples, 是示例文件安装包;
7表示deinstall,是Oracle自带的界面化卸载工具。

安装Oracle过程中,我们需要使用图形化界面工具。但是正常生产环境中,系统工程师在推机器时默认都会按照最小化方式,即没有图形化界面(一是为了保证服务器的运行性能、二是为了凸显运维人员高大上敲命令的功底,但是安装Oracle又不得不用,所以,推荐一款较为轻量的图形化工具VNC。但是需要将VNC的客户端程序安装在我们的本地,并且确保可以访问到安装Oracle的服务器。客户端下载地址:https://www.realvnc.com/en/connect/download/viewer/,大家根据自己电脑的操作系统安装对应的客户端即可。

03

安装软件前的环境准备

  • 关闭SELINUX

vim /etc/selinux/configSELINUX=disabled
  • 关闭防火墙
systemctl stop firewalldsystemctl disable firewalldsystemctl status firewalldgetenforce setenforce 0
  • 设置IP地址
vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0TYPE=EthernetONBOOT=yesBOOTPROTO=noneIPADDR=192.168.xx.xxPREFIX=24# 重启网络服务生效service network restart
  • 修改主机名、/etc/hosts文件
# 设置主机名vim etc/sysconfig/networkHOSTNAME=xxxxxx# 设置主机名和IP的对应关系vim etc/hosts192.168.xx.xx xxxxxx

上面的步骤,一般情况下,系统工程师、网络工程师会在推机器时设置好的,无需我们关注,但是保险起见,每次拿到机器的时候都要再检查确认一下。

上面的内容检查无误后,我们开始正式安装Oracle相关的依赖包、创建Oracle的用户组以及涉及到的图形化工具VNC服务端。

  • 安装VNC服务端

yum -y install tigervnc-server xorg-x11-apps
  • 启动VNC服务器(设置的密码需要记住,因为后面Client连接时需要用到
vncserver# 此过程会让设置VNC-Client连接服务器的密码,可以任意设置

  • 安装Oracle所需依赖包
yum -y install binutils-* compat-libstdc++-* compat-libstdc++-*.i686 elfutils-libelf* elfutils-libelf-devel* gcc-* gcc-c++-* glibc-* glibc-*.i686 glibc-common* glibc-devel* glibc-devel*.i686 glibc-headers* ksh* libaio* libaio*.i686 libaio* libaio*.i686 libgcc* libgcc*.i686 libstdc++* libstdc++*.i686 libstdc++-devel* make* sysstat* unixODBC* unixODBC*.i686 unixODBC-devel* unixODBC-devel* libaio-*
  • 创建Oracle用户和组
/usr/sbin/groupadd -g 501 oinstall/usr/sbin/groupadd -g 502 dba/usr/sbin/groupadd -g 504 asmadmin/usr/sbin/groupadd -g 506 asmdba/usr/sbin/groupadd -g 507 asmoper# grid用户用来安装和管理grid软件/usr/sbin/useradd -u 501 -g oinstall -G asmadmin,asmdba,asmoper,dba grid# oracle用户用来安装和管理database软件/usr/sbin/useradd -u 502 -g oinstall -G dba,asmdba oracle# 修改用户的密码passwd gridpasswd oracle
  • 创建相关目录结构
# 创建grid目录结构# (OUI)mkdir -p u01/app/oraInventorychown -R oracle:oinstall u01/app/oraInventorychmod -R 775 u01/app/oraInventory# grid用户的ORACLE_BASE变量mkdir -p u01/app/gridchmod -R 775 u01/app/gridchown -R grid:oinstall u01/app/grid# grid用户的ORACLE_HOME变量mkdir -p u01/app/11.2.0/gridchown -R grid:oinstall u01/app/11.2.0/gridchmod -R 775 u01/app/11.2.0/grid# 创建oracle目录结构# oracle用户的ORACLE_BASE变量,oracle用户的ORACLE_HOME变量【自己创建】mkdir -p u01/app/oracle# 配置工具日志:建库日志存放在此目录【dbca、dbua产生的日志】mkdir -p u01/app/oracle/cfgtoollogschown -R oracle:oinstall u01/app/oraclechmod -R 775 u01/app/oracle
  • 修改oracle用户的环境变量
su - oraclevim ~/.bash_profileexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1export PATH=$PATH:$ORACLE_HOME/bin
  • 调用图形化界面
# 设置临时环境变量并连接VNC# 1、查看VNC服务器端口(会随时更新)vncserver -list# 2、设置临时变量DISPLAYexport DISPLAY=xx.xx.xx.xx:x(#格式:export DISPLAY=server_ip:tty_number)# 3、确认DISPLAY变量的值echo $DISPLAY

  • 使用VNC-Client连接VNC-Server,启动图形化窗口

1、搜索$DISPLAY变量的值)

2、Connect

3、键入"vncserver"时设置的密码,Continue

4、成功显示图形化界面(用xclock测试是否可以成功调出图形化界面)

至此,所有准备工作都已准备就绪,下面就开始正式的安装过程。

02

INSTALL

Oracle安装

01

获取并解压安装包

使用oracle用户将p13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zip上传至服务器/tmp目录。

依次按照文件顺序解压两个文件(注意:不要同时解压)
unzip p13390677_112040_Linux-x86-64_1of7.zipunzip p13390677_112040_Linux-x86-64_2of7.zip

解压后会生成一个database目录

然后进入database目录,执行安装脚本,开始图形化安装
cd database./runInstaller

  • 下面就正式进入图形化界面的安装步骤

取消勾选MOS账号,点击Next下一步

警告信息,点击Yes下一步

软件升级选项,选择Skip software updates跳过软件升级,点击Next下一步

选择Install database software only只安装数据库软件,点击Next下一步

选择Single instance database installation单实例数据库安装,点击Next下一步

语言选择默认English,点击Next下一步

选择Enterprise Edition企业版,点击Next下一步

安装目录确认,'11.2'是读取配置环境变量后自动带出来,如果是'11.2.0'的话是系统默认创建的【即环境变量没有生效】,需要修改成'11.2',截图中没有问题,所以直接点击Next下一步

确认是否是我们创建的OUI目录和对应数组是否为oinstall(默认情况下不用处理),截图中没有问题,所以直接点击Next下一步

设置数据库管理员组为dba,其他用户组为oinstall,点击Next下一步

(搭建Oracle环境必要条件检测...)

检测结果显示没有SWAP分区。说明一下,现在我们的服务器配置较早期的服务器配置好很多,内存空间也够用,现在的服务器一般都不会设置SWAP交换分区了,但这是Oracle 11G安装流程的必检项,所以我们手动来设置一个临时SWAP分区

# 使用dd命令生成一个大小为16GB的文件dd if=/dev/zero of=/tmp/swapfile bs=1M count=16384# 创建swap文件系统mkswap tmp/swapfile# 上线新创建的swap分区swapon tmp/swapfile

设置永久挂载SWAP分区:
vim /etc/fstab/tmp/swapfile swap swap defaults 0 0

设置好SWAP分区后,剩下的警告都可忽略,选中Ignore All,点击Next下一步

警告信息,点击Yes下一步

前面步骤操作的安装配置清单展示,点击Install下一步

(安装中...)

安装过程提示用root用户执行图中红框所示脚本,执行完成后,点击OK下一步
/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/11.2/db_1/root.sh

安装完成页面,点击Close关闭安装程序。
至此,Oracle database software安装完成
小提示
上述步骤中,是以我的环境和数据库版本为例的安装截图,大家在各自环境安装的时候,因操作系统版本、数据库的小版本差异以及操作系统内核参数差异等情况,还可能会遇到以下问题,整理给大家。
1、Oracle环境必要条件检测状态为Failed的各项内容需要特别注意。

  • ①遇到上述情况需要点击Fix & Check Again进行修复和重新检检。

  • ②按照提示,使用root用户执行修复脚本。(可以直接解决Fixable=Yes的参数配置)

/tmp/CVU_11.2.0.1.0_oracle/runfixup.sh
修复和重检没有问题后,状态为Warning的就可以忽略跳过了。
2、刚开始安装走进度条的时候,会出现有效的EUID和文件不匹配的报错。

修复方法如下:
# root用户执行,创建文件并追加下面的内容vim /etc/oraInst.locinventory_loc=/u01/app/oraInventoryinst_group=oinstall
创建完文件后,退出安装程序,重新执行./runInstaller,重跑一次安装程序。

03

CREATE

创建数据库


01

dbca创建数据库


Oracle database软件安装好后,我们就可以继续使用图形化界面来创建数据库了。
首先创建一个存放数据的目录(可以任意指定)
mkdir /oradatachown -R oracle:oinstall /oradata

使用dbca命令创建数据库

dbca

欢迎页,点击Next下一步

选择Create a Database创建数据库,点击Next下一步

选择Custom Database自定义数据库,点击Next下一步

输入数据库名,点击Next下一步

取消勾选Configure Enterprise Manager不安装OEM,点击Next下一步

勾选Use the Same Administrator Password for All Accounts管理用户创建相同的密码,输入密码并确认密码,点击Next下一步

勾选Use Common Location for All Database Files并指定创建的数据目录/oradata,点击Next下一步

取消勾选Specify Fast Recovery Area不创建快速闪回区,点击Next下一步

取消勾选所有组件,点击Next下一步

指定数据库字符编码,其余配置默认即可,点击Next下一步

总览信息页,点击Next下一步

默认勾选Create Database创建数据库,点击Finish下一步

(创建中...)

创建完成,点击Exit退出创建程序。

02

调整数据库字符集


因为财务系统使用的是用友公司提供的,要求数据库字符编码为ZHS16GBK,我们来设置一下:

# 登录sqlplus控制台sqlplus / as sysdba# 调整字符集编码:SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;SQL> ALTER DATABASE OPEN;SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;# 报错解决ERROR at line 1:ORA-12721: operation cannot execute when other sessions are active解决:若出现上面的错误,使用下面的办法进行修改,使用INTERNAL_USE可以跳过超集的检查。SQL> ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP;# 查看修改后的字符集select userenv('language') from dual;




04

END



小结




今天的内容比较简单,涵盖了详细的实操记录,大家感兴趣的可以下去自己尝试搭建部署,纸上得来终觉浅,绝知此事要躬行。今天的内容就这么多啦,下篇文章见。


end


文章转载自 GrowthDBA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论