win2003 怎样重启oracle数据库 - weijiguang/OA GitHub Wiki
win2003 怎样重启oracle数据库
命令行中如下输入关闭数据库 set ORACLE_SID=你的数据库SID名字 sqlplus /nolog
SQL> connect / as sysdba SQL> shutdown immediate SQL> exit
命令行中如下输入启动数据库 set ORACLE_SID=你的数据库SID名字 sqlplus /nolog
SQL> connect / as sysdba SQL> startup SQL> exit
重启之前可设置ORACLE_SID环境变量,以指定重启的实例。 export ORACLE_SID=oracle92 #su - oracle #sqlplus /nolog sql>connect /as sysdba sql>startup --此是关闭数据库的操作 sql>shutdown 监听程序的启动: lsnrctl service start stop tnsping 查看客户端sqlnet.ora和tnsname.ora文件的配置正确与否,及对应的服务器的listener进程的状态。 在进入后就可以进行下面的操作了! 先说关闭数据库 shutdown有四个参数,四个参数的含义如下: Normal 需要等待所有的用户断开连接 Immediate 等待用户完成当前的语句 Transactional 等待用户完成当前的事务 Abort 不做任何等待,直接关闭数据库 normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接 immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。 transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。 abort 执行强行断开连接并直接关闭数据库。 前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用! 数据库的启动 数据库启动使用startup命令,它有三种情况 第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式! 第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用! 第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了! 谢谢!不准确的地方请指教! 请教oracle关闭后,重启日志文件损坏不能重启 我的oracle原先是好的,但是前不久异常断电后,如果关闭oracle再重启就不成功。 SQL> shutdown abort;(如果用immediate要等待很久很久) ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 1218316 bytes Variable Size 79694068 bytes Database Buffers 83886080 bytes Redo Buffers 2973696 bytes Database mounted. ORA-16038: log 2 sequence# 8 cannot be archived ORA-19809: limit exceeded for recovery files ORA-00312: online log 2 thread 1: '/opt/oracle/oradata/ORCL/redo02.log' ORA-00312: online log 2 thread 1: '/opt/oracle/oradata/ORCL/redo05.log' SQL> alter database clear unarchived logfile group 2; Database altered. SQL> alter database open; atabase altered.(这里启动成功,可以应用,但是如果关闭数据库,下次报同样的错误,每次都要如此的清除日志文件) 每次正常关闭oracle后都必须清除日志文件内容,再启动数据库。环境是oracle10g+unix。 我不清楚什么原因了。日志文件做了镜像也出错,上面的redo02和redo05就是第二组日志文件。