赞
踩
一、ORACLE的启动方式
若要启动例程请使用以下命令
STARTUP [FORCE] [RESTRICT] [PFILE=filename]
[OPEN [RECOVER][database]
|MOUNT
|NOMOUNT]
注:这不是完整的语法。
其中:
OPEN 使用户得以访问数据库
MOUNT 为某些 DBA 活动装载数据库但不允许用户访问数据库
NOMOUNT 创建 SGA 并启动后台进程但不允许访问数据库
PFILE=parfile 允许使用非缺省参数文件配置例程
FORCE 在执行正常启动之前终止运行的例程
RESTRICT 只允许具有 RESTRICTED SESSION 权限的用户访问数据库
RECOVER 在启动数据库时开始介质恢复Alter database Mount
2、将数据库状态由 NOMOUNT 改为 MOUNT:
ALTER DATABASE database MOUNT;
3、将数据库作为只读数据库打开:
ALTER DATABASE database MOUNT;
更改数据库的状态:若要从 STARTUP NOMOUNT 到 MOUNT 阶段或者从 MOUNT 到 OPEN 阶段打开数据库,请使用 ALTER DATABASE 命令:
ALTER DATABASE { MOUNT | OPEN }若要防止数据被用户事务修改,可以以只读模式打开数据库。
若要启动例程,请使用以下命令:
ALTER DATABASE OPEN
[READ WRITE| READ ONLY]其中
READ WRITE 以读写模式打开数据库 允许用户生成重做日志
READ ONLY 将用户限制为只读事务 防止生成重做日志信息
二、ORACLE的关闭方式
关闭数据库
关闭数据库以制作所有物理结构的操作系统脱机备份并修改初始化参数,若要关闭例程使用以下命令:
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]
正常是关闭的缺省方式正常的数据库关闭在下列情况下进行
• 不允许新的连接
• Oracle 服务器等待所有用户断开后才完成关闭
• Oracle 在关闭例程前将关闭并卸装数据库
• 下一次启动时将不要求例程恢复
事务处理关闭防止客户丢失工作事务处理数据库关闭在下列情况下进行
• 没有客户可以在此特定例程上启动新事务
• 当客户结束正在进行的事务时断开客户
• 当所有事务都已完成时会立即关闭
• 下一次启动将不要求例程恢复
立即关闭数据库在下列情况下进行
• 由 Oracle 处理的当前 SQL 语句未完成
• Oracle 服务器不等待当前连接数据库的用户断开
• Oracle 回退活动的事务并断开所有连接的用户
• Oracle 在关闭例程前将关闭并卸装数据库
• 下一次启动将不要求例程恢复
如果正常和立即关闭选项不起作用可以中止当前数据库例程中止例程可以在下列情况下进行
• Oracle 服务器所处理的当前 SQL 语句被立即终止
• Oracle 不等待当前连接数据库的用户断开
• 未提交的事务不回退
• 在不关闭文件的情况下例程被终止
• 下一次启动将要求例程恢复
三、常见问题的处理
本小节主要是指数据库本身没有破坏,由于其他原因导致的启动问题
1)数据文件位置不对,原本在D:\ORACLE,结果把路径修改了等导致的问题。
解决:开始 → 运行 → 键入“sqlplus /nolog”→ connect sys/his as sysdba → 使用带参数的startup:
Startup pfile=filespec
2)安装多个实例,在默认实例启动后,其他实例不跟参数文件直接启动导致的问题
解决:开始 → 运行 → 键入“sqlplus /nolog”→ connect sys/his as sysdba → 使用带参数的startup:
Startup pfile=filespec
3)口令文件导致的启动问题
ORA-01991: 无效的口令文件 ' D:\oracle\product\10.2.0\db_1\database\PWDorcl.ORA'
解决方法:
原因:密码文件丢失或损坏
方法:手工创建密码文件:
orapwd file= D:\oracle\product\10.2.0\db_1\database\pwdorcl.ora password=oracle
4)磁盘空间满了导致ORACLE宕机
进入http://server*:1158/em,表空间管理,根据错误提示将表空间扩展指定到其他的硬盘上。
5)参数文件设置不正确(比如数据缓冲区太大)导致ORACLE不能启动的问题
根据错误提示修改参数文件中对应的参数的值,或者按照管理工具中安装建议进行设置。
6)某一个控制文件损坏导致数据库无法启动的问题
进HIS时提示“oracle正在初如化或关闭”。
进sqlplus
conn sys/his as sysdba
SQL> shutdown
ORA-01507: 未安装数据库
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 63296780 bytes
Fixed Size 70924 bytes
Variable Size 40374272 bytes
Database Buffers 22773760 bytes
Redo Buffers 77824 bytes
ORA-00204: 读控制文件错误(块,#块)
ORA-00202: 控制文件: ' D:\oracle\product\10.2.0\oradata\orcl\CONTROL03.CTL'
ORA-27091: skgfqio: unable to queue I/O
OSD-04006: ReadFile() 失败, 无法读取文件
O/S-Error: (OS 23) 数据错误 (循环冗余检查)。
解决方法:
控制文件CONTROL03.CTL损坏。
关闭oracle数据库,将CONTROL01.CTL拷到另一目录下,更名为CONTROL03.CTL,再拷回原目录,重新启动oracle服务,可正常启动。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。