文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>DBA日常维护中执行SQL的一些小技巧

DBA日常维护中执行SQL的一些小技巧

时间:2010-11-26  来源:osdba

后台执行sql的技巧:     DBA做维护工作时,一般是通过ssh或telnet到数据库主机上执行SQL,如果执行一个长时间的SQL,DBA的笔记本电脑与数据库主机如果发生网络中断,就会让执行了一半的SQL中断,为了避免这种情况,可以使用nohup让这个SQL后台执行,如下所示: nohup sqlplus /nolog @my.sql  > my.log &  然后另开一个会话,查看执行的进展情况: tail -f my.log     当时如果数据库主机是Linux的话,一般Linux下都会有一个工具screen,如果有screen就不需要使用nohup后台执行了,在screen中运行sqlplus:     screen -S osdba   基中-S osdba是为screen的session起一个名字     然后现在这时的终端命令就是在screen环境中,然后运行sqlplus,如果这时ssh断了,下次再ssh到数据库主机中可以运行screen -x osdba来进行到先前的screen的session中。     而当我们执行一个长时间的SQL,有可能会出现表空间不足导致这个SQL执行出错,这时可以在SQL中设置:     alter session enable resumable; 
    alter session set resumable_timeout=72000;
    这样设置后,如果出现表空间不足导致这个SQL无法执行下去时,这个SQL会挂住,加完空间后这个操作会继续,这样可以防止SQL运行了一半而失败。     同时可以在dba_resumable视图中查看该会话的状态:
select user_id,session_id, status, start_time, suspend_time,sql_text, error_number, error_msg from dba_resumable;

dbms_resumable.set_session_timeout(49,1800);
select dbms_resumable.get_session_timeout(49) from dual;
dbms_resumable.abort(49);
在10g中,我们也可以通过DBA_OUTSTANDING_ALERTS 来监控resumable session
select object_name,object_type,reason,message_type,message_level
from dba_outstanding_alerts
where message_group='Space';


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载