Linux下Oracle的启动登陆命令、单实例启动、多实例启动
2023-09-11 14:21:21 时间
前言
环境:Centos7.9 Oracle12.1.0.2.0
启动Oracle
[oracle@oracle ~]$ echo $ORACLE_SID #查看当前的数据库实例名
[oracle@oracle ~]$ sqlplus / as sysdba; #登录数据库软件,还可以sqlplus /nolog 登录后connect sys/123456 as sysdba;
SQL> show user;
USER is "SYS" #说明上述的登录直接就是sys用户了
SQL> startup; #启动实例并挂载数据库,缺省值为open
查看oracler软件有多少个数据库/实例
一般的,我们可以通过查看 /u01/app/oracle/oradata/
下有多少个数据库文件或者查看监听文件,看下监听文件监听了多少个数据库,我们就能大概判断当前Oracle安装了多少个数据库,如下:
[oracle@oracle ~]$cd /u01/app/oracle/oradata/
[oracle@oracle oradata]$ ll
drwxr-x--- 5 oracle oinstall 58 Aug 1 18:46 DEP
drwxr-x--- 2 oracle oinstall 201 Jul 17 15:50 orcl
[oracle@oracle oradata]$
[oracle@oracle ~]$ cat /u01/app/oracle/product/12.1.0.2/db_1/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.1.0.2/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEP = #真的建立了监听
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dep)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
启动默认的orcl数据库(单实例)
[root@oracle ~]$ su - oracle #先切换为Oracle用户,因为只有Oracle用户才对Oracle软件具有完全使用权
[oracle@oracle ~]$ echo $ORACLE_SID #查看当前的默认启动的实例是什么
orcl
[oracle@oracle ~]$ lsnrctl start #启动监听服务
[oracle@oracle ~]$ sqlplus / as sysdba #登录Oracle软件,会连接到一个空的实例,因为数据库还没挂载呢
SQL> startup; #启动实例,挂载默认orcl数据库
ORACLE instance started.
Total System Global Area 1560281088 bytes
Fixed Size 2924784 bytes
Variable Size 989859600 bytes
Database Buffers 553648128 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SQL> select instance_name from v$instance; #查看当前的实例,输出显示为orcl
orcl
SQL> exit;
[oracle@oracle ~]$ lsnrctl status #查看监听状态,发现监听服务已经在监听orcl数据库了
设置单实例数据库开机自启动(单实例开机自启)
1、将/u01/app/oracle/product/11.2.0.4/db_1/bin/dbstart文件中的ORACLE_HOME_LISTNER=$1修改成ORACLE_HOME_LISTNER=$ORACLE_HOME,前提必须是$ORACLE_HOME环境设置正确
2、修改/etc/oratab文件
vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0.4/db_1:Y #找到这行并将最后的N改为Y即可报存退出
3、编写自启动脚本
vim /u01/start_orcl.sh
#!/bin/bash
su - oracle
export ORACLE_SID=orcl
sqlplus / as sysdba <<EOF
startup;
quit;
EOF
chmod +x /u01/start_orcl.sh
4、在/etc/rc.d/rc.local文件添加3条语句(路径要正确):
su oracle -lc "/u01/app/oracle/product/11.2.0.4/db_1/bin/lsnrctl start"
su oracle -lc /u01/app/oracle/product/11.2.0.4/db_1/bin/dbstart
bash /u01/start_orcl.sh 2>>&1/u01/start_orcl.log
5、chmod +x /etc/rc.d/rc.local
6、重启Linux,执行命令lsnrctl status查看监听状态,如果数据库正在被监听则说明以上设置成功,Oracle自启动成功
启动另外一个dep数据库(多实例)
[oracle@oracle ~]$ export ORACLE_SID=dep #切换实例,启动dep数据库
[oracle@oracle ~]$ sqlplus / as sysdba; #登录Oracle软件,会连接到一个空的实例,因为数据库还没挂载呢
SQL*Plus: Release 12.1.0.2.0 Production on Sun Aug 1 23:31:30 2021
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance. #连接到一个空的实例
SQL> startup; #启动实例并挂载dep数据库
ORACLE instance started.
Total System Global Area 1593835520 bytes
Fixed Size 2924880 bytes
Variable Size 1023413936 bytes
Database Buffers 553648128 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SQL> select instance_name from v$instance; #查看当前的实例,输出显示为dep
SQL>exit;
[oracle@oracle ~]$ lsnrctl status #查看监听状态,发现监听服务已经在监听orcl数据库和dep数据库了
## sys登录数据库
多实例启动完了,我们就来登录数据库,如下:
[oracle@oracle ~]$ sqlplus sys/manager001@127.0.0.1:1521/dep as sysdba #使用sys用户登录orcl数据库,登录成功
SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 2 23:20:21 2021
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
[oracle@oracle ~]$ sqlplus sys/123456@127.0.0.1:1521/dep as sysdba #使用sys用户登录dep数据库,登录成功
SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 2 23:20:21 2021
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL>
以上的sys用户密码是不相同的,这就是说明每一个数据库都有一个自己的sys用户。
相关文章
- Linux搭建单机多进程zookeeper集群
- Linux中error while loading shared libraries错误解决办法
- Oracle数据库:创建和删除视图view,简单和复杂视图,内建视图,topN分析,oracle分页查询
- Oracle数据库:oracle组函数,聚合函数,多行函数,avg,sum,min,max,count,group by,having
- Linux管理常见错误的解决方法
- Linux mkdir、tar 和 kill 命令的 4 个有用小技巧
- Linux小结2
- 用navicat访问linux数据库,成功实现Navicat访问Linux中安装的MySQL数据库
- 解决Kali Linux XFCE桌面Tab无法补全
- Linux常用命令思维导图超全总结
- arm-linux-gcc 的使用
- Linux应用开发(十八)——U-Boot的启动过程源码分析
- 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件
- Linux下启动/关闭Oracle
- 《Oracle高性能自动化运维》一一1.1 Linux简介
- 《Oracle高性能自动化运维》一一1.4 Linux内存体系与Oracle内存空间
- 【YApi接口管理平台】在Linux上使用Docker搭建YApi (亲测完美运行)
- 所有Linux发行版仍未修复严重的GNU wget漏洞
- Linux 如何将linux主机变为路由器&&iptables的基本用法
- Oracle学习.Windows 命令行 启动ORACLE服务与实例
- 查询红帽linux/Oracle Linux的发行版本的方法
- Linux 光驱挂载问题
- 【正点原子MP157连载】第三十九章 LCD驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
- Linux学习笔记(19)linux定时任务(crontab)
- Linux学习笔记(13)linux软件安装rpm与yum--理论篇
- Linux下Oracle新建一个数据库、启动多实例数据库
- Linux - System Image and Process Image