IT俱乐部 Oracle 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

2) /

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

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

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

3) 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

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

到此这篇关于Oracle数据库、监听器的启动、关闭流程的文章就介绍到这了,更多相关Oracle监听器启动、关闭内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/database/oracle/18062.html
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部