本文主要介绍Oracle 11g数据库的安装的详细步骤;
1.简介
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
2.下载
3.版本
本次安装使用的系统版本:CentOS Linux release 7.6,oracle版本:11.2.0.4.0
4.安装前检查准备
4.1搭建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
4.2关闭防火墙
systemctl stop firewalld
4.3安装数据库软件所需要的包
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
4.4添加主机名
vi /etc/hosts 添加 192.168.19.10 lnode #主机名
4.5修改内核参数
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
4.6资源限制
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
4.7创建dba,oinstall组和oracle用户
groupadd dba groupadd oinstall useradd -g oinstall -G dba oracle
设置密码
passwd oracle
4.8创建安装目录和授权
mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01
4.9添加oracle环境变量
su - oracle vi .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 .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 授权为oracle chown -R oracle:oinstall p13390677_112040_Linux-x86-64_*
4.11切换到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 136 Aug 27 2013 database
4.12解压完毕后使用root安装一个rpm包
su - root cd /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.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]: <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 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
至此软件安装完成,选择关闭
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 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
7.配置监听
选择:监听配置,在next
选择:添加,在next
默认LISTENR,在选择next
选择:next
使用默认端口1521
选择:next
有需求就另外配另一个
选择:next
选择:next
选择完成
8.使用PL/SQL工具连接测试
连接成功