安装oracle 开机启动,Linux下安装Oracle 12c ( 含systemctl 开机自动启动oracle)

创建一个名为oracle的用户

把下载后的zip文件解压

我的路径是/home/oracle/database

这个路径下有一个叫做runInstaller的可执行文件,直接运行它,注意你需要使用oracle直接登录进ui界面,用su oracle切换过来调用任何图形界面都会报错

当然网上也有其他解决方案,不过我觉得还是直接用oracle登录进图形界面最简单

然后一步一步照着填就可以,安装过程中有两个脚本需要使用root权限调用,然后点击ok

创建用户名称的时候12c需要以C##开头, 原因是现在多了一个plugable DB的概念,具体还不太清楚,反正instance跟数据库由一对多变成多对多了

默认会安装在/home/oracle/app/oracle/product/12.2.0/dbhome_1 , 需要的其他命令比如要创建数据库的管理工具都在这个目录的bin目录下 (./dbca)

0d390c8e77f8d6d26a6994b16ad5189a.png

启动步骤(第一次安装的话会自动启动)

$ lsnrctl start

打开监听

$ sqlplus /nolog

进入sql命令行

SQL> conn /as sysdba

切换权限

SQL> startup

启动数据库

SQL> shutdown immediate

停止数据库

实际上还有更简单的方法

/home/oracle/app/oracle/product/12.2.0/dbhome_2/bin/dbstart $ORACLE_HOME 2>&1 &

/home/oracle/app/oracle/product/12.2.0/dbhome_2/bin/dbshut $ORACLE_HOME 2>&1 &

不指定ORACLE_SID的话会出现下面的错误

SQL> conn /as sysdba

ERROR:

ORA-12162: TNS:net service name is incorrectly specified

不指定ORACLE_HOME的话会出现

Message 1070 not found; No message file for product=network, facility=TNSTNSLSNR for Linux: Version

下面设置开机自动启动oracle

vi /etc/oratab

把最下面要启动的实例设置成Y

orcl:/home/oracle/app/oracle/product/12.2.0/dbhome_1:Y

一点补充知识

Linux启动时,会运行一个init程序,然后由init来启动后面的任务,包括多用户环境(inittab中设定)和网络等。运行级就是当前程序运行的功能级别,这个级别从1到6,具有不同的功能。这些级别在/etc/inittab(其他发行版这个文件位置不同)中指定,该文件就是init程序寻找的主要文件。最先运行的服务放在/etc/rc.d目录下。

文件以S开头,代表start(启动),后面的数字是启动顺序;文件以K开头,代表kill(结束),同样,后面的数字代表结束顺序。例如:/etc/rc3.d/S55sshd表示它与运行级别3有关,55就是它的启动顺序;/etc/rc3.d/K15nginx表示它与运行级别3有关,15就是它的关闭顺序。

init.d

这个目录中存放了一些服务启动脚本,系统安装时的多个rpm包,这些脚本在执行时可以用来启动,停止和重启这些服务。

rcx.d(x为0~6)

这个目录是启动级别的执行程序链接目录,里面的文件都是指向init.d目录中文件的一些软连接

然后如果你按照网上大多数网友做的, 实际上是centos6之前使用service命令时的旧方法

直接修改/etc/rc.d/rc.local

加入 /home/oracle/app/oracle/product/12.2.0/dbhome_2/bin/dbstart $ORACLE_HOME  2>&1

这个文件实际上是为了兼容旧系统

服务是由systemctl enable rc-local.service提供的,所以如果你采用这种方式需要确认好rc-local服务是否正常

使用systemctl命令其实更方便,但是好多朋友好像不太喜欢这种方式,网上没有例子,所以自己做了一个

[root@localhost system]# cat /usr/lib/systemd/system/oracle.service

[Unit]

Description=Oracle Database 12c Startup/Shutdown Service

After=syslog.target network.target

[Service]

LimitMEMLOCK=infinity

LimitNOFILE=65535

Type=oneshot

RemainAfterExit=yes

User=oracle

Environment="ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/dbhome_2"

ExecStart=/home/oracle/app/oracle/product/12.2.0/dbhome_2/bin/dbstart $ORACLE_HOME >> 2>&1 &

ExecStop=/home/oracle/app/oracle/product/12.2.0/dbhome_2/bin/dbshut $ORACLE_HOME 2>&1 &

[Install]

WantedBy=multi-user.target

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值