找出正在执行的JOB编号及其会话编号
创新互联服务项目包括辽阳网站建设、辽阳网站制作、辽阳网页制作以及辽阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,辽阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到辽阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
SELECT SID,JOB FROM DBA_JOBS_RUNNING;
停止该JOB的执行
SELECT SID,SERIAL# FROM V$SESSION WHERE SID='SID';
ALTER SYSTEM KILL SESSION 'SID,SERIAL';
EXEC DBMS_JOB.BROKEN(JOB,TRUE);
回话?啥意思?你是说看不到job的运行反馈么。job的运行反馈可以去,user_jobs_running,这个能查到正在执行的job,user_jobs能查看job的运行结果和下次运行时间等。至于你说的反馈,就好像你用pl/sql
developer
调试一个过程一样,他不会在session中直接反馈,而是会出现在调试的最下方,在sqlplus的session中,是看不到的。
在windows里启动Oracle有两个步骤,一是先启动服务,二是再启动实例、数据库,这两个都可以设置成自动或者手动
针对数据库开机自动启动问题,解决方法有两个
方法一:在服务把oracleservice%SID%这个服务改成手动启动
方法二:修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\HOME0\ORA_%SID%_AUTOSTART的值为false,这个是控制启动服务时是否自动启动数据库(实例,占内存),默认是true
注册表还有个ORA_%SID%_shutdown它是控制你关机时是否自动关数据库的
启动服务可以用net start oracleservice%SID% 命令
停止服务可以用net start oracleservice%SID% 命令
手动启动数据库要先开始服务,不然sqlplus不能进行操作系统验证了
进入sqlplus “/as sysdba"
启动数据库是在sqlplus里输入startup
关闭数据库是在sqlplus里输入shutdown immediate
select * from v$access a where object like '存储过程名%' --存储过程名为大写字母
select * from v$session where sid=74 --74为上一个查询得到的SID值,可能是多个,这里找到他们对应的serial#值
alter system kill session '74,118' --参数为'sid,serial#',用于停止这个回话,同时也终止了存储过程