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)
主机信息
安装包位置
写好主机名
写hosts
文件
关闭seliunx
关闭防火墙
这里我的swap
空间不够,下面扩展swap
新增4GB
的swap
空间
新增swap
分区空间
使用dd
创建swapfile
,bs
单位bytes
,也可以手动指定单位为M
或者G
,count
为计数,例子为增加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
登陆
安装oracle
的时候要用到图形化界面,用root
用户登录图形化界面其实就是已经证明X server
开启了,这个时候要看一下环境变量,如下图
关于display
与xhost
详细参考
(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
选择跳过软件更新
在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
数据库进行升级。
这里选择第一个单实例数据库安装,第二个Oracle RAC
集群安装,第三个RAC
集群单节点安装
选择语言,这个我添加了简体中文,填不填加都一样
在Select Database Edition
(选择数据库版本)界面,选择企业版,点击Next
在Specify Installation Location
界面,为Oracle Base
和Software Location
指定存储位置,点击Next
,这里就是$ORACLE_BASE
和 $ORACLE_HOME
的路径
选择清单目录、指定清单组名称,点击Next
,这里不是默认的,选择一下。
在Privileged Operating System Groups
界面,从提供的值列表中选择数据库管理员和数据库操作员操作系统组,点击Next
这一步就可以点击完成了,要是缺少包的话会在标框的先决条件检查中有提示,缺少那个包就安装哪个包,因为这里没有缺少的包所以直接跳到了Summary
。这里点击Install
报错解决
解决方案
http://blog.itpub.net/29475508/viewspace-2120836/
root
执行这两个脚本然后点击ok
点击close
执行netca
新增一个监听
选择"Listener configuration"
,点击Next
选择"Add"
,点击Next
输入监听程序名,点击Next
选择TCP
协议,点击Next
选择端口号,点击Next
选择"No"
,点击Next
点击Next
最后点击完成
执行dbca
命令,启动oracle
实例安装界面,点击Next
选择"Create a Database"
,点击Next
下面选择第一个事务处理
database name
是数据库的名字,SID
是实例名,SID
要和oracle
用户的环境变量值中设置的一致
取消选中Configure Enterprise Manager
复选框,点击Next
。(如果希望使用企业管理器来管理这个数据库,那么可以选中Configure Enterprise Manager
复选框)
下面这个不动
可以选择Use Different Administrative Passwords
(使用不同管理密码)选项,为这些管理账户使用不同密码,为了方便,我选择Use the Same Administrative Password for All Accounts
(为所有账户使用相同密码)选项,输入并确认密码,然后点击Next
这里我们使用默认值,点击Next
这里是使用快速恢复闪回区和归档模式
启用样例库
在Initialization Parameters
界面中,可以指定一些初始化参数。在Memory
选项卡中,可以指定Oracle
数据库使用的内存。在Sizing
选项卡中,可以设置数据块大小、进程数量。在Character Sets
(字符集)选项卡中,可以选择这个数据库的字符集、默认语言和日期格式。在Connection Mode
(连接模式)选项卡中,可以指定数据库的连接模式。默认情况下,Oracle
使用Dedicated Server
(专用服务器)模式。在这一阶段,唯一必须知道的重要事情就是这个数据库的字符集和数据块大小。选择适当的字符集和数据块大小,其他初始化参数集保留默认即可,可以在以后对它们进行优化调整。
环境变量是UTF8
那么这里就选择UTF8
点击下一步
在Database Storage
(数据库存储)界面,可以指定数据文件、控制文件和重做日志组的位置。还可以为数据文件和重做日志指定文件位置变量。设置完成后,点击Next
勾选"Create Database"
,点击Finish
开始创建数据库(可以根据自己的需要选择生成用于创建数据库的脚本)
这个是可以拉开的
点击ok
耐心等待
点击退出
在linux
环境下使用sqlplus
,在回删(backspace
)时往往会出现 一串的乱码。出现乱码是由于oracle
的sqlplus
不使用gnu
的readline
库造成的。所以如果想提高使用效率,就需要下载rlwrap
包。
yum install -y readline*
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