分类: 技术

Oracle数据库的启动与关闭及参数说明

启动oracle数据库:

su - oracle #切换到oracle用户

sqlplus / as sysdba #以超级管理员权限登录

startup #启动数据库实例

quit #退出

lsnrctl start #启动监听

startup参数说明:

有7个参数:nomount、mount、open、force、restrict、recover、pfile=filename

startup #不带任何参数,启动数据库实例并打开数据库,一般选择这种启动方式

startup open #startup缺省的参数就是open,打开数据库,允许数据库的访问。当前实例的控制文件中所描述的所有文件都已经打开。

startup nomount #仅仅通过初始化文件,分配出sga区,启动数据库后台进程,没有打开控制文件和数据文件。不能任何访问数据库。

startup mount #mount数据库,仅仅给dba进行管理操作,不允许数据库的用户访问。仅仅只是当前实例的控制文件被打开,数据文件未打开。

startup pfile = FILENAME #以FILENAME为初始化文件启动数据库,不是采用缺省初始化文件。

startup force #中止当前数据库的运行,并开始重新正常的启动数据库。如果在用正常方式启动数据库时遇到了困难,可以使用STARTUP FORCE选项。STARTUP FORCE选项首先异常关闭数据库,然后重新启动它。
startup restrict #只允许具有restricted session权限的用户访问数据库。在数据库启动时进入受限制状态 当要进行如下操作时,必须将数据库置于受限状态:
A:执行数据导入和导出
B:使用SQL*LOADER 提取外部数据
C:需要暂时拒绝普通用户访问数据库
D:进行数据库移植或者升级操作

startup open recover #数据库启动,并开始介质恢复。如果用户要求介质恢复,可以启动一个实例,装入指向实例的数据库,并自动地启动恢复程序。

关闭oracle数据库

su - oracle #切换到oracle用户

lsnrctl stop #关闭监听器

sqlplus / as sysdba  #以超级管理员权限登录

shutdown immediate #关闭数据库实例

quit #退出
shutdown参数说明:shutdown有四个参数:normal、transactional、immediate、abort。缺省不带任何参数时表示是normal

normal #等待所有的用户断开连接,执行命令后不允许新连接

immediate #等待用户完成当前的语句后,再断开用户连接,不允许新用户连接

transactional #等待用户完成当前的事务后断开连接,不允许新用户连接

abort #强行断开连接并直接关闭数据库

前面三种方法不会导致数据库出错,最后一种方法非特殊状况不建议使用,

对于normal、transactional、immediate,db buffer cache的内容被写入了数据文件,没有提交的事务被回滚,所有的资源被释放,数据库被“干净”的关闭。

对于abort,db buffer cache的内容没有写入数据文件,没有提交的事务也没有回滚。数据库没有DISMOUNT和关闭,数据文件也没有关闭。当数据库启动时,需要通过REDO LOG恢复数据,通过回滚段对事务回滚,对资源进行释放。

一般使用shutdown immediate关闭数据库

备注:如果执行shutdown immediate出现ORA-01012: not logged on错误

请先执行以下语句

ps -ef|grep ora_dbw0_$orcl

kill -9 pid #pid为进程号

其中orcl 是数据库的SID

相关文章

发表新评论