Oracle数据库、监听器的启动、关闭流程

目录

一.关闭Oracle数据库服务

第一步:切换到Oracle用户

第二步:登录Oracle数据库

第三步:查看数据库当前状态

第四步:关闭数据库

第五步:退出Oracle数据库

第六步:关闭监听(可选)

1.查看监听状态

2.关闭监听

二.打开Oracle数据库服务

第一步:切换到Oracle用户

第二步:打开监听

1.查看监听状态

2.打开监听

第三步:登录Oracle数据库

第四步:查看数据库当前状态

第五步:打开数据库

第六步:退出Oracle数据库

第七步:查看DBeaver是否可以连接这台服务器的Oracle数据库服务

三.详解:启停流程

1.打开Oracle数据库

2.关闭Oracle数据库

四.详解:监听有什么用?和Oracle数据库服务有什么关系?


一.关闭Oracle数据库服务

第一步:切换到Oracle用户

su - oracle

思考:为何Oracle数据库服务已经部署在服务器的前提下,一定能保证oracle用户存在?

答案:在一个已部署Oracle数据库的服务器上,oracle用户必然存在,因为:

  • 安全要求 :禁止用root运行数据库,必须用专用低权限用户(oracle)来隔离风险。

  • 权限管理 :所有Oracle文件的所有者必须是oracle用户,以此控制访问权限。

  • 强制规定 :Oracle安装程序禁止root执行,硬性要求必须提前创建好该用户。

  • 运行需要 :数据库进程需以oracle身份运行,且需要为其单独配置系统资源限制。

第二步:登录Oracle数据库

sqlplus / as sysdba

解读:

  1. sqlplus
  • Oracle提供的命令行工具,用于执行SQL语句和管理数据库

  • 类似于MySQL的mysql命令或PostgreSQL的psql

  1. /
  • 表示使用操作系统认证(OS Authentication)

  • 不需要输入用户名和密码

  • 语法格式:username/password → 如果使用/则代表"当前操作系统用户"

  1. as sysdba
  • 指定以SYSDBA(系统管理员)角色连接

  • SYSDBA拥有最高权限,可以:

    • 启动/关闭数据库(STARTUP/SHUTDOWN)

    • 创建/删除数据库

    • 管理归档模式

    • 执行不完全恢复

    • 管理用户权限

第三步:查看数据库当前状态

select status from v$instance;

可见此时Oracle数据库服务处于打开状态,符合我们的预期。

第四步:关闭数据库

shutdown immediate

再次查看数据库状态

select status from v$instance;

查看其他电脑能否连接该服务器的oracle数据库服务:

第五步:退出Oracle数据库

exit

第六步:关闭监听(可选)

1.查看监听状态

lsnrctl status

2.关闭监听

lsnrctl stop

在用DBeaver连接一下,看看效果:

二.打开Oracle数据库服务

第一步:切换到Oracle用户

su - oracle

第二步:打开监听

1.查看监听状态

lsnrctl status

可见此时监听器是关闭的,我们此时要把监听打开。

2.打开监听

lsnrctl start

第三步:登录Oracle数据库

sqlplus / as sysdba

第四步:查看数据库当前状态

select status from v$instance;

可见此时Oracle数据库不可用,说明状态是关闭的,我们此时要把它打开。

第五步:打开数据库

startup

解读:

startup 命令 = 启动实例 + 挂载数据库 + 打开数据库

↓ ↓ ↓ ↓

执行结果 内存分配 读取控制文件 打开数据文件

startup执行步骤 输出显示的内容 含义
1. 启动实例 ORACLE instance started. 启动后台进程,分配内存结构
2. 分配内存 Total System Global Area... Fixed Size... Variable Size... Database Buffers... Redo Buffers... SGA各部分内存详细分配情况
3. 挂载数据库 Database mounted. 读取控制文件,找到数据文件位置
4. 打开数据库 Database opened. 打开所有数据文件和重做日志文件

再次查看数据库状态

select status from v$instance;

第六步:退出Oracle数据库

exit

第七步:查看DBeaver是否可以连接这台服务器的Oracle数据库服务

三.详解:启停流程

1.打开Oracle数据库

打开流程:执行startup命令,打开Oracle数据库。


上图就完全对应下图的三个阶段:启动实例、挂载数据库、打开数据库。

补充(可看可不看,多了解了解也没坏处):

  • NoMount:实例启动,但不挂载数据库(尚未与数据库关联)
  • Mount:实例已启动,并通过读取其控制文件与数据库关联(该数据库对用户关闭)。
  • Open:实例已启动,并与一个打开的数据库关联。数据文件中包含的数据可供授权用户访问。

2.关闭Oracle数据库

关闭流程:执行shutdown immediate命令,关闭Oracle数据库。


上图就完全对应下图的三个阶段:关闭数据库、取消挂载数据库、关闭实例。

说白了就是打开数据库的逆过程,没啥难理解的。

四.详解:监听有什么用?和Oracle数据库服务有什么关系?

监听器是Oracle数据库的"网络门卫"和"总机接线员"。

方面 监听器 数据库 关系
启动顺序 先启动 后启动 数据库启动后自动向监听器注册
关闭顺序 后关闭 先关闭 数据库关闭时通知监听器下线
依赖关系 不依赖数据库 依赖监听器 没监听器=无法远程连接
运行状态 可独立运行 可独立运行 但没监听器只能本地访问

简单记忆

  • 没监听器 :只能本地连接(sqlplus / as sysdba

  • 有监听器 :可以远程连接(sqlplus user/pass@ip:port/service

  • 监听器挂了:新远程连接失败,已连接的继续工作

相关推荐
爱考证的小刘24 天前
Oracle OCP、MySQL OCP数据库证书怎么选?
mysql·oracle·oracle数据库·oracle认证·mysql自学·mysql题库·oracle学习
爱考证的小刘2 个月前
MySQL/Oracle OCP认证怎么验证证书?
mysql·mysql数据库·数据库mysql·oracle数据库·oracle认证·mysql自学·mysql题库
爱考证的小刘4 个月前
MySQL OCP认证和Oracle OCP认证分别是什么?
mysql·mysql数据库·数据库mysql·oracle数据库·oracle19c·oracle认证·mysql自学
小白考证进阶中4 个月前
11天考完OCP认证【082+083科目】,已顺利拿证
dba·数据库管理·ocp认证·oracle数据库·oracle认证·ocp报名·ocp认证题库
爱考证的小刘4 个月前
MySQL OCP认证、Oracle OCP认证
mysql·oracle·oracle数据库·oracle认证·mysql自学·mysql题库·oracle学习
小袁搬码9 个月前
PL/SQLDeveloper中数值类型字段查询后显示为科学计数法的处理方式
oracle·oracle数据库·pl.sqldeveloper
鸿·蒙1 年前
《Oracle DBA入门实战:十大高频问题详解与避坑指南》
学习笔记·数据库管理·oracle数据库·dba入门·it技术干货
予安灵1 年前
Vue.js 的计算属性和侦听器:提升数据处理与交互的关键工具
前端·javascript·vue.js·前端框架·计算属性·监听器
阿小木的愤怒1 年前
Spring监听器Listener
java·spring·监听器·spring监听器