oracle学习笔记-数据库启动
要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆。
一、连接数据库
sqlplus " / as sysdba"
或者
sqlplus /nolog
二、启动数据库
启动一个数据库需要三个步骤:
1、 创建一个Oracle实例(非安装阶段)
2、 由实例安装数据库(安装阶段)
3、 打开数据库(打开阶段)
startup 参数介绍:
参数: NOMOUNT,MOUNT,OPEN,FORCE,RESTRICT
NOMOUNT选项表示数据库启动时,只启动实例,不安装数据库,不打开数据库。
此选项用于数据库的控制文件全部损坏,需要重新创建数据库控制文件或创建一个新的数据库时试用。
MOUNT选项表示数据库启动时完成的操作是:启动数据库实例,安装数据库,但不打开数据库。
此选项用于修改数据库的运行方式或进行数据库修复。
OPEN选项表示数据库启动时完成的操作是:启动数据库实例,安装数据库, 打开数据库,这是数据库默认启动选项。
FORCE选项表示以强制方式启动数据库。可用于数据库的重新启动。
RESTRICT选项表示数据库以受限方式打开,只有具有RESTRICT SESSION权限的用户可以连接数据库,没有RESTRICT SESSION权限的用户不 能连接数据库
startup 实例介绍
1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
2、startup mount dbname
安装启动,这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件
如:系统表空间或日志文件。
执行“nomount”,然后打开控制文件
3、startup open dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。
4、startup,等于以下三个命令
startup nomount
alter database mount
alter database open
5、startup restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
6、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令
7、startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:\Oracle\admin\oradb\pfile\init.ora
8、startup EXCLUSIVE
三、关闭数据库
shutdown参数介绍
参数: NORMAL,IMMEDIATE,ABORT,TRANSACTIONAL
参数说明:
NORMAL关机方式是正常关机方式,是ORACLE的默认关机方式
IMMEDIATE关机方式是立即关机方式,使用这种方式关闭数据库,系统将连接到数据库的所有用户没有提交的事务全部回退,中断连接,然 后关闭数据库
NORMAL关机方式是异常关机方式,该方式关闭数据库时,系统立即关闭数据库实例
对于连接到数据库的所有数据库不作任何检查,也不作数据库完整性检查。
TRANSACTIONAL关机方式是事务终结后关闭数据库,该关机方式中,数据库必须等待所有用户的事务终结,提交回退。
shutdown 实例介绍
1、SHUTDOWN NORMAL
这是数据库关闭SHUTDOWN命令的确省选项。也就是说如果你发出SHUTDOWN这样的命令,也即是SHUTDOWN NORNAL的意思。
发出该命令后,任何新的连接都将再不允许连接到数据库。在数据库关闭之前,Oracle将等待目前连接的所有用户都从数据库中退出后才开始关闭数据库。采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。但需要注意一点的是,采用这种方式,也许关闭一个数据库需要几天时间,也许更长。
2、SHUTDOWN IMMEDIATE
这是我们常用的一种关闭数据库的方式,想很快地关闭数据库,但又想让数据库干净的关闭,常采用这种方式。
当前正在被Oracle处理的SQL语句立即中断,系统中任何没有提交的事务全部回滚。如果系统中存在一个很长的未提交的事务,采用这种方式关闭数据库也需要一段时间(该事务回滚时间)。系统不等待连接到数据库的所有用户退出系统,强行回滚当前所有的活动事务,然后断开所有的连接用户。
3、SHUTDOWN TRANSACTIONAL
该选项仅在Oracle 8i后才可以使用。该命令常用来计划关闭数据库,它使当前连接到系统且正在活动的事务执行完毕,运行该命令后,任何新的连接和事务都是不允许的。在所有活动的事务完成后,数据库将和SHUTDOWN IMMEDIATE同样的方式关闭数据库。
4、SHUTDOWN ABORT
这是关闭数据库的最后一招,也是在没有任何办法关闭数据库的情况下才不得不采用的方式,一般不要采用。如果下列情况出现时可以考虑采用这种方式关闭数据库。
1、 数据库处于一种非正常工作状态,不能用shutdown normal或者shutdown immediate这样的命令关闭数据库;
2、 需要立即关闭数据库;
3、 在启动数据库实例时遇到问题;
所有正在运行的SQL语句都将立即中止。所有未提交的事务将不回滚。Oracle也不等待目前连接到数据库的用户退出系统。下一次启动数据库时需要实例恢复,因此,下一次启动可能比平时需要更多的时间。
四、监听程序
启动监听程序
lsnrctl start
关闭监听程序
lsnrctl stop