简单的 Oracle 脚本
来源:易贤网 阅读:670 次 日期:2015-04-29 13:57:56
温馨提示:易贤网小编为您整理了“简单的 Oracle 脚本”,方便广大网友查阅!

Oracle用了很久,但是一般使用还是通过PL/SQL Developer下面执行.

以前用过相关的脚本是 awrrpt.sql 生成awr报告使用.

最近有这样一个想法,写一个SQL脚本放在用户目录下,系统出问题时由同事负责执行.等我有时间时去查看相关信息.所以尝试写SQL脚本.也可以写成定时任务去处理某些事情.

中间遇到的问题:

1 字符集的问题.Windows下默认GBK编码,在数据库服务器上可能会执行报错,很可能是字符集的原因.当时使用Eclipse把字符集改成UTF-8 解决这个问题.

2 关于注释.SQL语句里注释很重要,做一引起必要的说明,不然自己被自己搞昏了头.

SQL脚本:

--初始化参数

define user = "'HLWL'";

define operate = "'zhouxianglh'";

define log_name;

--初始化设置

--显示输出

set echo on;

--指定每行长度

set LINESIZE 999;

--指定每页大小,pagesize=0,则不会显示表头

set pagesize 10000;

--显示实际执行的SQl(包含参数执行时能过 old,new 的方式分别显示)

set verify ON;

--输出文本去除首尾空格

set trimspool on;

--显示字段名称

set heading ON;

--set autotrace on;对执行SQL进行分析

--开始写入文件

select '/home/oracle/zx_'||lower(name)||'_'||&user||'_'||to_char(sysdate,'yyyy-mm-dd-hh24-mi')||'.sql' log_name from v$database;

spool &logname;

--开始执行SQL

--查找当进程,找出导致系统当前性能问题的SQL

select inst_id,sid,serial#,seq#,taddr,sql_id,sql_child_number child,username,machine,last_call_et call_et,module,

(select object_name from dba_objects where a.row_wait_obj#=object_id) object_name,action,event from gv$session a

where a.status = 'ACTIVE' and a.username is not null order by last_call_et;

--记录操作完成

select sysdate from dual;

--关闭文件

spool off;

更多信息请查看IT技术专栏

更多信息请查看数据库
易贤网手机网站地址:简单的 Oracle 脚本
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标