1.简介
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
2.下载
Oracle11g下载
3.版本
本次安装使用的系统版本:CentOS Linux release 7.6,oracle版本:11.2.0.4.0
4.安装前检查准备
4.1搭建yum 仓库
df -hmount /dev/cdrom mntcd /etc/yum.repos.d/mkdir bak
先将其他的yum的repo源,使用本地镜像源,备份到bak目录中
mv * bak/vi local.repo[centos]name=centosbaseurl=file:///mntgpgcheck=0enable=1
4.2关闭防火墙
systemctl stop firewalld
4.3安装数据库软件所需要的包
yum install binutils* -yyum install compat* -yyum install elfutils* -yyum install gcc* -yyum install glibc* -yyum install kernel* -yyum install ksh* -yyum install libaio* -yyum install libgcc* -yyum install libgomp* -yyum install libstdc* -yyum install make* -yyum install sysstat* -yyum install unzip -yyum install smartmontools -yyum -y install xdpyinfoyum install openssh-clients -y
4.4添加主机名
vi etc/hosts添加192.168.19.10 lnode #主机名
4.5修改内核参数
vi /etc/sysctl.conf添加fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576修改后让内核参数生效sysctl -p
4.6资源限制
vi /etc/security/limits.conf添加oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240
4.7创建dba,oinstall组和oracle用户
groupadd dbagroupadd oinstalluseradd -g oinstall -G dba oracle
设置密码
passwd oracle
4.8创建安装目录和授权
mkdir -p u01/app/oraclechown -R oracle:oinstall u01
4.9添加oracle环境变量
su - oraclevi .bash_profile添加export ORACLE_SID=orclexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export PATH=$PATH:$ORACLE_HOME/binexport ORACLE_TERM=xtermexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/libexport CLASSPATH=$ORACLE_HOME/JRE:ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib保存,并使参数生效source .bash_profile
4.10使用ftp工具将oracle软件上传到虚拟机/tmp上
[root@node tmp]# cd tmp/[root@node tmp]# ll p13390677_112040_Linux-x86-64_*-rw-r--r--. 1 root root 1395582860 Aug 14 2019 p13390677_112040_Linux-x86-64_1of7.zip-rw-r--r--. 1 root root 1151304589 Aug 14 2019 p13390677_112040_Linux-x86-64_2of7.zip授权为oraclechown -R oracle:oinstall p13390677_112040_Linux-x86-64_*
4.11切换到oracle用户
su - oraclecd /tmp分别解压unzip p13390677_112040_Linux-x86-64_1of7.zipunzip p13390677_112040_Linux-x86-64_2of7.zip
解压完成后得到database
drwxr-xr-x. 7 oracle oinstall 136 Aug 27 2013 database
4.12解压完毕后使用root安装一个rpm包
su - rootcd /tmp/database/rpm/rpm -ivh cvuqdisk-1.0.9-1.rpm
4.13到此准备完毕,开始安装软件
使用Xmanager 软件连接虚拟机
[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
建议修改前备份原始文件
cd $ORACLE_HOME/sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak
vi ins_emagent.mk
进入vi编辑器后命令模式输入/NMECTL 进行查找,快速定位要修改的行在后面
追加参数-lnnz11 第一个是字母l 后面两个是数字
#===========================
$(SYSMANBIN)emdctl:
$(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.shChanging 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.shPerforming root user operation for Oracle 11gThe following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1Enter the full pathname of the local bin directory: [/usr/local/bin]: <strong>此处回车</strong>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 byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.Finished product-specific root actions.
运行完成回来,选择ok


至此软件安装完成,选择关闭
5.下面开始安装实例
[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
至此完成实例安装
6.检查
[oracle@node ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Mar 9 21:06:23 2021Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select status from v$instance;STATUS------------OPEN
7.配置监听

选择:监听配置,在next

选择:添加,在next

默认LISTENR,在选择next

选择:next

使用默认端口1521
选择:next

有需求就另外配另一个
选择:next

选择:next

选择完成
8.使用PL/SQL工具连接测试


连接成功





