Oracle 数据库的打开与关闭

开启数据库

打开的oracle 数据库三个阶段,nomount启动数据库实例,未加载数据库状态;mount启动数据库实例并加载数据库;open状态,打开数据库。

 

Nomout状态: 从参数文件中启动实例,但并没有加载打开数据库。所以,在此状态下,能够查看/修改参数文件的内容。重新创建控制文件。

Mount状态: 从控制文件中读取信息,使数据库实例处于启动状态,但并没有打开数据库。此时,我没可以查看数据库的数据文件,在线重做日志文件,表空间等信息,可以对相关信息进行修改操作,但不能操作数据库的对象进行操作,例如表与视图。

open状态:数据库可以被使用。可以查看/修改参数文件,查看控制文件信息;查看/修改数据库的数据文件,在线重做日志文件,表空间等信息;同时能够对数据库中的对象表进行各种操作。


 

开启数据库,有许多种方式,你可以使用sql plus,RMAN,Oracle企业管理器等等。sqlplus 会话开启,执行命令startup。对于windows系统,操作如下

 

*******************************************************************************

C:\Users\Administrator>setoracle_sid=testdb

 

C:\Users\Administrator>sqlplus / assysdba

 

SQL*Plus: Release 11.2.0.3.0 Production onFri Oct 7 17:20:37 2016

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ORACLE instance started.

 

Total System Global Area 1286066176 bytes

Fixed Size                  2254864 bytes

Variable Size             889194480 bytes

Database Buffers          385875968 bytes

Redo Buffers                8740864 bytes

Database mounted.

Database opened.

SQL>

*******************************************************************************

 

 

启动时指定参数文件

启动实例时,数据库需要从参数文件(spfile)或者文本配置文件读取实例配置参数。对于windows操作系统来说,参数文件默认位置为$ORACLE_HOME\DATABASE,参数文件命名为spfile$oracle_SID.ora, 数据库默认设置文本配置文件为init$ORACLE_SID.ora

 

startup pfile =c:\app\Administrator\initetestdb.ora

 

注意:对于指定参数文件方式的启动数据库方式,在参数文件章节集中讲解

1.      开启实例,未加载数据库的过程

        读取参数文件SPFILE->pfile->分配SGA


Startup nomount


******************************************************************************************** 

SQL>startup nomount;

ORACLEinstance started.

 

TotalSystem Global Area  835104768 bytes

FixedSize               2217952 bytes

VariableSize                 629147680 bytes

DatabaseBuffers        197132288 bytes

RedoBuffers                  6606848 bytes

SQL>show parameter SGA;

 

NAME                                         TYPE       VALUE

----------------------------------------------- ------------------------------

lock_sga                           boolean FALSE

pre_page_sga                          boolean FALSE

sga_max_size                          big integer 800M

sga_target                                big integer 0

******************************************************************************************************* 

加载数据库到实例

  当你执行特定的操作,你需要数据库处于mount状态,但不是open 状态,所以你需要改变数据库的状态。

*******************************************************************************

SQL> startup nomount

ORACLE instance started.

 

Total System Global Area 1286066176 bytes

Fixed Size                  2254864 bytes

Variable Size             889194480 bytes

Database Buffers          385875968 bytes

Redo Buffers                8740864 bytes

SQL> select instance_name fromv$instance;

 

INSTANCE_NAME

----------------

testdb

SQL> alter database mount;

 

Database altered.

*******************************************************************

打开数据库

*****************************************************************

SQL> alter database open;

 

Database altered.

***********************************************************************

以只读方式打开,以可读写的方式打开

*************************************************************************

SQL> alter database open read only;

 

Database altered.

 

SQL>

SQL> alter database open read write;

 

Database altered.

 

SQL>

*******************************************************************************

 

关闭数据库

1. shutdown immediate    当准备计划停机或者通过数据库离线方式备份数据库

2. Shutdown transactional  新连接新提交的事务不被允许,提交的事务将完成

*******************************************************************************************

SQL> shutdown transactional

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

********************************************************************************************* 

数据库的静默状态

有时候,为了只能DBA对数据库进行操作,需要执行数据库的静默状态

 

alter system quiesce restricted

SQL> alter system quiesce restricted;

 

System altered.

恢复正常数据库模式为

alter system unquiesce;

SQL> alter system unquiesce;

 

System altered.

 

数据库的中断与恢复

 altersystem suspend   #中断所有的数据文件与控制文件的I/0

 Altersystem resume    # 恢复所有的数据文件与控制文件

你可能感兴趣的:(Oracle基本操作)