Oracle存储过程调测及job使用指导.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle存储过程调测及job使用指导

Oracle存储过程调测及job使用指导 关键词:Oracle数据库、存储过程、调测、job作业、日常维护 一、概述 在Oracle数据库使用过程中,现场经常会因为业务需要或定位问题等原因,对数据库存储过程及函数进行调测、手工检查job任务运行情况等,本文给出了Oracle存储过程的简单调测方法和job任务的一些操作指导,同时附上了Oracle日常维护的一些常用操作。 二、Oracle存储过程调测方法 业务数据库在使用过程中经常会用到Function和Procedure,其中Function一般情况下是用来计算并返回一个计算结果而一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等)可以返回值,也可以做一件事,比如几个之间的数据,而一定要有返回值只能返回一个select * from user_jobs; 2.查看 job 是否正常执行 select job, last_date, failures from user_jobs; 3.查看当前作业是否正在运行 select a.job,a.sid, b.serial# from dba_jobs_running a, v$session b where a.sid = b.sid; 4.查看job作业是否有锁 select p.spid, c.object_name, b.session_id, b.oracle_username, b.os_user_name from v$process p, v$session a, v$locked_object b, all_objects c where p.addr =a.paddr and a.process = b.process and c.object_id = b.object_id order by os_user_name,session_id,object_name,spid; 5.如果作业正在运行,且表已被锁住,可以手动杀死作业进程 alter system kill session 69,1155; --根据查看作业是否运行的语句的结果(a.sid, b.serial#) 6.在进行重大升级或数据库改造等时候,需要停止job作业,也就是常说的禁用job,可以通过执行如下语句完成: declare jobid number; flag boolean; begin --修改jobid为实际需要禁用的作业编号 jobid := 1052; --禁用:true;启用:false flag := true; dbms_job.broken(jobid,flag); commit; end; / 验证是否已禁用,使用下面的语句,其中job为作业编号: select job,next_date,broken from user_jobs; 说明:job:作业编号; next_date:下一次执行时间,一般禁用后的作业,下一次执行时间都是4000-1-1; broken:Y则表示已禁用,N则表示启用。 四、Oracle其它常用知识 1.查看Oracle数据库表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) 表空间名, D.TOT_GROOTTE_MB 表空间大小(M), D.TOT_GROOTTE_MB - F.TOTAL_BYTES 已使用空间(M), TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), 990.99) 使用比, F.TOTAL_BYTES 空闲空间(M), F.MAX_BYTES 最大块(M) FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES, ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAM

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档