Abstract:
A method, system, and computer program product is disclosed for interacting with a client supported by a client-side cache. Embodiments of a method, a system, and a computer program product are disclosed that retrieve a first snapshot, indicating a state of the database after a last database request by the client, associated with the client, determine any number of invalid cached results for the client based on the first snapshot, and transmit the any number of invalid cached results and a second snapshot, an update for the first snapshot.
Abstract:
An approach migrates database sessions from a database server on which performance and resource availability requirements are not being met to another database server. Because workload is removed from the database server not meeting these requirements, improved performance there is promoted. Furthermore, the approach switches the users in a way that attempts to keep performance and resource availability levels at the database server receiving the database sessions within goals for performance and resource availability.
Abstract:
An approach generates performance grades. A performance grade is a value or set of values that indicates the relative work performance offered by a resource, such as a server in a multi-node system, relative to other resources. Performance grades are used to dynamically allocate work within a multi-node computer system. For example, performance grades are used for connection-time balancing, and to direct a database connection request to a multi-node database instance that a performance grade indicates provides better performance. Performance grade deltas are generated that reflect the incremental change in performance grade for additional sessions or work. Performance deltas are used to direct incoming sessions, to more optimally balance workload, and to deal with logon storms where a large number of connect requests arrive in a very short time period.
Abstract:
An improved method, mechanism, and system for implementing, generating, and maintaining for implementing session pools is disclosed. Disclosed is a method, mechanism, and system for dynamic sizing of session pools, in which the number of sessions in a given session pool or sub-session pool can be dynamically adjusted upwards or downwards. Also disclosed is an approach for customizing a session in a session pool with a specific set of affinities and attributes, in which tags can be associated with the customized sessions. Tagging can be used to identify sessions to deallocate/reallocate to dynamically size the session or sub-session pools.
Abstract:
Various embodiments of the invention provide solutions to allow more sophisticated management of the relationship between a database and its clients (which can be, inter alia, end users, business applications, etc.). Merely by way of example, some embodiments can facilitate the management of work requests in a database, as well as the management of the quality-of-service in a database system. In some embodiments, an identification handle may be assigned to a database work request. A database management application can use the identification handle to identify the work request, as well, perhaps, as any related work requests. The identification handle may also identify the database (and/or an instance thereof) and/or a clustered database node, and the identification handle may be transmitted to a mid-tier application, e.g., to notify the mid-tier about the processing of the work request, changes in quality-of service, server availability, etc.
Abstract:
A system, method, computer program and system for suspending a result set and continuing from a suspended result set for a cursor is disclosed. The rows from a row source corresponding to the cursor result set are suspended into storage so that when a fetch is requested the data can be sent (continued) from the suspended storage and does not depend on the original cursor row source or session to be available.
Abstract:
An approach generates performance grades. A performance grade is a value or set of values that indicates the relative work performance offered by a resource, such as a server in a multi-node system, relative to other resources. Performance grades are used to dynamically allocate work within a multi-node computer system. For example, performance grades are used for connection-time balancing, and to direct a database connection request to a multi-node database instance that a performance grade indicates provides better performance. Performance grade deltas are generated that reflect the incremental change in performance grade for additional sessions or work. Performance deltas are used to direct incoming sessions, to more optimally balance workload, and to deal with logon storms where a large number of connect requests arrive in a very short time period.
Abstract:
A method and computer-readable medium for managing memory for complex objects returned from procedure calls are described. Memory for complex objects returned from procedure calls is allotted from memory pools, which are allocated on a “per-call” basis for complex objects. Complex objects allotted from different memory pools can have overlapping lifetimes. The memory used by the complex object is straightforwardly released by deallocating the memory pool. In one aspect, the memory management of complex objects is located in the called procedures, which may be an automatically generated client stub routine for a remote procedure call.
Abstract:
An approach migrates database sessions from a database server on which performance and resource availability requirements are not being met to another database server. Because workload is removed from the database server not meeting these requirements, improved performance there is promoted. Furthermore, the approach switches the users in a way that attempts to keep performance and resource availability levels at the database server receiving the database sessions within goals for performance and resource availability.
Abstract:
A method and mechanism for implementing pipelined prefetching in a computer system is disclosed. Data prefetching is utilized to predictably retrieve information between multiple levels of nodes in the computer system, in which a first server may receive prefetched data from a second server, the second server receives prefetched data from a third server, with the chain of prefetching extending as long as needed/desired to effect efficient data transfers between the nodes.