-
公开(公告)号:US20250094411A1
公开(公告)日:2025-03-20
申请号:US18598122
申请日:2024-03-07
Applicant: Oracle International Corporation
Inventor: Graham Ivey , Shih-Yu Huang , Yunrui Li , Shampa Chakravarty
IPC: G06F16/23
Abstract: The present disclosure relates to adaptively overlapping redo writes. A log writer, while operating in a thin mode, may assign a first log writer group of a plurality of log writer groups to write one or more first redo log records to an online redo log in response to determining that a pipelining parameter is satisfied. The thin mode may be associated with one or more target sizes that are less than one or more target sizes associated with a thick mode. The log writer may determine to operate the thick mode based at least in part on at least a portion of the plurality of log writer groups being unavailable to write one or more second redo log records to the online redo log. The log writer, while operating in the thick mode, may assign a second log writer group of the plurality of log writer groups to write one or more second redo log records from the log buffer to the online redo log in response to determining that an amount of redo log records in the log buffer meets one of the one or more target sizes associated with the thick mode. The log writer, while operating in the thick mode, may assign a third log writer group of the plurality of log writer groups to write one or more second redo log records from the log buffer to the online redo log in response to determining that a highest busy group number meets or exceeds a core threshold.
-
2.
公开(公告)号:US20250053299A1
公开(公告)日:2025-02-13
申请号:US18929241
申请日:2024-10-28
Applicant: Oracle International Corporation
Inventor: Yunrui Li , Graham Ivey , Shampa Chakravarty , Vsevolod Panteleenko
IPC: G06F3/06
Abstract: In an embodiment, before modifying a persistent ORL (ORL), a database management system (DBMS) persists redo for a transaction and acknowledges that the transaction is committed. Later, the redo is appended onto the ORL. The DBMS stores first redo for a first transaction into a first PRB and second redo for a second transaction into a second PRB. Later, both redo are appended onto an ORL. The DBMS stores redo of first transactions in volatile SRBs (SLBs) respectively of database sessions. That redo is stored in a volatile shared buffer that is shared by the database sessions. Redo of second transactions is stored in the volatile shared buffer, but not in the SLBs. During re-silvering and recovery, the DBMS retrieves redo from fast persistent storage and then appends the redo onto an ORL in slow persistent storage. After re-silvering, during recovery, the redo from the ORL is applied to a persistent database block.
-
公开(公告)号:US11720416B2
公开(公告)日:2023-08-08
申请号:US16570895
申请日:2019-09-13
Applicant: Oracle International Corporation
Inventor: Graham Ivey , Yunrui Li
CPC classification number: G06F9/522 , G06F9/4418 , G06F9/46 , G06F9/465 , G06F9/466 , G06F9/467 , G06F9/48 , G06F9/485 , G06F9/4806 , G06F9/4812 , G06F9/4843 , G06F9/4887 , G06F9/50 , G06F9/52 , G06F9/524 , G06F9/526 , G06F9/544 , G06F16/252
Abstract: A computer's processes and/or threads generate and store in memory, data to reimplement or reverse a transaction on a database, so that the database can be recovered. This data is written to persistent memory storage (“persisted”) by another process, for which the processes and/or threads may wait. This wait includes at least a sleep phase, and additionally a spin phase which is entered if after awakening from sleep and checking (“on-awakening” check), the data to be persisted is found to not have been persisted. To sleep in the sleep phase, each process/thread specifies a sleep duration determined based at least partially on previous results of on-awakening checks. The previous results in which to-be-persisted data was found to be not persisted are indications the sleeps were insufficient, and these indications are counted and used to determine the sleep duration. Repeated determination of sleep duration makes the sleep phase adaptive.
-
公开(公告)号:US10732836B2
公开(公告)日:2020-08-04
申请号:US15720949
申请日:2017-09-29
Applicant: Oracle International Corporation
Inventor: Jia Shi , Yiliang Jin , Zheren R. Zhang , Zuoyu Tao , Vijay Sridharan , Kothanda Umamageswaran , Graham Ivey , Yunrui Li
IPC: G06F7/00 , G06F17/30 , G06F3/06 , G06F13/28 , G06F16/23 , G06F9/455 , G06F12/02 , G06F12/0871 , H04L29/08
Abstract: A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA). In addition to techniques for performing a data block read operation to NVRAM, computing nodes perform a data block write operation to data blocks stored in NVRAM of the NVRAM shared storage architecture. The data block write operation is referred to herein as a one-sided write because only one database process needs to participate in the writing of a data block to NVRAM in order to successfully commit the write.
-
公开(公告)号:US20190102087A1
公开(公告)日:2019-04-04
申请号:US15720949
申请日:2017-09-29
Applicant: Oracle International Corporation
Inventor: Jia Shi , Yiliang Jin , Zheren R. Zhang , Zuoyu Tao , Vijay Sridharan , Kothanda Umamageswaran , Graham Ivey , Yunrui Li
IPC: G06F3/06 , G06F9/455 , G06F12/02 , G06F12/0871 , H04L29/08
Abstract: A shared storage architecture persistently stores database files in non-volatile random access memories (NVRAMs) of computing nodes of a multi-node DBMS. The computing nodes of the multi-node DBMS not only collectively store database data on NVRAMs of the computing nodes, but also host database server instances that process queries in parallel, host database sessions and database processes, and together manage access to a database stored on the NVRAMs of the computing nodes. To perform a data block read operation from persistent storage, a data block may be transferred directly over a network between NVRAM of a computing node that persistently stores the data block to a database buffer in non-volatile RAM of another computing node that requests the data block. The transfer is accomplished using remote direct memory access (“RDMA). In addition to techniques for performing a data block read operation to NVRAM, computing nodes perform a data block write operation to data blocks stored in NVRAM of the NVRAM shared storage architecture. The data block write operation is referred to herein as a one-sided write because only one database process needs to participate in the writing of a data block to NVRAM in order to successfully commit the write.
-
6.
公开(公告)号:US12164801B2
公开(公告)日:2024-12-10
申请号:US17880438
申请日:2022-08-03
Applicant: Oracle International Corporation
Inventor: Yunrui Li , Graham Ivey , Shampa Chakravarty , Vsevolod Panteleenko
IPC: G06F3/06
Abstract: In an embodiment, before modifying a persistent ORL (ORL), a database management system (DBMS) persists redo for a transaction and acknowledges that the transaction is committed. Later, the redo is appended onto the ORL. The DBMS stores first redo for a first transaction into a first PRB and second redo for a second transaction into a second PRB. Later, both redo are appended onto an ORL. The DBMS stores redo of first transactions in volatile SRBs (SLBs) respectively of database sessions. That redo is stored in a volatile shared buffer that is shared by the database sessions. Redo of second transactions is stored in the volatile shared buffer, but not in the SLBs. During re-silvering and recovery, the DBMS retrieves redo from fast persistent storage and then appends the redo onto an ORL in slow persistent storage. After re-silvering, during recovery, the redo from the ORL is applied to a persistent database block.
-
7.
公开(公告)号:US20240045857A1
公开(公告)日:2024-02-08
申请号:US17880433
申请日:2022-08-03
Applicant: Oracle International Corporation
Inventor: Yunrui Li , Graham Ivey , Shampa Chakravarty , Vsevolod Panteleenko
CPC classification number: G06F16/2379 , G06F16/2358 , G06F9/466
Abstract: In an embodiment, before modifying a persistent ORL (ORL), a database management system (DBMS) persists redo for a transaction and acknowledges that the transaction is committed. Later, the redo is appended onto the ORL. The DBMS stores first redo for a first transaction into a first PRB and second redo for a second transaction into a second PRB. Later, both redo are appended onto an ORL. The DBMS stores redo of first transactions in volatile SRBs (SLBs) respectively of database sessions. That redo is stored in a volatile shared buffer that is shared by the database sessions. Redo of second transactions is stored in the volatile shared buffer, but not in the SLBs. During re-silvering and recovery, the DBMS retrieves redo from fast persistent storage and then appends the redo onto an ORL in slow persistent storage. After re-silvering, during recovery, the redo from the ORL is applied to a persistent database block.
-
公开(公告)号:US20210081242A1
公开(公告)日:2021-03-18
申请号:US16570895
申请日:2019-09-13
Applicant: Oracle International Corporation
Inventor: Graham Ivey , Yunrui Li
IPC: G06F9/48 , G06F9/4401 , G06F9/54 , G06F16/25
Abstract: A computer's processes and/or threads generate and store in memory, data to reimplement or reverse a transaction on a database, so that the database can be recovered. This data is written to persistent memory storage (“persisted”) by another process, for which the processes and/or threads may wait. This wait includes at least a sleep phase, and additionally a spin phase which is entered if after awakening from sleep and checking (“on-awakening” check), the data to be persisted is found to not have been persisted. To sleep in the sleep phase, each process/thread specifies a sleep duration determined based at least partially on previous results of on-awakening checks. The previous results in which to-be-persisted data was found to be not persisted are indications the sleeps were insufficient, and these indications are counted and used to determine the sleep duration. Repeated determination of sleep duration makes the sleep phase adaptive.
-
9.
公开(公告)号:US12159032B2
公开(公告)日:2024-12-03
申请号:US17880446
申请日:2022-08-03
Applicant: Oracle International Corporation
Inventor: Yunrui Li , Graham Ivey , Shampa Chakravarty , Vsevolod Panteleenko
IPC: G06F3/06
Abstract: In an embodiment, before modifying a persistent ORL (ORL), a database management system (DBMS) persists redo for a transaction and acknowledges that the transaction is committed. Later, the redo is appended onto the ORL. The DBMS stores first redo for a first transaction into a first PRB and second redo for a second transaction into a second PRB. Later, both redo are appended onto an ORL. The DBMS stores redo of first transactions in volatile SRBs (SLBs) respectively of database sessions. That redo is stored in a volatile shared buffer that is shared by the database sessions. Redo of second transactions is stored in the volatile shared buffer, but not in the SLBs. During re-silvering and recovery, the DBMS retrieves redo from fast persistent storage and then appends the redo onto an ORL in slow persistent storage. After re-silvering, during recovery, the redo from the ORL is applied to a persistent database block.
-
10.
公开(公告)号:US12086132B2
公开(公告)日:2024-09-10
申请号:US17880433
申请日:2022-08-03
Applicant: Oracle International Corporation
Inventor: Yunrui Li , Graham Ivey , Shampa Chakravarty , Vsevolod Panteleenko
CPC classification number: G06F16/2379 , G06F9/466 , G06F16/2358
Abstract: In an embodiment, before modifying a persistent ORL (ORL), a database management system (DBMS) persists redo for a transaction and acknowledges that the transaction is committed. Later, the redo is appended onto the ORL. The DBMS stores first redo for a first transaction into a first PRB and second redo for a second transaction into a second PRB. Later, both redo are appended onto an ORL. The DBMS stores redo of first transactions in volatile SRBs (SLBs) respectively of database sessions. That redo is stored in a volatile shared buffer that is shared by the database sessions. Redo of second transactions is stored in the volatile shared buffer, but not in the SLBs. During re-silvering and recovery, the DBMS retrieves redo from fast persistent storage and then appends the redo onto an ORL in slow persistent storage. After re-silvering, during recovery, the redo from the ORL is applied to a persistent database block.
-
-
-
-
-
-
-
-
-