Oracle 运维实用技巧

一、闪回

      delete “T_SPC_ROOM”表,但没有 commit 可以用以下命令还原回来

flashback table MW_APP.T_SPC_ROOM to before drop

 

二、处理特殊字符

      插入带有 & 等特殊时,Oracle 提示为变量。有以下两种方法:

select 'abc'||chr(38)||'efg' from dual;
select 'abc'||'&'||'efg' from dual;

 

三、导入或导出

      导入或导出一张表

imp system/system@sgtms file=e:\datatable\t_pub_tables.dmp fromuser=(mw_app) touser=(mw_app) 

exp system/system@sgtms tables=mw_app.T_MAINTAIN_UNIT file=e:\T_MAINTAIN_UNIT121101.dmp log=e:\T_MAINTAIN_UNIT121105.log

 

四、删除当前用户下某类对象

--delete all tables
select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables;   

--delete all views 
select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views;   

--delete all seqs 
select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences;  

--delete all functions 
select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION';   

--delete all procedure 
select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE';   

--delete all package 
select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE';

 

五、查看当前 Oracle 实例名

select instance_name from V$instance;

 

六、AWR报告获取方法

        a) SQL控制台方式下,使用sysdba用户执行如下命令

             @?/rdbms/admin/awrrpt.sql

        b) 设置所获报告为html格式

            Enter value for report_type:html

        c) 设置获取最近1天的快照(即当天)

            Enter value for num_days:1

        d) 根据第三步显示的Snap ID列表,按需设置begin_snap的值

            Enter value for begin_snap:211

        e) 根据第三步显示的Snap ID列表,按需设置end_snap的值

            Enter value for end_snap:217

        f) 设置AWR报告保存路径以及报告名称

            Enter value for report_name:e:/awrrpt_211.html(Linux环境可设置为:/root/awrrpt_211.html

 

七、trace文件获取方法

        a) SQL控制台方式下,使用sysdba用户执行如下命令

            oradebug setmypid

        b) 显示trace文件路径和文件名称

            oradebug hanganalyze 3

 

八、检查一个会话是否被另一个会话阻塞

      DB 更新过程中若出现某 SQL 文件执行过慢的现象,请检查是否存在索引或会话阻塞的情况。

select s1.username || '@' || s1.machine || '(SID='||s1.sid||') is blocking'|| s2.username ||'@'|| s2.machine||'(SID='||s2.sid||')' AS blocking_status 
       from v$lock l1,v$session s1,v$lock l2,v$session s2
       where s1.sid=l1.sid and s2.sid=l2.sid and l1.BLOCK=1 and l2.request>0
       and l1.id1=l2.id1 and l2.id2=l2.id2;

 

九、Linux 环境下在 sqlplus 中查看 oracle 服务器的主目录路径(oracle_home)

      Windows环境下执行无效,注意区分大小写

host echo $ORACLE_HOME


十、查看数据库系统运行状态

select instance_name,host_name,startup_time,status,database_status from v$instance;

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值