US 11,687,507 B2
Termination of database sessions for planned failover
Carol L. Colrain, Redwood Shores, CA (US); Pedro Arturo Cornejo Torres, Jal (MX); and Kevin S. Neel, San Mateo, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Sep. 11, 2020, as Appl. No. 17/18,142.
Claims priority of provisional application 62/899,160, filed on Sep. 12, 2019.
Prior Publication US 2021/0081382 A1, Mar. 18, 2021
Int. Cl. G06F 15/16 (2006.01); G06F 16/21 (2019.01); G06F 16/23 (2019.01)
CPC G06F 16/217 (2019.01) [G06F 16/2365 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving a request for a planned operation on a first database server of a DBMS, the first database server having a particular database session established with a client system to receive one or more requests to execute one or more user calls on the DBMS;
in response to the request for the planned operation for the first database server, transmitting to the client system a request to drain database sessions with the first database server including the particular database session, the DBMS being configured to terminate any database session with the first database server that has not been drained within a drain timeout period;
identifying, in a rule set, first rule data, the first rule data including first rule instructions to detect a possible termination point for the particular database session before the drain timeout period expires;
before the drain timeout period expires, executing the first rule instructions at least by calculating one or more database session behavior metrics for the particular database session of the client system with the first database server;
based on the execution of the first rule instructions before the drain timeout period expires and before the drain timeout period expires, determining whether a termination point for the particular database session is detected using the database session behavior metrics;
based on determining that the termination point for the particular database session is detected and before the drain timeout period expires, terminating the particular database session of the client system with the DBMS at the termination point.