- 关闭监听
lsnrctl stop
对应的LOCAL=NO的进程确认是否需要KILL。
ps -ef|grep LOCAL=NO|wc -l
ps -ef|grep LOCAL=NO - 查看有没有JOB--如有需要确认是否可停掉
ps -ef|grep ora_j - 查看有没有事务还未提交的--如有事务未提交确认是否需要等待事务完成
sqlplus '/ as sysdba'
select status,instance_name,to_char(startup_time,'yyyy/mm/dd hh24:mi:ss') starttime from gv$instance;
select open_mode,name from v$database; - 是否有大的查询在进行
select count(*) from v$transaction;
select count(*) from v$session_longops where time_remaining>0; - 是否有大的事务在进行
select sum(used_ublk) from v$transaction; ---如果有大量返回,参考本文最后
select START_TIME,STATUS from v$transaction; - 是否有大事务正在回滚/需要在数据库OPEN时进行实例恢复
select * from v$fast_start_transactions;
select * from v$fast_start_servers; - 手动做几次检查点
alter system checkpoint; - 手动切日志
alter system switch logfile; - 关机-此时关机速度会正常,有效减少HANG住之类问题。
shutdown immediate