我需要创建一个简单的PL / SQL程序:
a)从v $ session
获取db的当前活动会话数b)将结果与平均活动会话基线进行比较(我通过每5分钟运行一次的简单作业收集user1架构表上的数据)
如果是> b然后应该将电子邮件发送到已定义的配方 - 我在schema1上的oracle上有一个完整的邮件包。但每当我尝试运行以下代码时:
declare
SESS_COUNT NUMBER;
SESS_AVG NUMBER;
SUB VARCHAR2(500);
BODY VARCHAR2(500);
INSTANCE_NAME VARCHAR(200);
HOST_NAME VARCHAR(500);
BEGIN
SELECT COUNT(*)
INTO SESS_COUNT
FROM v$session
WHERE status='ACTIVE';
SELECT ROUND(AVG(SESS_COUNT))
INTO SESS_AVG
FROM user1.SESS_ACTIVE;
IF SESS_COUNT > SESS_AVG
THEN
SELECT INSTANCE_NAME INTO INSTANCE_NAME FROM V$INSTANCE;
SELECT HOST_NAME INTO HOST_NAME FROM V$INSTANCE;
SUB := INSTANCE_NAME || '@' || HOST_NAME ||' - MAIL_TOPIC';
BODY := 'MAIL_BODY:'|| SESS_COUNT;
SCHEMA1.MAIL_PKG.SEND_MAIL(INSTANCE_NAME || '_'|| HOST_NAME||'@domain1', MAIL_PKG.ARRAY('user.123@net.ca'), SUB, BODY);
END IF;
END;
我收到错误:
ORA-06550: line 26, column 79:
PLS-00201: identifier 'MAIL_PKG.ARRAY' must be declared
我会感激任何提示 - 我试图以各种方式宣布MAIL_PKG.ARRAYS,但没有任何作用。