CentOS 7安装Oracle 11g

CentOS 7安装Oracle 11g
本文章为网络资源学习,自己做笔记使用,如有侵权请联系删除!
原文链接:
https://www.cnblogs.com/dudu99/p/11074489.html
https://blog.csdn.net/qq_32786873/article/details/82110235
1.准备工作
安装环境

[root@centos7 ~]# cat /etc/centos-release
CentOS Linux release 7.2.1511 (Core)

主机信息CentOS 7安装Oracle 11g_第1张图片
安装包位置
在这里插入图片描述
写好主机名
在这里插入图片描述
hosts文件
在这里插入图片描述
关闭seliunx
在这里插入图片描述
关闭防火墙
在这里插入图片描述
这里我的swap空间不够,下面扩展swap
在这里插入图片描述
新增4GBswap空间
新增swap分区空间
使用dd创建swapfilebs单位bytes,也可以手动指定单位为M或者Gcount为计数,例子为增加1M*4096=4G空间

mkdir /swap
cd /swap/
dd if=/dev/zero of=swapfile bs=1M count=4096

mkswap创建交换文件

mkswap swapfile

swapon激活

chmod 600 swapfile
swapon swapfile
free -m

开机启动

vim /etc/fstab
/swap/swapfile		swap		swap	defaults	0	0

2.创建运行oracle数据库的系统用户和用户组:

groupadd oinstall           #创建用户组oinstall
groupadd dba                 #创建用户组dba
groupadd oper						#创建用户组oper
useradd -g oinstall -G dba,oper -m oracle  #创建oracle用户,并加入到oinstall和dba用户组和oper用户组
groups oracle              #查询用户组是否授权成功
passwd oracle               #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
id oracle                       #查看新建的oracle用户

关于创建的这些用户组的说明,请参考:
https://blog.csdn.net/qq_32786873/article/details/82187346
3.创建oracle数据库安装目录(运行下面指令,创建账号和分配权限):

mkdir -p /opt/oracle/product    #创建oracle安装目录
mkdir -p /opt/oracle/oradata    #创建oracle数据文件存放目录
mkdir -p /opt/oracle/oraInventory    #创建oracle数据库清单目录 
chown -R oracle:oinstall /opt/oracle    #设置oracle用户为目录的所有者
chmod -R 775 /opt/oracle/    #修改权限
ll /opt/oracle				##验证一下权限

4.安装oracle数据库所需要的软件包

yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*

pdksh包还是没有安装上

rpm -qa | grep pdksh

上网找到pdksh-5.2.14-21.x86_64.rpm包安装上

rpm -ivh pdksh-5.2.14-21.x86_64.rpm --force --nodeps

5. 修改oracle用户限制
执行vim /etc/security/limits.conf命令,编辑/etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。在该文件中添加如下行:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

关于limits.conf的配置请参考:https://blog.csdn.net/qq_32786873/article/details/82190224
要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。
编辑文件:vim /etc/pam.d/login,加入以下语句:

session    required     pam_limits.so

编辑 /etc/profile ,输入命令:vim /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

6.调整内核参数
要求配置:

参数 最小值 文件 命令
semmsl
semmns
semopm
semmni
250
3200
100
128
/proc/sys/kernel/sem # /sbin/sysctl -a | grep sem
shmall 2097152 /proc/sys/kernel/shmall # /sbin/sysctl -a | grep shm
shmmax 536870912 /proc/sys/kernel/shmmax
// 最大共享内存,官方文档建议是内存的1/2
// 我的服务器是4G内存,所以为2x1024x1024x1024
// 最小值为536870912(1G内存/2)
# /sbin/sysctl -a | grep shm
shmmni 4096 /proc/sys/kernel/shmmni # /sbin/sysctl -a | grep shm
file-max 6815744 /proc/sys/fs/file-max # /sbin/sysctl -a | grep file-max
ip_local_port_range 9000 65500 /proc/sys/net/ipv4/ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max # /sbin/sysctl -a | grep wmem_max
aio-max-nr 1048576 /proc/sys/fs/aio-max-nr # /sbin/sysctl -a | grep aio-max-nr
编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。如果该文件中已有相关参数的设置,则确保参数值不小于如下对应值;如果还没有相关参数的设置,则按照如下格式添加相应的参数设置行。
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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

要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)
7.配置oracle用户环境变量
1.切换到新创建的oracle用户下:su - oracle
2.输入命令:vim /home/oracle/.bash_profile

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
 
#不加下面的2行,我安装的时候界面都是乱码,我这个机器安装了中文支持包,要是没有安装中文包的话,那下面这两句就应该不用写进去
export NLS_LANG=AMERICAN_AMERICA.UTF8
export LANG=en_US.UTF8
 
 
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
 
export PATH

4.执行命令source /home/oracle/.bash_profile,让配置立即生效。
8.安装Oracle
root执行

cd /usr/local/src
unzip /usr/local/src/p13390677_112040_Linux-x86-64_1of7.zip
unzip /usr/local/src/p13390677_112040_Linux-x86-64_2of7.zip 

图形化界面root登陆
CentOS 7安装Oracle 11g_第2张图片
安装oracle的时候要用到图形化界面,用root用户登录图形化界面其实就是已经证明X server开启了,这个时候要看一下环境变量,如下图
关于displayxhost详细参考
(https://www.cnblogs.com/js1314/p/10373332.html)在这里插入图片描述
执行xhost +来允许其他用户执行图形程序来调用图形化界面
在这里插入图片描述
切换到oracle用户
在这里插入图片描述
找到刚刚解压的目录,发现这个目录好像解压到哪里都行
在这里插入图片描述
进入到目录database
在这里插入图片描述
export DISPLAY=:0
在这里插入图片描述
执行安装
CentOS7上安装Oracle的时候经常碰到oracle安装客户端的弹窗很小,有的时候还会只有一个竖条,很是烦人。
解决办法:

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

这样执行就可以了
取消选中这个界面上的I wish to receive security updates via My Oracle Support复选框,点击Next
CentOS 7安装Oracle 11g_第3张图片
CentOS 7安装Oracle 11g_第4张图片
选择跳过软件更新
CentOS 7安装Oracle 11g_第5张图片
Select Installation Option(选择安装选项)界面上,选择Install database software only选项,点击Next

Create and configure a database(创建和配置数据库) 这个选项是默认的安装选项,它安装Oracle RAC二进制文件,并根据预先配置的模板创建一个数据库。这个选项对于初学者非常有用,因为Oracle为不同类型的工作量提供了不同模板,如用于OLTP和决策支持系统的不同模板。

Install database software only(仅安装数据库软件) 这个选项在集群中的所有服务器上安装Oracle RAC软件。数据库管理员大多使用这一选项,这样,在安装了Oracle RAC二进制文件之后,他们可以使用数据库配置助手来创建数据库,从而拥有更大的灵活性。

Upgrade an existing database(升级已有数据库) 这一选项对集群中的已有Oracle RAC数据库进行升级。
CentOS 7安装Oracle 11g_第6张图片
这里选择第一个单实例数据库安装,第二个Oracle RAC集群安装,第三个RAC集群单节点安装
CentOS 7安装Oracle 11g_第7张图片
选择语言,这个我添加了简体中文,填不填加都一样
CentOS 7安装Oracle 11g_第8张图片
Select Database Edition(选择数据库版本)界面,选择企业版,点击Next
CentOS 7安装Oracle 11g_第9张图片
Specify Installation Location界面,为Oracle BaseSoftware Location指定存储位置,点击Next,这里就是$ORACLE_BASE$ORACLE_HOME的路径
CentOS 7安装Oracle 11g_第10张图片
选择清单目录、指定清单组名称,点击Next,这里不是默认的,选择一下。
CentOS 7安装Oracle 11g_第11张图片
Privileged Operating System Groups界面,从提供的值列表中选择数据库管理员和数据库操作员操作系统组,点击Next
CentOS 7安装Oracle 11g_第12张图片
这一步就可以点击完成了,要是缺少包的话会在标框的先决条件检查中有提示,缺少那个包就安装哪个包,因为这里没有缺少的包所以直接跳到了Summary。这里点击Install
CentOS 7安装Oracle 11g_第13张图片
报错解决
CentOS 7安装Oracle 11g_第14张图片
解决方案
http://blog.itpub.net/29475508/viewspace-2120836/
root执行这两个脚本然后点击ok
CentOS 7安装Oracle 11g_第15张图片
点击close
CentOS 7安装Oracle 11g_第16张图片
执行netca新增一个监听
选择"Listener configuration",点击Next
CentOS 7安装Oracle 11g_第17张图片
选择"Add",点击Next
CentOS 7安装Oracle 11g_第18张图片
输入监听程序名,点击Next
CentOS 7安装Oracle 11g_第19张图片
选择TCP协议,点击Next
CentOS 7安装Oracle 11g_第20张图片
选择端口号,点击Next
CentOS 7安装Oracle 11g_第21张图片
选择"No",点击Next
CentOS 7安装Oracle 11g_第22张图片
点击Next
CentOS 7安装Oracle 11g_第23张图片
最后点击完成
执行dbca命令,启动oracle实例安装界面,点击Next
CentOS 7安装Oracle 11g_第24张图片
选择"Create a Database",点击Next
CentOS 7安装Oracle 11g_第25张图片
下面选择第一个事务处理
CentOS 7安装Oracle 11g_第26张图片
database name是数据库的名字,SID是实例名,SID要和oracle用户的环境变量值中设置的一致
CentOS 7安装Oracle 11g_第27张图片
取消选中Configure Enterprise Manager复选框,点击Next。(如果希望使用企业管理器来管理这个数据库,那么可以选中Configure Enterprise Manager复选框)
CentOS 7安装Oracle 11g_第28张图片
下面这个不动
CentOS 7安装Oracle 11g_第29张图片
可以选择Use Different Administrative Passwords(使用不同管理密码)选项,为这些管理账户使用不同密码,为了方便,我选择Use the Same Administrative Password for All Accounts(为所有账户使用相同密码)选项,输入并确认密码,然后点击Next
CentOS 7安装Oracle 11g_第30张图片
这里我们使用默认值,点击Next
CentOS 7安装Oracle 11g_第31张图片
这里是使用快速恢复闪回区和归档模式
CentOS 7安装Oracle 11g_第32张图片
启用样例库
CentOS 7安装Oracle 11g_第33张图片
Initialization Parameters界面中,可以指定一些初始化参数。在Memory选项卡中,可以指定Oracle数据库使用的内存。在Sizing选项卡中,可以设置数据块大小、进程数量。在Character Sets(字符集)选项卡中,可以选择这个数据库的字符集、默认语言和日期格式。在Connection Mode(连接模式)选项卡中,可以指定数据库的连接模式。默认情况下,Oracle使用Dedicated Server(专用服务器)模式。在这一阶段,唯一必须知道的重要事情就是这个数据库的字符集和数据块大小。选择适当的字符集和数据块大小,其他初始化参数集保留默认即可,可以在以后对它们进行优化调整。
CentOS 7安装Oracle 11g_第34张图片
CentOS 7安装Oracle 11g_第35张图片
环境变量是UTF8那么这里就选择UTF8
CentOS 7安装Oracle 11g_第36张图片
点击下一步
CentOS 7安装Oracle 11g_第37张图片
Database Storage(数据库存储)界面,可以指定数据文件、控制文件和重做日志组的位置。还可以为数据文件和重做日志指定文件位置变量。设置完成后,点击Next
CentOS 7安装Oracle 11g_第38张图片
勾选"Create Database",点击Finish开始创建数据库(可以根据自己的需要选择生成用于创建数据库的脚本)
CentOS 7安装Oracle 11g_第39张图片
这个是可以拉开的
CentOS 7安装Oracle 11g_第40张图片
点击ok
CentOS 7安装Oracle 11g_第41张图片
耐心等待
CentOS 7安装Oracle 11g_第42张图片
点击退出
CentOS 7安装Oracle 11g_第43张图片
CentOS 7安装Oracle 11g_第44张图片
linux环境下使用sqlplus,在回删(backspace)时往往会出现 一串的乱码。出现乱码是由于oraclesqlplus不使用gnureadline库造成的。所以如果想提高使用效率,就需要下载rlwrap包。

yum install -y readline*

上传包到linux上
在这里插入图片描述
安装

rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm --force --nodeps

查看是否安装成功

[oracle@test07 /usr/local/src]$ rlwrap -v
rlwrap 0.42
[oracle@test07 /usr/local/src]$ which rlwrap 
/bin/rlwrap

编辑/home/oracle/.bash_profile追加

alias sqlplus='/bin/rlwrap sqlplus'
alias rman='/bin/rlwrap rman'

使文件生效

source /home/oracle/.bash_profile

你可能感兴趣的:(安装,补丁,升级,oracle)