一、启动几种方法:
1、
sqlplus /nolog
connect /as sysdba
startup
2、
sqlplus /nolog
connect /as sysdba
startup nomount
alter database mount
alter database open
在以上两种方法中,1方法中的startup相当于2方法中的
startup nomount
alter database mount
alter database open
三个命令
3、
$ORACLE_HOME/bin/dbstart
先启动数据库再启动监听
$ORACLE_HOME/bin/lsnrctl
二、停止:
先停止监听再停止数据库
$ORACLE_HOME/bin/lsnrctl stop
1、
sqlplus /nolog
connect /as sysdba
shutdown immediate
2、
$ORACLE_HOME/bin/dbshut
三、startup的几个选项
1、nomount只启动实例,不安装和打开数据库
2、mount启动实例、安装数据库但不打开数据库,此参数用于修改数据库的运行模式或进行数据库恢复,如:
alter database archivelog;
alter database open;
archive log list
以上命令可以更改数据库的归档模式
3、read only只读属性
4、read write读写属性
5、open打开数据库
6、restrict表示数据库以受限制方式打开
7、pfile选项,用于参数文件破坏,或者另外指定参数文件,如:
startup pfile=/u01/user/proddb.ora
force以强制方式启动数据库,可以用于重新启动数据库
以上参数可以联合使用
四、数据库在启动过程中失败的几中恢复方法
1、数据库实例启动失败
1.1数据库实例定义错误
connect internal
select name from v$database;
show sga
执行以上两条语句会报如下错误:
ORA-01034:ORACLE not available
这是由于数据库实例与实际不相符造成的,重新定义数据库实例即可
$ORACLE_SID=ora8i
$export ORACLE_SID
1.2参数文件错误
startup
ORA-03113:end-or-file on communication channel
重新修改参数文件,或者重新指定一个
2、数据库安装失败
ORA-00205:error in identifying controlfile,check alert log for more info
这是控制文件出错
重新建立一个控制文件
3、数据库打开失败
3.1数据文件破坏
ORA-01110:data file 11:'u01/app/oracle/oradata/ora8i/acc01.dbf'
这是数据文件损坏的错误
如果数据库运行在noarchivelog模式下
alter database 'u01/app/oracle/oradata/ora8i/acc01.dbf' offline drop;
alter database open;
这时数据库可以运行,但损坏的数据文件永远也不能恢复
如果是运行在archivelog模式下
alter database 'u01/app/oracle/oradata/ora8i/acc01.dbf' offline;
alter database open;
这时候数据库可以正常使用,而且损坏的数据文件也恢复了
3.2日志文件破坏
ORA-00312:inline log 4 thread 1:'u01/app/oracle/oradata/ora8i/log4a.log'
这是第四组的第一个日志文件出错了
删除已经损坏的日志文件组
alter database drop logfile group 4;
增加新的日志文件组
alter database add logfile group 4
('/u01/app/oracle/oradata/ora8i/log4a.log','/u01/app/oracle/oradata/ora8i/log4b.log') size 100m;
打开数据库
alter database open;
此外可以用dbv命令检测数据库文件是否损坏
dbv help=y