在Oracle中,最大连续逾期次数是一个非常重要的概念,它表示在一定时间内,一个用户或者进程在连接到Oracle数据库时,累计超过的最大次数。当一个用户或者进程的累计超过最大连接数时,系统会自动将其关闭,以避免数据库资源的浪费和数据的不一致性。
然而,在实际使用过程中,有时候会出现用户或者进程在连接到Oracle数据库时,连续超过最大连接数的情况。此时,系统默认会将其关闭,但是这样会导致系统记录的一些信息丢失。因此,本文将介绍如何使用Oracle的存储过程,来记录用户或者进程的连续逾期次数,以便在系统超过最大连接数时,能够更加灵活地处理这种情况。
首先,我们需要创建一个存储过程,用于记录用户的连续逾期次数。在SQL*Plus中,我们可以使用以下代码来创建一个名为“Clear_Overflow_Records”的存储过程:
```sql
CREATE OR REPLACE PROCEDURE Clear_Overflow_Records
IS
p_user_id IN NUMBER;
p_conn_id IN NUMBER;
p_last_last_conn_time DATE;
BEGIN
p_user_id := DBMS_LOB.latest_open_lob_id;
p_conn_id := DBMS_LOB.open_lob_id;
p_last_last_conn_time := SYSDATE;
IF p_user_id IS NOT NULL THEN
INSERT INTO user_status (user_id, conn_id, last_conn_time) VALUES (p_user_id, p_conn_id, p_last_last_conn_time);
END IF;
END;
/
```
在这个存储过程中,我们定义了三个变量:p_user_id表示当前连接的用户ID,p_conn_id表示当前连接的connID,p_last_last_conn_time表示当前连接的最后一次连接时间。然后,我们使用DBMS_LOB.latest_open_lob_id函数来获取当前连接的connID,使用DBMS_LOB.open_lob_id函数来获取当前连接的connID,使用SYSDATE函数来获取当前的时间。最后,我们使用INSERT INTO语句将当前用户的信息插入到user_status表中,以便后续处理。
接下来,我们需要在另一个存储过程中,记录超过最大连接数的用户或者进程的连续逾期次数。在SQL*Plus中,我们可以使用以下代码来创建一个名为“Max_Connections_Overflow_Records”的存储过程:
```sql
CREATE OR REPLACE PROCEDURE Max_Connections_Overflow_Records
IS
p_user_id IN NUMBER;
p_conn_id IN NUMBER;
p_last_conn_time DATE;
p_conn_count INTEGER;
BEGIN
p_user_id := DBMS_LOB.latest_open_lob_id;
p_conn_id := DBMS_LOB.open_lob_id;
p_last_conn_time := SYSDATE;
p_conn_count := 0;
IF p_user_id IS NOT NULL THEN
INSERT INTO user_status (user_id, conn_id, last_conn_time) VALUES (p_user_id, p_conn_id, p_last_last_conn_time);
END IF;
WHILE p_conn_count <= (MAX_CONNECTION_COUNT - 1) THEN
IF p_conn_id IS NOT NULL THEN
p_conn_count := p_conn_count 1;
END IF;
IF p_last_conn_time IS NOT NULL THEN
p_last_conn_time := p_last_conn_time 1;
END IF;
END IF;
IF p_conn_count > MAX_CONNECTION_COUNT THEN
DBMS_OUTPUT.put_line('oracle_overflow_records: user_id=', p_user_id, 'conn_id=', p_conn_id, 'last_conn_time=', p_last_conn_time, 'conn_count=', p_conn_count);
DBMS_LOB.close_lob(p_conn_id);
END IF;
END;
/
```
在这个存储过程中,我们定义了三个变量:p_user_id表示当前连接的用户ID,p_conn_id表示当前连接的connID,p_last_conn_time表示当前连接的最后一次连接时间,以及p_conn_count表示当前连接的累计次数。然后,我们使用DBMS_LOB.latest_open_lob_id函数来获取当前连接的connID,使用DBMS_LOB.open_lob_id函数来获取当前连接的connID,使用SYSDATE函数来获取当前的时间。接着,我们使用INSERT INTO语句将当前用户的信息插入到user_status表中,以便后续处理。
最后,我们需要在用户或者进程连续逾期次数达到最大连接数时,自动关闭连接。我们可以通过在用户或者进程的存储过程中,使用触发器来实现这一点。具体来说,我们可以创建一个触发器,在存储过程接收到SQL*Plus中的INSERT INTO语句时,自动关闭连接。在SQL*Plus中,我们可以使用以下代码来创建一个名为“clear_overflow_records_trigger”的触发器:
```sql
CREATE OR REPLACE TRIGGER clear_overflow_records_trigger
BEFORE INSERT ON user_status
FOR EACH ROW
BEGIN
IF TG_OPS.insert_sql.length > 0 THEN
DBMS_LOB.close_lob(TG_OPS.insert_sql.conn_id);
EXIT;
END IF;
END IF;
END;
/
```
在这个触发器中,我们定义了在插入记录之前,如果当前的INSERT INTO语句长度不为0,则关闭连接。这样,当用户或者进程的连续逾期次数达到最大连接数时,系统就会自动关闭连接,以避免数据不一致性和资源浪费。
综上所述,本文介绍了如何使用Oracle的存储过程来记录用户的连续逾期次数,以及如何使用触发器在用户或者进程连续逾期次数达到最大连接数时,自动关闭连接。通过这种方式,我们可以更加灵活地处理超过最大连接数的用户或者进程,从而保证数据库的稳定性和数据的正确性。
逾期会影响贷款,因为有征信系统,银行可以查询。个人信用报告里显示当前逾期数是1,当前逾期总额是107,贷记卡12个月内未还最低还款额次数是4,是什么意思1.当前逾期次数为1,表示征信时有一笔逾期还款。2 .。目前的逾期金额是107元,也就是...
1.当前逾期次数为1,表示征信时有一笔逾期还款。2 .。当前逾期金额是107,也就是说这次逾期金额是107元。[br/]3。信用卡最低还款额12个月内未还的次数为4次,即12个月内未按期还款4次。当期逾期期数是指最低还款额或借款合同约定的金...
逾期属于违约的一种,违约还包括恶意透支、套现等违规行为。个人信用报告里显示当前逾期数是1,当前逾期总额是107,贷记卡12个月内未还最低还款额次数是4,是什么意思1、当前逾期数是1,意思是查征信的时候正在有1次未按期还款。2、当前逾期总额是...
有时间提示,24小时候才出报告,你可以用发给你的5261登录验证码与第一天或第二天后登录查询个人信用报告包括信贷4102记录、公共记录和被查询记录的详细记录;个人信用信息1653概要主要是指信贷记录、公共信息和最近两年被查询记录专的汇总记录...
1、当前逾期数是1,意思是查征信的时候正在有1次未按期还款。2、当前逾期总额是107,意思是这一次未按期还款额是107元。3、贷记卡12个月内未还最低还款额次数是4,意思是12个月内有4次未按期还款。当期逾期期数是指当前连续未还最低还款额或...
连续9个月没还利息才算连续3次,你如果连续9个月没还利息或者累计6个季度没还利息的话你就不能公积金贷款了,如果达不到以上条件,理论上海能贷款,但银行一般就不同意了,需要找熟人和银行交涉,增加另外的担保等。工行信用卡逾期次数是怎样计算的?工行...
1.当前逾期次数为1,表示征信时有一笔逾期还款。2 .。目前的逾期金额是107元,也就是说这次的逾期付款是107元。[br/]3。信用卡12个月内未还最低还款额次数为4次,即12个月内有4次未还。当期逾期期数是指最低还款额或借款合同约定的金...
逾期一次,两次可以,如果恶意逾期的话,你的信用就是受影响了个人信用报告查了显示账户数是二,月份数是四,最长逾期月份是一搜一下:个人信用报告查了显示账户数是二,月份数是四,最长逾期月份是一我的信用报告上有发生过逾期的账户数1最近五年内9个月处...
1、当前逾期数是1,意思是查征信的时候正在有1次未按期还款。2、当前逾期总额是107,意思是这一次未按期还款额是107元。3、贷记卡12个月内未还最低还款额次数是4,意思是12个月内有4次未按期还款。当期逾期期数是指当前连续未还最低还款额或...
展开全部逾期金额不会消除,还清相关款项后五年五年不良记录消除。个人信用报告里显示当前逾期数是1,当前逾期总额是107,贷记卡12个月内未还最低还款额次数是4,是什么意思1、当前逾期数是1,意思是查征信的时候正在有1次未按期还款。2、当前逾期...