Linux下安装Oracle
Linux下安装Oracle
文档撰写人:常胜
特别说明:
此文档只教大家如何顺利在centos6.8下安装oracle,并不会对安装过程中涉及到的Linux知识进行详解。
环境准备
-
VMware Workstation
-
Centos6.8 64位
-
Oracle安装包
–p13390677_112040_Linux-x86-64_1of7.zip
–p13390677_112040_Linux-x86-64_2of7.zip
- 资源分配:
–磁盘:大于40G
–内存:大于4G
在VMware中配置VMnet8中固定IP
- 虚拟机网络编辑
编辑>虚拟网络编辑器。选择VMnet8.配置子网ip:192.168.245.0。去掉使用本地DHCP服务将IP地址分配给虚拟机(D)选项。(切记要配置静态IP否则后续iP变化对ORACLE致命)
- 配置Centos系统网络配置
配置完静态网络进去系统后发现网络不通。需要配置系统网络。
- 进入到cd /etc/sysconfig/network-scripts/目录下找到自己的网卡
- 找到自己的网卡
- 编辑网卡信息,将BOOTPROTO=dhcp 改为 BOOTPROTO=static
-
配置网卡信息HWADDR信息与ifconfig中网络信息一样,蓝色部分以及红色部分。新增IPADDR(虚拟网络中配置的IP地址)、NETMASK(虚网络中配置的子网掩码)、GETWAY(虚拟网络中配置的网关)。
-
至此保存网卡配置。
-
输入service network restart 重新启动网卡。
修改主机名称
修改主机名防止Oracle监听报错,后面反向修改比较麻烦。
- 进入到etc/sysconfig/ 修改network 将主机名修改为oracleDB。
- Reboot重启系统后查看命令行显示主机名,主机名修改成功。
- 添加主机名与IP的对应关系
vim /etc/hosts
添加 192.168.245.129 oracleDB -------(IP地址)主机名称
添加Oracle用户以及GROUP
- 创建两个组以及用户oracle并初始化oracle用户密码
[[email protected] ~]# groupadd oinstall
[[email protected] ~]# groupadd dba
[[email protected] ~]# useradd -g oinstall -g dba -m
oracle(-g指定组-m创建家目录)
[[email protected] ~]# passwd oracle
- 创建Oracle目录数据存放目录
mkdir -p /home/oracle/app
mkdir -p /home/oracle/app/oracle
mkdir -p /home/oracle/app/oradata
mkdir -p /home/oracle/app/oracle/product
- 更改Oracle目录的所属组
chown -R oracle:oinstall /home/oracle/app/
Oracle配置文件配置
- 配置Oracle对shell的限制等,修改/etc/security/limits.conf
cd /etc/security
vim /etc/security/limits.conf 在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
-
Wq保存退出
-
修改登录方式
vim /etc/pam.d/login 末尾添加如下信息
session required /lib/security/pam_limits.so
session required pam_limits.so
- 修改系统内核参数
vim /etc/sysctl.conf 末尾添加如下信息
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-agcJzRHP-1578913747519)(media/aeb04b10dc8ace3afc97f589dbfa7d3f.png)]
-
刷新配置的信息sysctl -p
-
环境变量设置 /etc/peofile
vim /etc/profile 修改系统环境变量
wq保存后 source /etc/profile文件看是否报错
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
fi
- 关闭防火墙以及selinux
vim /etc/selinux/config
将SELINUX=enable 改为 disabled 并且保存退出后执行setenforce 0。
Service iptables stop 关闭防火墙
# 永久关闭防火墙
chkconfig iptables off
- 将Oracle安装包上次系统并unzip解压
- 配置oracle用户下的环境变量(切换到oracle用户)
su - oracle
vim ~/.bash_profile
添加:
umask 002
ORACLE_BASE=/home/oracle/app
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0.4/
export ORACLE_HOME
ORACLE_SID=orcl
export ORACLE_SID
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64
source 一下配置文件,看是否报错。
图形界面安装
进入到存放oracle介质的路径下,进入database 执行runInstaller
./runInstaller
第一步直接跳过,不填写邮件
第二步也直接跳过,跳过更新
第三部选择只安装数据库软件
第四步选择创建单利数据库
第五步选择英语与简体中文
第六步选择安装企业版
第七步查看Oracle安装路径是否与我们配置的相同
第八步,DBA目录,点击下一步
第九步选择dba后点击下一步。
第十步安装oracle依赖包理论上centos7都支持。
yum install -y binutils compat-libstdc+±33 elfutils-libelf
elfutils-libelf-devel gcc glibc-devel libgomp glibc-headers kernel-headers
gcc-c++ libstdc+±devel glibc glibc-common ksh libaio libaio-devel libgcc
libstdc++ libstdc+±devel make sysstat unixODBC unixODBC-devel compat-libcap1
第十一步安装完成后切换root执行这两个sh
sh /home/oracle/oraInventory/orainstRoot.sh
sh /home/oracle/app/oracle/product/11.2.0.4/root.sh 按回车继续
创建Oracle实例
- 查看监听是否开启
lsnrctl status 查看监听是否开启如果未开启启动 lsnrctl start
- 创建oracle实例
使用oracle用户执行dbca命令
打开图形化界面创建实例
点击下一步创建数据库
选择custom Database
输入数据库名称以及SID
取消企业级配置管理选项
选择使用相同的密码来管理sys/system
选择文件存储为FILE System 默认直接点击下一步
是否扩展空间点击取消掉,选择下一步
标红处全部取消掉
内存大小分1G(需要更具虚拟机分配内存来决定)
设置数据库实例编码格式(建议UTF-8)
设置三个日志大小为200M 默认是50M
选择创建数据库,FINISH
这是我们配置的一些参数,一览。
可以查看创建日志信息。
至此数据库实例创建完成。
配置监听
- Oracle用户下输入netca打开监听配置
选择第一项
选择添加
选择默认点击下一步
选择协议,默认即可
设置端口号默认为1521
-
配置完成后查看1521端口是否在用netstat -aln | grep 1521
-
配置本地客户端local Net Service Name configuration
也是使用netca命令添加第三项
服务名学则使用实例名称
输入本地的IP地址
重启后开启数据库
重启后Oracle是不可用状态需要重新启动数据库以及监听等服务
使用sqlplus / as sysdba
-
启动数据库startup
-
启动监听(关闭监听的命令lsnrctl stop),退出sql编写界面 lsnrctl start
启动监听以及数据库服务
Oracle数据库开机自启
- 先使用命令dbstart 查看信息
错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
[[email protected] ~]$ vi $ORACLE_HOME/bin/dbstart
[[email protected] ~]$ vi $ORACLE_HOME/bin/dbshut
修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
分别修改$ORACLE_HOME/bin/dbstart以及ORACLE_HOME/bin/dbshut 两个文件。
- 设置实例开机挂载
输入vi /etc/oratab 将实例为N的全部改为Y
- (切换到root下)把lsnrctl start和dbstart添加到rc.local文件中
vi /etc/rc.d/rc.local 编辑添加
su oracle -lc ‘lsnrctl start’
su oracle -lc ‘dbstart’
[[email protected] ~]$ vi $ORACLE_HOME/bin/dbshut
[外链图片转存中…(img-PNMrVMI0-1578913747561)]
修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
分别修改$ORACLE_HOME/bin/dbstart以及ORACLE_HOME/bin/dbshut 两个文件。
- 设置实例开机挂载
输入vi /etc/oratab 将实例为N的全部改为Y
[外链图片转存中…(img-w7i7ARQ3-1578913747562)]
- (切换到root下)把lsnrctl start和dbstart添加到rc.local文件中
vi /etc/rc.d/rc.local 编辑添加
su oracle -lc ‘lsnrctl start’
su oracle -lc ‘dbstart’
- 至此Oracle系统自启动设置完成