You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何识别使用sys/system连接的数据库程序、模块及存储过程?

识别Oracle中以SYSTEM/SYS身份运行的程序、模块及数据库对象

以下是几种实用方法,帮你定位所有依赖SYSTEM/SYS账号的程序、存储过程、包及相关模块:

  • 搜索PL/SQL对象中的硬编码连接信息
    很多存储过程、包、触发器等对象里会硬写SYSTEM/SYS的连接串,直接查询数据字典找出这类对象:

    SELECT owner, name, type, line, text
    FROM dba_source
    WHERE UPPER(text) LIKE '%SYS/%' 
       OR UPPER(text) LIKE '%SYSTEM/%'
       OR UPPER(text) LIKE '%AS SYSDBA%';
    

    注意:结果可能包含注释里的匹配内容,需要人工核对过滤误报。

  • 查看审计记录定位历史执行对象
    如果数据库开启了审计功能,可以通过审计日志查看SYSTEM/SYS账号执行过的对象操作:

    SELECT username, owner, obj_name, obj_type, action_name, timestamp
    FROM dba_audit_trail
    WHERE username IN ('SYS', 'SYSTEM')
      AND action_name IN ('EXECUTE', 'CREATE', 'ALTER', 'DELETE', 'INSERT', 'UPDATE');
    

    这个查询能帮你找到历史上SYSTEM/SYS执行过的各类数据库对象,对应到实际运行的程序或模块。

  • 实时捕捉活跃的SYSTEM/SYS会话
    查看当前正在用SYSTEM/SYS连接的会话,以及正在执行的SQL,直接定位运行中的程序:

    SELECT s.sid, s.serial#, s.username, s.program, s.machine, s.osuser,
           q.sql_text
    FROM v$session s
    LEFT JOIN v$sql q ON s.sql_id = q.sql_id
    WHERE s.username IN ('SYS', 'SYSTEM')
      AND s.status = 'ACTIVE';
    

    结果里的program字段会显示发起连接的程序名称,machine字段显示运行程序的服务器。

  • 排查定时任务中的SYSTEM/SYS执行作业
    检查DBMS_SCHEDULER和DBMS_JOB中的定时任务,很多后台任务会用SYSTEM/SYS账号运行:
    针对DBMS_SCHEDULER:

    SELECT owner, job_name, job_type, program_name, enabled, last_start_date
    FROM dba_scheduler_jobs
    WHERE owner IN ('SYS', 'SYSTEM')
       OR (job_action LIKE '%SYS%' OR job_action LIKE '%SYSTEM%');
    

    针对旧版DBMS_JOB:

    SELECT job, log_user, priv_user, schema_user, what
    FROM dba_jobs
    WHERE log_user IN ('SYS', 'SYSTEM')
       OR priv_user IN ('SYS', 'SYSTEM')
       OR schema_user IN ('SYS', 'SYSTEM');
    
  • 检查外部程序配置文件
    除了数据库内部对象,还要排查应用服务器、ETL工具、脚本文件(Shell/Bat等)中的配置,搜索包含sys/、system/、as sysdba的配置项,这些地方往往是硬编码连接串的重灾区。

内容的提问来源于stack exchange,提问作者pavankumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:33:12