一、启动几种方法: 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 start 二、停止: 先停止监听再停止数据库 $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=orcl $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 ==================================================== 启动数据库的同时也就创建了一个数据库的实例,并且可以选择数据库启动的状态。通常可以通过装载和打开数据库来启动实例。这样任何一个有效的用户都能连接到该实例并执行典型的数据访问操作,但是还可以选择另外的方法。这一节也将讨论这些内容 1.启动数据库的方法1. 使用SQL*Plus:可以先使用SQL*Plus 连接到具有管理员权限的Oracle 然后再发布STARTUP 命令 2.使用Recovery Manager:使用Recovery Manager RMAN 来执行STARTUP 和SHUTDOWN 命令 3. 使用Oracle Enterprise Manager 4. 使用DGMGRL.exe命令行数据库管理程序 (help查看所有命令) 2.使用SQL*Plus 启动数据库 1.作为SYSDBA 连接到Oracle:CONNECT username/password AS SYSDBA。 2.启动的初始化参数文件 使用STARTUP 命令来启动数据库实例要启动实例,Oracle 必须从服务器参数文件或传统的文本初始化参数文件中读取实例配置参数初始化参数。当发布不带PFILE 子句的STARTUP 命令时Oracle 将从平台指定的默认位置上的服务器参数文件SPFILE 中读取初始化参数。 对于UNIX 平台为服务器参数文件或文本初始化参数文件指定的默认位置目录是$ORACLE_HOME/dbs 对于Windows NT 和Windows 2000 其位置是%ORACLE_HOME%\database 在平台指定的默认位置上Oracle 通过检查文件名按照如下次序放置初始化参数文件 spfile$ORACLE_SID.ora spfile.ora init$ORACLE_SID.ora 通过使用STARTUP 命令的PFILE 子句命令,Oracle 从传统的文本初始化参数文件中读取初始化参数例如: STARTUP PFILE = F:\oracle\ora92\database\INIToradb.ORA 从服务器参数文件创建初始化参数文件的语句如下: connect system/system as sysdba; create pfile from spfile; 3.启动实例可以采取不同的模式 启动没有装载数据库的实例 这种模式不允许访问数据库,并且通常只适用于数据库创建或控制文件的重新创建的情况。 启动实例并装载数据库,但是保持数据库关闭状态 这种模式适用于某些DBA 的动作,但是不允许对数据库的一般的访问动作。 启动实例,装载并打开数据库 这种模式可以在不受限制的方式下使用,允许所有用户访问,或者在受限制的方式下使用只允许数据库管理员访问。 (责任编辑:admin) |