Linux CentOS7 安装Oracle11gR2

本文详细指导了从用户设置、目录权限、系统标识修改、依赖包安装,到图形化安装、内存调整、环境配置、解压缩,直至图形界面安装、开机自启动、关机自关闭、用户授权和相关命令的操作。适合Oracle数据库初学者和管理员参考。
摘要由CSDN通过智能技术生成

Part 1 准备工作

1、创建用户及用户组

groupadd oinstall 							创建用户组oinstall
groupadd dba 								创建用户组dba
useradd -g oinstall -G dba -m oracle 		创建用户并加入oinstall和dba组	
passwd oracle 								设置oracle密码
id oracle 									查看新建的oracle用户信息

2、创建目录更改权限

mkdir -p /home/app/oracle
mkdir -p /home/app/oraInventory
mkdir -p /home/app/database
chown -R oracle:oinstall /home/app/oracle
chown -R oracle:oinstall /home/app/oraInventory
chown -R oracle:oinstall /home/app/database

3、关闭服务修改标识

vim /etc/redhat-release
修改为	redhat-7						修改OS系统标识

systemctl stop firewalld 				关闭防火墙
systemctl disable firewalld.service 	禁用防火墙

vim /etc/selinux/config
SELINUX=disabled 						关闭SELINUX

4、安装依赖包

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

yum -y 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* 

rpm -ivh sysstat-10.1.5-19.el7.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

5、改内核、做限制、配变量

vim /etc/sysctl.conf 					修改内核参数

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
#设置最大打开文件数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
#共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 2097152
#最大共享内存的段大小
kernel.shmmax = 2147483648
#整个系统共享内存端的最大数
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#可使用的IPv4端口范围
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 								使配置生效

vim /etc/security/limits.conf 			对oracle用户设置限制,提高软件运行性能

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
保存退出

vim /home/oracle/.bash_profile 			配置环境变量

#oracle数据库安装目录
export ORACLE_BASE=/home/app/oracle
#oracle数据库路径
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#oracle启动数据库实例名
export ORACLE_SID=gdlisnet
#xterm窗口模式安装
export ORACLE_TERM=xterm
#添加系统环境变量
export PATH=/home/app/oracle/product/11.2.0/dbhome_1/bin:$PATH
#添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/usr:/lib:/usr/lib
#防止安装过程出现乱码
export LANG=C
#设置 客户端 字符集,必须与安装时设置的字符集一致,默认ZHS16GBK,否则数据导入导出中文乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
保存并退出

source /home/oracle/.bash_profile 		即时生效

6、解压缩

使用root用户解压缩

cd /home/sftp/swap
unzip linux.x64_11gR2_database_1of2.zip -d /home/app/
unzip linux.x64_11gR2_database_2of2.zip -d /home/app/ 
chown -R oracle:oinstall /home/app/database/

Part 2 图形安装

1、使用orcale用户登录桌面,启动终端窗口,执行安装

cd /home/app/database目录
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

2、安装到68%时第一个错误--ins_ctx.mk编译错误

yum -y install glibc-static
vim /home/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk

ctxhx: $(CTXHXOBJ)
    $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

修改为:
ctxhx: $(CTXHXOBJ)
    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a

3、安装到68%时第二个错误--ins_emagent.mk错误

vim /home/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk

$(MK_EMAGENT_NMECTL)  修改为:	$(MK_EMAGENT_NMECTL) -lnnz11

4、适配调整

mount -o remount,size=13G /dev/shm 		调整内存配置
vi /etc/fstab							设置开机加载

tmpfs                  /dev/shm              tmpfs  defaults,size=13g      0 0

5、安装SQLPlus工具

cd /home/sftp/swap
yum install readline*
tar -zxvf rlwrap-0.37.tar.gz
cd rlwrap-0.37
./configure

vim .bash_profile 			oracle工具配置开机加载

alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
保存退出

Part 3 开关机加载设置

1、设置开机自启动

cp /home/app/oracle/admin/orcl/pfile/init.ora.* /home/app/oracle/product/11.2.0/dbhome_1/dbs/initgdlisnet.ora
cd /home/app/oracle/product/11.2.0/dbhome_1/
./root.sh

vim /etc/oratab		dbhome_1:N  改为  dbhome_1:Y

vim /home/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
	将	ORACLE_HOME_LISTNER=$1 	修改为 	ORACLE_HOME_LISTNER=$ORACLE_HOME

vim /home/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
	将	ORACLE_HOME_LISTNER=$1	修改为 	ORACLE_HOME_LISTNER=$ORACLE_HOME

vim /etc/rc.d/ora_reboot.sh

#!/bin/bash
# 数据库重启后自动修复脚本
# 1.关闭数据库
su - oracle <<EOF
258258
sqlplus / as sysdba
shutdown immediate
EOF
# 2.杀死被锁进程
su - oracle <<EOF
258258
cd /home/app/oracle/product/11.2.0/dbhome_1/dbs/
fuser -u lkORCL 
fuser -k lkORCL
EOF
# 3.启动数据库
su - oracle <<EOF
258258
sqlplus / as sysdba  <<EOF
startup
EOF

vim /etc/rc.d/rc.local 		root编辑开机脚本

su - oracle -c "/home/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su - oracle -c "/home/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"
su - oracle -c "/etc/rc.d/ora_reboot.sh"

2、设置关机自关闭

vim /etc/rc.d/ora_shutdown.sh 	root编辑关机脚本

#!/bin/bash
# THIS FILE IS ADDED FOR stopSrv.service
su - oracle <<EOF
sqlplus /nolog
conn /as sysdba
shutdown immediate
lsnrctl stop
EOF

vim /usr/lib/systemd/system/stopSrv.service 		root创建服务

[Unit]
Description=close services before reboot and shutdown
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
#   executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/etc/rc.d/ora_shutdown.sh
[Install]
WantedBy=halt.target reboot.target shutdown.target

systemctl enable stopSrv

修改关机等待时间
vim /etc/systemd/system.conf

DefaultTimeoutStartSec=30s
DefaultTimeoutStopSec=30s

3、授权scott为sysdba

orapwd file=/home/app/oracle/product/11.2.0/dbhome_1/dbs/orapwsales password=oracle entries=20


SQL> ho ls $ORACLE_HOME/dbs/orapw*
SQL> grant sysdba to scott;
SQL> commit;

Part 4 相关命令

lsnrctl status				监听状态
lsnrctl start				启动监听
lsnrctl stop				停止监听

systemctl status firewalld 				防火墙状态
systemctl stop firewalld				关闭防火墙
systemctl disable firewalld.service		禁用防火墙

userdel yssyo				删除用户
rm -r 						删除用户目录

sqlplus /nolog				登录sqlplus
connect /as sysdba			链接oracle
exit						退出sqlplus

startup nomount 			初始化实例
startup mount 				初始化实例并加载到库
startup						初始化实例并加载到库同时打开数据库
startup restrict 			仅允许一名DBA用户登录数据库进行数据维护

shutdown normal 			正常关闭数据库 	等待全部用户退出后关闭  		常用简写 shutdown
shutdown immediate			快速关闭数据库 	中断用户连接未提交事务回滚  	常用的一种方式
shutdown transactional 		计划关闭数据库 	等待活动的事务完毕后关闭 		常用于计划任务 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值