现在要做个对oracle数据库监控工具在查询all_tab_comments等其他时候怎么过滤系统用户呢,not in (***) not like '$'是行不通的

解决方案 »

  1.   

    系统用户指哪些用户,可以使用owner列来过滤,如:
    SELECT *
      FROM all_tab_comments
     WHERE owner != 'SYS' AND
           owner != 'SYSTEM'
      

  2.   


    学习,
    如果要过滤中间有 "$" 符号的也可以用 instr(table_name,'$') = 0
      

  3.   

    CTXSYS OLAPSYS SYSTEM EXFSYS SCOTT DBSNMP ORDSYS  SYSMAN WMSYS DBSNMP OUTLN XDB等等都是系统用户难道全部owner != 'SYSTEM'-_-要过滤中间有 "$" 符号的也可以用 instr(table_name,'$') = 0  关键是不是系统用户下有些表也是包含$符号的,就是项目组那些开发人员建自己表时候也用了$的,不能这样过滤。
      

  4.   

    那就限定ower in (),至于自定义表里有$,那没什么好办法,让项目组的去改表名,难道你们数据库表命名没规范么,这个$也用