一.oracle数据库的启动过程
启动实例(Start the Instance)
- 启动实例:一个Oracle数据库实例由内存结构和后台进程组成,启动实例时会加载这些内存结构和启动进程。实例是数据库的一个运行时环境,它包含了数据库的控制文件、数据文件、日志文件等。
sqlplus / as sysdba # 以sysdba权限登录到数据库
startup nomount; # 启动数据库实例,但不打开数据库
-
sqlplus
sqlplus
是 Oracle 提供的一个命令行工具
-
/
- 使用当前操作系统身份进行连接
username/password
:通过显式提供用户名和密码来连接数据库,而不使用操作系统的身份。/nolog
:先登录到sqlplus
客户端而不立即连接到数据库。
-
as sysdba
- 使用
SYSDBA
角色进行连接,即以具有数据库最高权限的身份进行连接
- 使用
挂载数据库(Mount the Database)
-
挂载数据库:在实例启动之后,Oracle会挂载数据库,也就是把控制文件和数据文件加载到实例中。
-
命令:
startup mount; # 启动实例并挂载数据库
打开数据库(Open the Database)
-
打开数据库:数据库打开是启动的最后一步,数据文件会被挂载并开放给应用程序使用。所有的表空间、数据文件和日志文件都会被完全加载,数据库变得可用。
-
命令:
startup open; # 完全启动数据库
简化过程
sqlplus / as sysdba
startup ;
二.oracle数据库的关闭过程
正常关闭(Normal Shutdown)
-
正常关闭(Normal Shutdown):此时数据库会等待所有当前连接的会话完成操作后再关闭,确保数据一致性。数据库会执行日志切换、缓冲区的刷新等操作。
-
命令:
shutdown normal; # 正常关闭数据库
立即关闭(Immediate Shutdown)
-
立即关闭:在立即关闭模式下,数据库不会等待所有会话完成,而是强制终止会话并关闭数据库。所有未提交的事务会回滚。
-
命令:
shutdown immediate; # 强制立即关闭
挂起关闭(Abort Shutdown)
-
挂起关闭:此时数据库会被强制终止,没有任何清理工作,因此不推荐常规使用。数据库的后台进程会被立即停止,数据库可能进入不一致的状态。
-
命令:
shutdown abort; # 强制挂起关闭
简化过程
shutdown;