在服务中关闭:
“只有客户发展了,才有我们的生存与发展!”这是创新互联公司的服务宗旨!把网站当作互联网产品,产品思维更注重全局思维、需求分析和迭代思维,在网站建设中就是为了建设一个不仅审美在线,而且实用性极高的网站。创新互联对成都做网站、成都网站建设、网站制作、网站开发、网页设计、网站优化、网络推广、探索永无止境。
OracleOracle_homeTNSListener 对应于数据库的监听程序
OracleServiceSID 对应于数据库的例程
OracleDBConsoleSID 对应于Oracle Enterprise Manager(OEM)
其中,Oracle_home表示Oracle主目录,如Oracle11g_home1;SID表示Oracle系统标识符,如OracleServiceMAG01的MAG01。
比较好的启动顺序是:OracleOracle_homeTNSListener,OracleServiceSID,OracleDBConsoleSID。
关闭时次序相反。
下面给出了自己写的已经排好顺序的启动和停止服务的两个批处理文件:
//启动Oracle
Start Oracle.bat
@echo off
echo 确定要启动Oracle 11g服务吗?
pause
net start OracleOraDb11g_home1TNSListener
net start OracleServiceMAG01
net start OracleDBConsolemag01
echo 启动Oracle 11g服务完成,请确认有没有错误发生。
Pause
//关闭Oracle
Stop Oracle.bat
@echo off
echo 确定要停止Oracle 11g 服务吗?
pause
net stop OracleDBConsolemag01
net stop OracleServiceMAG01
net stop OracleOraDb11g_home1TNSListener
echo 停止Oracle 11g服务完成,请确认有没有错误发生。
Pause
oracle 如何查找和kill 对应的job进程
查找当前被锁住的进程:
SELECT object_name, s.sid, s.serial#, p.spid
FROM v$locked_object l, dba_objects o, v$session s, v$process p
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
AND s.paddr = p.addr;
Kill 对应的Oracle Session
应为BROKEN后该JOB还在运行,如果要求该JOB立刻停止,就需要找到该job的对应SESSION(SID,SERIAL#),然后执行以下命令:
ALTER SYSTEM KILL SESSION 'sid,serial#';
将Job Queue Processes的数目修改为0
首先确认当前的Job Queue Processes的数目
SQL select name,value from v$parameter where name ='job_queue_processes';
然后将Job Queue Processes的数目修改为0
ALTER SYSTEM SET job_queue_processes = 0;
保证所有的JOB都会停止。
恢复job_queue_processes的原始值
ALTER SYSTEM SET job_queue_processes = original_value;
在ORACLE中停止一个JOB的方法如下:
首先确定要停止的JOB号,在10g中可通过Dba_Jobs_Running进行确认。
查找正在运行的JOB:
selectsidfromdba_jobs_running;
查找到正在运行的JOB的spid:
selecta.spidfromv$processa,v$sessionbwherea.addr=b.paddrandb.sidin(selectsidfromdba_jobs_running);
Broken确认的JOB,注意使用DBMS_JOB包来标识你的JOB为BROKEN。
SQL EXEC DBMS_JOB.BROKEN(job#,TRUE);
注意:当执行完该命令你选择的这个JOB还是在运行着的。
Kill对应的OracleSession,应为BROKEN后该JOB还在运行,如果要求该JOB立刻停止,就需要找到该job的对应SESSION(SID,SERIAL#),然后执行以下命令:
ALTERSYSTEMKILLSESSION‘sid,serial#';
或者直接KILL对应的操作系统的SESSION。
如果使用ALTERSYSTEMKILLSESSION执行很长时间,其实可以使用OS的命令来快速KILL掉SESSION.ForWindows,attheDOSPrompt:
orakill sid spid;For UNIX at the command line kill –9 spid。
检查要停止的JOB是否还在运行,其实多数情况下,应该都已经停止了。尤其执行的第三步的“杀手”命令。
如果真的还是没有停止,只好从第一道第三步重新做一下了。
将JobQueueProcesses的数目修改为0,首先确认当前的JobQueueProcesses的数目:
SQL col value for a10SQL select name,value from v$parameter where name =’job_queue_processes';
然后将JobQueueProcesses的数目修改为0。
SQL ALTER SYSTEM SET job_queue_processes = 0;
保证所有的JOB都会停止。修改要修改的任何东西,甚至是JOB内的内容,修改完成后,将job的BROKEN状态停止。
SQLEXEC DBMS_JOB.BROKEN(job#,FALSE):
恢复job_queue_processes的原始值:
ALTERSYSTEMSETjob_queue_processes=original_value;
至此整个停止并修改JOB完成。
但是需要另外注意一下的是,在MARK一个BROKEN状态的时候,因为JOB内部执行SQL的原因,所以执行时或许要“煎熬”一段时间。所以在建立JOB时一定要仔细考虑,同时如果可能可以在你设计的PL/SQL代码中,增加一些判断“停止信号”的部分。来避免费力执行上面的步骤。
扩展资料:
很多时候遇到某个session一直处于active,使得CPU一直处于搞使用状态,虽然kill了,但是却不能够使得使得线程结束。killsession只是kill这个进程,但是线程一直处于活动状态。需要真正的kill线程才能够解决cpu使用率高的问题。
Oracle数据库最新版本为OracleDatabase19c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。
此外,一些创新特性可最大限度地提高资源使用率和灵活性,如OracleMultitenant可快速整合多个数据库,而AutomaticDataOptimization和HeatMap能以更高的密度压缩数据和对数据分层。
这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c成为私有云和公有云部署的理想平台。
参考资料:百度百科-Oracle数据库
DBLINK是连接二个数据库来进行查询,你要是你说的关闭是drop吗?如果是这样的话,你可以把查询的数据存储在一个临时表里面,然后drop就没有影响了,然后直接查这个数据库上的表
找出正在执行的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);实例分析:1,查询正在运行的Job,通过查询有两个,和进程占用较多的是两个ORACLE进程符合。SQL SELECT SID,JOB FROM DBA_JOBS_RUNNING; SID JOB\x0d\x0a---------- ----------12 11616 1172,查询正在运行的job的信息SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='12'; SID SERIAL#\x0d\x0a---------- ----------\x0d\x0a12 4SQL SELECT SID,SERIAL# FROM V$SESSION WHERE SID='16'; SID SERIAL#\x0d\x0a---------- ----------\x0d\x0a16 13,利用查询出来的job信息将job结束掉SQL ALTER SYSTEM KILL SESSION '12,4';System altered.SQL ALTER SYSTEM KILL SESSION '16,1';System altered.\x0d\x0a4,如果不希望运行上述job的话,可以将job设置为broken.EXEC DBMS_JOB.BROKEN(116,TRUE);EXEC DBMS_JOB.BROKEN(117,TRUE);
select id,name, sum(case class when '013' then fee else 0 end) "费用013"
sum(case class when '013' then fee else 0 end) "费用015"
from table group by id,name
网页标题:oracle如何停止查询 oracle停止数据库命令
网站网址:https://www.cdcxhl.com/article44/hidohe.html
成都网站建设公司_创新互联,为您提供ChatGPT、面包屑导航、手机网站建设、Google、做网站、用户体验
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联