CentOS7下oracle11gR2的安装流程 - Go语言中文社区

CentOS7下oracle11gR2的安装流程


        近两天在CentOS7上安装了oracle,在网上找了一些资料,发现不是很全面,为了方便以后再次安装,所以将此次安装记录下来,如果有不正确的地方,希望指出。

以下参考:CentOS7安装Oracle 11gR2 图文详解_数据库技术_Linux公社-Linux系统门户网站

                   centos安装oracle 11g 完全图解 - 郑文亮 - 博客园

一、环境准备

1.VMware-workstation-full-11.1.0-2496824.exe

2.CentOS-7-x86_64DVD1511.iso

3.linux.x64_11gR2_database_1of2.zip

4.linux.x64_11gR2_database_2of2.zip

二、安装Oracle前的准备工作

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

[sonny@localhost ~]$ su root  #切换到root

Password:

[root@localhost sonny]# groupadd oinstall  #创建用户组oinstall

[root@localhost sonny]# groupadd dba  #创建用户组dba

[root@localhost sonny]# useradd -g oinstall -g dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组

[root@localhost sonny]# passwd oracle  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆

Changing password for user oracle.

New password:   # 密码

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:   # 确认密码

passwd: all authentication tokens updated successfully.

[root@localhost sonny]# id oracle # 查看新建的oracle用户

uid=1001(oracle) gid=1002(dba) groups=1002(dba)

[root@localhost sonny]#

为什么要创建oinstall用户组及dba组? 

参考:在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群,第 2 页

2.创建oracle数据库安装目录

[sonny@localhost ~]$ su root

Password:

[root@localhost sonny]# mkdir -p /data/oracle  #oracle数据库安装目录

[root@localhost sonny]# mkdir -p /data/oraInventory  #oracle数据库配置文件目录

[root@localhost sonny]# mkdir -p /data/database  #oracle数据库软件包解压目录

[root@localhost sonny]# cd /data

[root@localhost data]# ls  #创建完毕检查一下

database  oracle  oraInventory

[root@localhost data]# chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户

[root@localhost data]# chown -R oracle:oinstall /data/oraInventory

[root@localhost data]# chown -R oracle:oinstall /data/database

[root@localhost data]#

3.修改OS系统标识

oracle默认不支持CentOS系统安装,我安装是64位数据库,On Linux x86-64:Red Hat Enterprise Linux 7  (RHEL 7)

另外,CentOS7.0.1511 基于 RHEL7.2  参考:CentOS 7-1511 发布下载_Linux下载_Linux公社-Linux系统门户网站

修改文件 /etc/RedHat-release

[sonny@localhost data]$ su root

Password:

[root@localhost data]# cat /proc/version

Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Thu Nov 19 22:10:57 UTC 2015

[root@localhost data]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

[root@localhost data]# vi /etc/redhat-release

[root@localhost data]# cat /etc/redhat-release

redhat-7

[root@localhost data]#

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

Oracle Database Package Requirements for Linux x86-64 如下:(参考:docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG

操作系统:Oracle Linux 7 and Red Hat Enterprise Linux 7

The following packages (or later versions) must be installed:

在我参考的那篇文章里因为写了具体要安装的具体版本信息,所以我也是那样写的,结果运行时一直出现没有这个命令,后来查了一些东西问了别人,做出修改,如下:

yum install binutils-*.x86_64

yum install compat-libcap1-*.x86_64

yum install gcc-*.x86_64

yum install gcc-c++-*.x86_64

yum install glibc-*.i686

yum install glibc-*.x86_64

yum install glibc-devel-*.i686

yum install glibc-devel-*.x86_64

yum install ksh-*

yum install libaio-*.i686

yum install libaio-*.x86_64

yum install libaio-devel-*.i686

yum install libaio-devel-*.x86_64

yum install libgcc-*.i686

yum install libgcc-*.x86_64

yum install libstdc++-*.i686

yum install libstdc++-*.x86_64

yum install libstdc++-devel-*.i686

yum install libstdc++-devel-*.x86_64

yum install libXi-*.i686

yum install libXi-*.x86_64

yum install libXtst-*.i686

yum install libXtst-*.x86_64

yum install make-*.x86_64

yum install sysstat-*.x86_64

[sonny@localhost data]$ su root

Password:

[root@localhost data]# yum install binutils

对于软件包的安装这里,也有部分文章采用的是rpm而不是yum,yum的好处简单来说:

<1>能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

<2>yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

参考文章:linux yum命令详解 - chuncn - 博客园

                     Linux rpm 命令参数使用详解[介绍和应用] - 小炒花生米 - 博客园

                     rpm命令与yum命令_絮絮落英_新浪博客

5.关闭防火墙 CentOS 7.2默认使用的是firewall作为防火墙

[sonny@localhost /]$ su root

Password:

[root@localhost /]# systemctl status firewalld.service  #查看防火墙状态,运行中

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

Active: active (running) since Thu 2016-04-07 18:54:29 PDT; 2h 20min ago

Main PID: 802 (firewalld)

CGroup: /system.slice/firewalld.service

└─802 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Apr 07 18:54:25 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...

Apr 07 18:54:29 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

[root@localhost /]# systemctl stop firewalld.service  #关闭防火墙

[root@localhost /]# systemctl status firewalld.service  #再次查看防火墙状态,发现已关闭

● firewalld.service - firewalld - dynamic firewall daemon

Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)

Active: inactive (dead) since Thu 2016-04-07 21:15:34 PDT; 9s ago

Main PID: 802 (code=exited, status=0/SUCCESS)

Apr 07 18:54:25 localhost.localdomain systemd[1]: Starting firewalld - dynamic firewall daemon...

Apr 07 18:54:29 localhost.localdomain systemd[1]: Started firewalld - dynamic firewall daemon.

Apr 07 21:15:33 localhost systemd[1]: Stopping firewalld - dynamic firewall daemon...

Apr 07 21:15:34 localhost systemd[1]: Stopped firewalld - dynamic firewall daemon.

[root@localhost /]# systemctl disable firewalld.service  #禁止使用防火墙(重启也是禁止的)

Removed symlink /etc/systemd/system/dbus-org.Fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

[root@localhost /]#

6.关闭selinux(需重启生效)

[root@localhost /]# vi /etc/selinux/config

[root@localhost /]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#    enforcing - SELinux security policy is enforced.

#    permissive - SELinux prints warnings instead of enforcing.

#    disabled - No SELinux policy is loaded.

SELINUX=disabled  #此处修改为disabled

# SELINUXTYPE= can take one of three two values:

#    targeted - Targeted processes are protected,

#    minimum - Modification of targeted policy. Only selected processes are protected.

#    mls - Multi Level Security protection.

SELINUXTYPE=targeted

[root@localhost /]#

7.修改内核参数

加粗斜体部分为添加代码

[sonny@localhost /]$ su root

Password:

 [root@localhost /]# vi /etc/sysctl.conf 

[root@localhost /]# cat /etc/sysctl.conf

cat: /etc/sysct.conf: No such file or directory

[root@localhost /]# cat /etc/sysctl.conf 

# System default settings live in /usr/lib/sysctl.d/00-system.conf.

# To override those settings, enter new settings here, or in an /etc/sysctl.d/.conf file

#

# For more information, see sysctl.conf(5) and sysctl.d(5).

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744 #设置最大打开文件数

fs.aio-max-nr = 1048576

kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024

kernel.shmmax = 2147483648 #最大共享内存的段大小

kernel.shmmni = 4096 #整个系统共享内存端的最大数

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围

net.core.rmem_default = 262144

net.core.rmem_max= 4194304

net.core.wmem_default= 262144

net.core.wmem_max= 1048576

[root@localhost /]#

使配置参数生效

[root@localhost /]# sysctl -p

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

sysctl: setting key "fs.file-max": Invalid argument

fs.file-max = 6815744 #设置最大打开文件数

fs.aio-max-nr = 1048576

sysctl: setting key "kernel.shmall": Invalid argument

kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024

sysctl: setting key "kernel.shmmax": Invalid argument

kernel.shmmax = 2147483648 #最大共享内存的段大小

sysctl: setting key "kernel.shmmni": Invalid argument

kernel.shmmni = 4096 #整个系统共享内存端的最大数

kernel.sem = 250 32000 100 128

sysctl: setting key "net.ipv4.ip_local_port_range": Invalid argument

net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

[root@localhost /]#

注:关于systctl的解释:Sysctl是一个允许改变正在运行中的Linux系统的接口,它包含一些 TCP/IP 堆栈和虚拟内存系统的高级选项。

参考文章:用Sysctl 调整Linux操作系统的性能 - 张善友 - 博客园

8.对oracle用户设置限制,提高软件运行性能(加粗斜体为添加部分)

[sonny@localhost /]$ su root

Password:

[root@localhost /]# vi /etc/security/limits.conf 

[root@localhost /]# cat /etc/security/limits.conf

# /etc/security/limits.conf

#

#This file sets the resource limits for the users logged in via PAM.

#It does not affect resource limits of the system services.

#

#Also note that configuration files in /etc/security/limits.d directory,

#which are read in alphabetical order, override the settings in this

#file in case the domain is the same or more specific.

#That means for example that setting a limit for wildcard domain here

#can be overriden with a wildcard setting in a config file in the

#subdirectory, but a user specific setting here can be overriden only

#with a user specific setting in the subdirectory.

#

#Each line describes a limit for a user in the form:

#

#Where:#can be:

#        - a user name

#        - a group name, with @group syntax

#        - the wildcard *, for default entry

#        - the wildcard %, can be also used with %group syntax,

#                for maxlogin limit##can have the two values:#        - "soft" for enforcing the soft limits

#        - "hard" for enforcing hard limits##can be one of the following:

#        - core - limits the core file size (KB)

#        - data - max data size (KB)

#        - fsize - maximum filesize (KB)

#        - memlock - max locked-in-memory address space (KB)

#        - nofile - max number of open file descriptors

#        - rss - max resident set size (KB)

#        - stack - max stack size (KB)

#        - cpu - max CPU time (MIN)

#        - nproc - max number of processes

#        - as - address space limit (KB)

#        - maxlogins - max number of logins for this user

#        - maxsyslogins - max number of logins on the system

#        - priority - the priority to run user process with

#        - locks - max number of file locks the user can hold

#        - sigpending - max number of pending signals

#        - msgqueue - max memory used by POSIX message queues (bytes)

#        - nice - max nice priority allowed to raise to values: [-20, 19]

#        - rtprio - max realtime priority

#

#*              soft    core            0

#*              hard    rss            10000

#@student        hard    nproc          20

#@faculty        soft    nproc          20

#@faculty        hard    nproc          50

#ftp            hard    nproc          0

#@student        -      maxlogins      4

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

# End of file

[root@localhost /]#

9.配置用户的环境变量(加粗斜体部分为添加代码)

[root@localhost /]# vi /home/oracle/.bash_profile

[root@localhost /]# cat /home/oracle/.bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

export ORACLE_BASE=/data/oracle #oracle数据库安装目录

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径

export ORACLE_SID=orcl #oracle启动数据库实例名

export ORACLE_TERM=xterm #xterm窗口模式安装

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量

export LANG=C #防止安装过程出现乱码

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK  #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题

[root@localhost /]#

使上述配置立即生效:

[oracle@localhost /]$ su root

Password:

[root@localhost /]# source /home/oracle/.bash_profile

[root@localhost /]#

10.上传安装包,我也是用xftp上传的,很好用的工具,将oracle安装包上传到/usr/local/src

11.解压安装包

[oracle@localhost /]$ cd /usr/local/src  #进入/usr/local/src目录

[oracle@localhost src]$ ls

linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip

[oracle@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /data/database/  #解压

(省略...)

[oracle@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /data/database/  #解压

(省略...)

[oracle@localhost src]$ su root

Password:

[root@localhost src]# chown -R oracle:oinstall /data/database/database/

[root@localhost src]#

接下来终于到了oracle的安装啦,小伙伴们,要加油奥。

三、oracle安装

我昨天安装没有截图,可以参考:CentOS7安装Oracle 11gR2 图文详解 第3页_数据库技术_Linux公社-Linux系统门户网站

1.图形界面登陆oracle用户

2.启动oralce安装,到/data/database/database/目录下,执行./runInstaller

这里会出现乱码情况,解决如下:

先执行:export LANG=zh_CN.UTF-8 【中文】      export LANG=en_US.UTF-8 【英文】

再运行:./runInstaller

3.去掉勾,Email可以不用填写,个人使用环境不需要自动接收Oracle的安全更新。

4.下一步,只安装数据库软件,选择install database software only

5.选择单例安装,前面的所有配置均为单例安装。

6.添加语言,选择English(united Kingdom)

7.默认安装版本企业版-Enterprise Edition

8.确定数据软件的安装路径,自动读取前面Oracle环境变量中配置的值,我是默认安装路径。

9.理论上要创建Database Operation(OSOPER)Group:oper ,个人用,可以就使用dba用户组

10.安装检查,按照提示信息一个一个解决。

swap空间不足解决 :(要求2.67G 实际2G)

[root@localhost oracle]# free -m  #查看当前虚拟内存

total        used        free      shared  buff/cache  available

Mem:          1824        1369          93          10        361        250

Swap:          2048          20        2028

[root@localhost oracle]# dd if=/dev/zero of=/home/swap bs=1024 count=1024000  #将当前swap空间由2048M 增加到 3048M 新增一个2014的swap文件

1024000+0 records in

1024000+0 records out

1048576000 bytes (1.0 GB) copied, 29.4051 s, 35.7 MB/s

[root@localhost oracle]# mkswap /home/swap

Setting up swapspace version 1, size = 1023996 KiB

no label, UUID=5e3d39d7-285e-4c74-b321-1e2b3ffabf83

[root@localhost oracle]# free -m

total        used        free      shared  buff/cache  available

Mem:          1824        1275          95          10        454        342

Swap:          2048        141        1907

[root@localhost oracle]# swapon /home/swap  #增加并启用虚拟内容

swapon: /home/swap: insecure permissions 0644, 0600 suggested.

[root@localhost oracle]# free -m  #再次查看

total        used        free      shared  buff/cache  available

Mem:          1824        1275          94          10        454        342

Swap:          3048        141        2907

注:增加swap的时候注意后面是几个零奥,不要写错了,我第一次少写了一个0,后来又增加了一个swap1。

11.一个一个检查package,在准备阶段中漏掉的,此处再安装,有些系统报错是因为现有的包的版本比检测要高,最后忽略即可

12.准备完毕,fuck “Finish”开始安装

13.安装过程是一个漫长的过程,中间有几次卡住,没有出现任何画面,屏幕中间有条小线,尝试多次,发现光标在该线上,右键点击Closed。

注:这里的线是一个消息提示框,可以拉伸开来,查看具体信息。

14.提示安装成功

注:安装过程中(我是第8步,安装路径那里),有时会出现界面卡着一直不动,我就遇到了这种情况,点击关闭什么的都没有反应,没办法只好用kill杀死进程。这里大概遇到了4、5次,最后请教别人才发现,我的空间不够,因为安装了好几次,所以安装日志就有好多,删了前面的那些安装日志,再重新开始运行./runInstaller就可以了。

查看进程号:ps -ef | grep java

杀死进程方法:kill -9 进程号

四、配置监听listener

1.执行netca 报错

[Oracle@localhost ~]$ netca

Oracle Net Services Configuration:

#

# An unexpected error has been detected by HotSpot Virtual Machine:

#

#  SIGSEGV (0xb) at pc=0x00007f69a69fcb9d, pid=8033, tid=140092892297024

#

# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.5.0_17-b03 mixed mode)

# Problematic frame:

# C  [libclntsh.so.11.1+0x62ab9d]  snlinGetAddrInfo+0x1b1

#

# An error report file with more information is saved as hs_err_pid8033.log

#

# If you would like to submit a bug report, please visit:

#  http://java.sun.com/webapps/bugreport/crash.jsp

#

/data/oracle/product/11.2.0/db_1/bin/netca: line 178:  8033 Aborted                (core dumped) $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*

[oracle@localhost ~]$

错误原因:安装操作系统是默认主机名localhost造成错误

解决办法:

[racle]# cat /etc/sysconfig/network

# Created by anaconda

[root@localhost oracle]# vi /etc/sysconfig/network  #增加HOSTNAME

[root@localhost oracle]# cat /etc/sysconfig/network

# Created by anaconda

HOSTNAME=odb-sonny

[root@localhost oracle]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@localhost oracle]# vi /etc/hosts  #增加HOSTNAME

[root@localhost oracle]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4 odb-sonny

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@localhost oracle]# hostname odb-sonny  #执行

[root@localhost oracle]#

最后注销当前oracle用户,重新登陆即可!

五、创建Oracle数据实例Orcl

注意:必须先创建监听,并且监听是启动中,否则报错。

su – oracle #切换到oracle用户

dbca #启动oracle实例安装界面

Next

选择第一项:创建数据库

Next

默认选择第一项:一般用途或事务处理

Next

全局数据库名:orcl

SID:orcl

Next

默认即可,Next

口令配置,可以为每个账户设置不同的口令,也可以为所有账户设置一个相同的口令

选择第二项:所有账户使用同一管理口令

Next

存储类型:文件系统

存储位置:使用模版中的数据库文件位置

Next

默认选择:指定快速恢复区

Next

快速恢复区大小设置,如果系统剩余空间小于设置值会出现上面的提示

Next

默认,Next

切换到调整大小:进程300(可以根据服务器配置设置)

切换到字符集设置

选择第三项:从字符集列表中选择

选择:ZHS16GBK- GBK 16-bit Simplified Chinese

国家字符集:AL16UTF16-Unicode UTF-16 Universal character set

默认语言:Simplified Chinese

默认地区:China

切换到连接模式,选择:专用服务器模式

Next

全部设置完成之后,点Finish

勾选:创建数据库

勾选:生成数据库创建脚本

点Finish

Ok

Ok

Ok

注意:这里如果出现上面的提示,可以等安装完成之后用root账号登录,执行下面两个命令

/data/oracle/product/11.2.0/db_1/root.sh

/data/oraInventory/orainstRoot.sh

生成/etc/oratab文件

正在创建数据库

数据库创建完成,点Exit退出

六、启动oracle数据库

su – oracle #切换到oracle用户

sqlplus /nolog #进入sqlplus

conn / as sysdba #以超级管理员权限登录

startup #启动数据库实例

quit #退出

lsnrctl start #启动监听

startup参数说明:

startup #不带任何参数,启动数据库实例并打开数据库,一般选择这种启动方式

startup nomount #只启动数据库实例,不打开数据库,一般用于创建新的数据库时使用

startup mount #启动数据库实例,并加载数据库,但不打开数据库,一般用于修改数据库名称等管理时使用

七、关闭oracle数据库

su – oracle #切换到oracle用户

lsnrctl stop #关闭监听器

sqlplus /nolog #进入sqlplus

shutdown immediate #关闭数据库实例

quit #退出

注:sqlplus /nolog  /nolog是不登陆到数据库服务器的意思,如果不加 /nolog sqlplus会提示输入用户名和密码。

参考文献:www.360doc.com/content/10/1119/14/2614615_70659801.shtml

shutdown参数说明:

normal #等待所有的用户断开连接,执行命令后不允许新连接

immediate #等待用户完成当前的语句后,再断开用户连接,不允许新用户连接

transactional #等待用户完成当前的事务后断开连接,不允许新用户连接

abort #强行断开连接并直接关闭数据库

前面三种方法不会导致数据库出错,最后一种方法非特殊状况不建议使用,

一般使用shutdown immediate关闭数据库

备注:如果执行shutdown immediate出现ORA-01012: not logged on错误

请先执行以下语句

ps -ef|grep ora_dbw0_$orcl

kill -9 pid #pid为进程号

其中orcl 是数据库的SID

八、设置oracle开机启动

说明:linux下默认安装完Oracle后不会实现开机自启动

1、su – root #切换到root用户操作

/data/oracle/product/11.2.0/db_1/root.sh #执行脚本,生成/etc/oratab文件

/data/oraInventory/orainstRoot.sh

2、vi /etc/oratab  #编辑

找到:$ORACLE_SID:$ORACLE_HOME::

取消前面的#注释,修改为:

orcl:/data/oracle/product/11.2.0/db_1:Y  #orcl为oracle数据库实例名称

:wq! #保存退出

3、vi /data/oracle/product/11.2.0/db_1/bin/dbstart #编辑

找到:ORACLE_HOME_LISTNER=$1

修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

4、vi /data/oracle/product/11.2.0/db_1/bin/dbshut #编辑

找到:ORACLE_HOME_LISTNER=$1

修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

5、创建oracle启动脚本

vi /etc/init.d/oracle #编辑,添加以下代码

##########################################################

#!/bin/sh

# chkconfig: 0356 99 10

# description: Startup Script for Oracle Databases

# Script path:/etc/init.d/oracle

# Author:www.osyunwei.com by qihang01

#

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

ORACLE_SID=orcl

PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

#

ORA_OWNR="oracle"

#

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

#

case "$1" in

start)

su – $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart

echo "Oracle Start Succesful!"

;;

stop)

#

su – $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut

echo "Oracle Stop Succesful!"

;;

restart)

$0 stop

$0 start

;;

*)

echo $"Usage: `basename $0` {start|stop|restart}"

exit 1

esac

exit 0

##########################################################

:wq! #保存退出

chown oracle.oinstall /etc/init.d/oracle #更改文件所有者

chmod 755 /etc/init.d/oracle #添加执行权限

ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle #添加系统启动级别3软连接

ln -s /etc/init.d/oracle /etc/rc5.d/S99oracle #添加系统启动级别5软连接

ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle #添加系统关机软连接

ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle #添加系统重启软连接

chkconfig –add oracle #添加系统服务

chkconfig oracle on #设置开机启动

备注:# chkconfig: 0356 99 10

0356:定义运行级别

99:开机启动优先级(数字越大启动越晚)

10:关机停止优先级(数字越小关闭越早)

6、恢复操作系统标识

vi /etc/redhat-release #编辑

把:redhat-7

修改为:CentOS Linux release 7.2.1511 (Core)

:wq! #保存退出

7、更改系统默认启动级别为3

vi /etc/inittab #编辑

id:3:initdefault: #修改5为3

:wq! #保存退出

8、测试

shutdown -r now #重启系统

service oracle start #启动oracle

service oracle stop #关闭oracle

/etc/init.d/oracle restart #重启oracle

su – oracle #切换到oracle用户

dbstart #启动oracle

dbshut #关闭oracle

ps -ef | grep ora #查看oracle进程

ps -ef | grep LISTEN | grep -v gre #查看oracle端口监听

lsnrctl status #查看oracle运行状态

至此,CentOS下安装Oracle 11g R2完成。

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/57e3e6ad81ef
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-07 21:33:49
  • 阅读 ( 1327 )
  • 分类:Linux

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢