启动数据库
oracle数据库的启动是分步骤进行的,其中涉及到实例的启动,数据库的加载和打开。
数据库启动到特殊状况:受限状态、只读状态、静默状态、挂起状态等。
在数据库能够被用户连接使用之前,必须先以一个具有SYSDBA权限的用户连接到oracle,通过startup语句启动数据库。
实例instance是oracle用来管理数据库的一个实体,由位于服务器中的内存结构和一系列进程组成。
启动数据库时将在内存中创建与该数据库对应的实例。
一个实例只能访问一个数据库,但一个数据库可以由多个实例同时访问(RAC)。
数据库启动的3个步骤:
1、创建并启动与数据库对应的实例。为实例分配SGA和后台进程。这个过程需要用到初始化参数文件。
2、加载数据库。实例打开数据库的控制文件,从控制文件中获取到数据库的名称,数据文件的名称和位置等一系列关于数据库物理结构的信息。这个过程需要用到控制文件。
3、打开数据库。实例检查并打开所有处于联机状态的数据文件和重做日志文件。
4、以上三步没有问题的话,数据库将处于正常打开运行状态,普通用户可以访问数据库。
DBA需要根据不同的情况决定以不同的方式启动数据库,还需要在各种启动状态之间进行切换。
启动数据库的工具:1、sql*plus 2、OEM 3、RMAN
1、以不连接数据库的方式启动sql*plus SQL>sqlplus /nolog
2、使用SYSDBA的身份连接数据库 SQL>connect / as sysdba
3、打开数据库 SQL>startup
初始化参数文件: PFILE 和 SPFILE
startup nomount状态:读取初始化参数文件、启动实例,不加载数据库。用于维护工作(重建控制文件,创建新数据库等)
startup mount状态:启动实例加载数据库,但不打开数据库。(重命名数据文件,添加删除重命名日志文件,执行数据库完全恢复操作,改变数据库的归档模式等)
startup open状态:打开数据库。
转换模式:
在数据库的各种启动模式之间切换需要使用alert database mount|nomount|open语句。
数据库的受限状态:在数据库open状态下,用startup restrict命令设置数据库为受限。(执行数据的导入和导出,数据库的迁移和升级,SQL*loader提取外部数据,拒绝普通用户访问数据库等维护工作),
alter system disable restricted session 切换到受限
alter system enable restricted session 切换到非受限
数据库的只读状态:数据库只提供查询,不能对数据库对象进行修改。
alter database open read only;
alter database open read write;
强行启动数据库:startup force;
-------------------------------------------
关闭数据库
关闭数据库---卸载数据库---终止实例
正常关闭: SQL>shutdown normal 阻止新的连接和新的事务、等待当前所有正在连接的用户主动退出。关闭数据库。
立即关闭: SQL>shutdown immediate 阻止新的连接和新的事务,未提交的事务被回退,不等用户主动退出就直接关闭卸载数据库,终止实例。下次启动数据库需要恢复。
事务关闭: SQL>shutdown transactional 阻止新的连接和新的事务,等待未提交的事务提交完,关闭数据库。下次启动数据库不需要恢复工作。
终止关闭: SQL>shutdown abort 阻止所有新的连接,立即终止当前SQL语句,未提交的事务不被回退,立即关闭数据库。下次启动需要做恢复工作。
数据库静默状态的特点:在静默状态下,只有SYS权限的用户能够在数据库中执行查询,更新,运行PL/SQL等操作。其他人的操作都会被禁止。
alter system quiesce restricted; 设置静默
alter system unquiesce ; 退出静默 所有之前被暂停的会话和挂起的SQL语句将继续执行。
SQL> select active_state from v$instance;
数据库挂起状态:所有物理文件的I/O操作都被暂停。此时可以进行复制文件、分离硬盘镜像等操作。
SQL>alter system suspend; 挂起
SQL>alter system resume; 从挂起恢复正常
SQL> select database_status from v$instance;
使用OEM管理工具管理数据库的启动和关闭。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30352966/viewspace-1736083/
,如需转载,请注明出处,否则将追究法律责任。