Patents by Inventor Ananth Raghavan
Ananth Raghavan has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Publication number: 20180253425Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.Type: ApplicationFiled: April 30, 2018Publication date: September 6, 2018Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
-
Patent number: 9965497Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.Type: GrantFiled: May 29, 2014Date of Patent: May 8, 2018Assignee: Oracle International CorporationInventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
-
Publication number: 20170116241Abstract: Systems for managing large database systems. Storage devices hold a set of one or more subject database tables that hold subject data accessed by one or more users. A data definition statement to perform a table alteration operation (e.g., a table partition operation) over a particular table in the subject database is received, parsed, and the table alteration operation over the particular table is initiated. During the processing of the data definition statement to complete the table alteration operation, a data manipulation statement to perform a table access operation over the same table is received and parsed. The data manipulation statement is not blocked, even while the table alteration operations are ongoing. Rather, during the time that the table alteration operations are ongoing, the data manipulation statement is processed using hidden tables. After the table alteration operations have completed, incoming data manipulation statements are performed over the altered database tables.Type: ApplicationFiled: September 16, 2016Publication date: April 27, 2017Applicant: Oracle International CorporationInventors: Ramesh KUMAR, Ananth RAGHAVAN, George EADON
-
Publication number: 20170116253Abstract: A method commences upon receiving a database language statement pertaining to a database comprising database objects that are accessed by computing processes. The method analyzes the database language statement to form or identify a cursor object that has dependencies on one or more referenced data objects. The cursor object is associated with a set of cursor attributes that are stored in a cursor metadata data structure. By analyzing a subsequently-received database language statement, the method determines one or more operations to operate over at least one of the data objects. Rules are applied to the cursor attributes and/or to the operations and/or to objects referenced in the cursor so as to determine whether or not to invalidate the cursor object. The cursor may be considered at a later time for possible later invalidation or revalidation based on processing of later received database language statements and/or based on a later event.Type: ApplicationFiled: September 15, 2016Publication date: April 27, 2017Applicant: Oracle International CorporationInventors: George EADON, Ananth RAGHAVAN, Ramesh KUMAR
-
Publication number: 20170109377Abstract: A database engine performs row filtering operations concurrently with performing database object partition maintenance operations. The filtering operations do not incur the high processing costs of database delete or purge operations that would incur per row costs for logging, locking, etc. The partitioning and filtering operations are specified in multiple clauses of a single database language statement. The clauses of the statement are executed concurrently. A method implementation receives a database language statement that comprises a partitioning operation specification as well as a filtering operation specification that includes a logical predicate for determining whether or not to filter-out predicate-matching entries when forming the resulting partitioned target database object. While processing the partitioning operations, the method discards entries taken from the source database object whenever the entry corresponds to the logical predicate.Type: ApplicationFiled: September 15, 2016Publication date: April 20, 2017Applicant: Oracle International CorporationInventors: Hermann BAER, Ananth RAGHAVAN
-
Publication number: 20170109386Abstract: Techniques are described herein for creating a new database table for an exchange operation with a table partition of another table. A database management system (DBMS) is configured to receive a query such as “CREATE TABLE new_table FOR EXCHANGE FROM partition_P1”. The DBMS then identifies properties of the source partition (e.g., partition P1) and creates a new database table based on the properties identified. Some of these properties (e.g., hidden columns, data modeling frameworks, and table statistics) may not otherwise be directly accessible by the external entity that sent the query. The newly created table then has all of the necessary properties to be part of the other table if swapped with the source partition in an exchange operation.Type: ApplicationFiled: August 4, 2016Publication date: April 20, 2017Inventors: Hermann Baer, Ramesh Kumar, Ananth Raghavan
-
Patent number: 9507825Abstract: Techniques for partition pruning based on aggregated zone map information. In one embodiment, for example, a method for pruning partitions based on aggregated zone map information comprises: receiving a query statement comprising a filter predicate on a column of a database table; and pruning one or more partitions of the database table from access paths for processing the query statement based on determining, based on aggregated zone map information associated with the one or more partitions, that the filter predicate cannot be satisfied by data stored in the one or more partitions.Type: GrantFiled: April 4, 2014Date of Patent: November 29, 2016Assignee: Oracle International CorporationInventors: Hermann Baer, Mohamed Ziauddin, Ananth Raghavan
-
Patent number: 9489413Abstract: Techniques for maintaining a global index in response to a partition being dropped are provided. In response to an instruction to drop a partition, partition identification data that identifies the partition is stored. Index entries, in the global index, that correspond to the dropped partition become “orphaned” entries. Later, an execution plan for a query is processed, where the execution plan targets a global index. During execution of the execution plan, one or more index entries are accessed. For each accessed index entry, the partition identification data is analyzed to determine if the index entry is an orphaned entry. If so, then the index entry is ignored for purposes of the query. Later, the global index may be updated to delete each orphaned entry. Such deletion may occur much later, such as during a time when the database is not queried or updated frequently.Type: GrantFiled: March 31, 2014Date of Patent: November 8, 2016Assignee: Oracle International CorporationInventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
-
Publication number: 20150347401Abstract: Techniques are provided for moving data between partitions. Such a process may be performed without requiring any locks that block transactions that target a partition from being executed. Instead, such transactions may proceed while a move operation is being performed. The move operation involves copying data from the targeted partition to another partition that is hidden from (or “invisible” to) those transactions that attempt to read from or write to the partition. During the move operation, changes that are made to the partition are also reflected in a journal. Eventually, the changes reflected in the journal are drained and applied to the hidden partition. Once the partition and the hidden partition are synchronized, the identities of the partitions are swapped so that future transactions will target the previously-hidden partition instead of the previously-viewable partition.Type: ApplicationFiled: May 29, 2014Publication date: December 3, 2015Applicant: Oracle International CorporationInventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
-
Publication number: 20150302035Abstract: Techniques for creating and using partial indexes are provided. A partial index is an index that indexes one or more partitions of a partitioned table and does not index one or more other partitions of the partitioned table. Thus, if a partition of a partitioned table is rarely used, then an index may index all other partitions of the partitioned table or at least only those partitions that are written to or read from relatively frequently. Also, in preparation for loading data into a partition, indexing for the partition may be “turned off”, effectively making a full index a partial index. While the data is loaded into the partition, the partial index is still available for query processing. After the data is loaded into the partition, indexing for the partition is “turned on”, which causes the data in the partition to be indexed by the partial index.Type: ApplicationFiled: April 17, 2014Publication date: October 22, 2015Applicant: Oracle International CorporationInventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
-
Publication number: 20150286681Abstract: Techniques for partition pruning based on aggregated zone map information. In one embodiment, for example, a method for pruning partitions based on aggregated zone map information comprises: receiving a query statement comprising a filter predicate on a column of a database table; and pruning one or more partitions of the database table from access paths for processing the query statement based on determining, based on aggregated zone map information associated with the one or more partitions, that the filter predicate cannot be satisfied by data stored in the one or more partitions.Type: ApplicationFiled: April 4, 2014Publication date: October 8, 2015Applicant: Oracle International CorporationInventors: Hermann Baer, Mohamed Ziauddin, Ananth Raghavan
-
Publication number: 20150278327Abstract: Techniques for maintaining a global index in response to a partition being dropped are provided. In response to an instruction to drop a partition, partition identification data that identifies the partition is stored. Index entries, in the global index, that correspond to the dropped partition become “orphaned” entries. Later, an execution plan for a query is processed, where the execution plan targets a global index. During execution of the execution plan, one or more index entries are accessed. For each accessed index entry, the partition identification data is analyzed to determine if the index entry is an orphaned entry. If so, then the index entry is ignored for purposes of the query. Later, the global index may be updated to delete each orphaned entry. Such deletion may occur much later, such as during a time when the database is not queried or updated frequently.Type: ApplicationFiled: March 31, 2014Publication date: October 1, 2015Applicant: Oracle International CorporationInventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
-
Publication number: 20150278275Abstract: Techniques for processing “destructive” database statements are provided. Destructive database statements, when processed, cause metadata of a database object to be changed. Examples of such database statements include ones that delete an index, that set a column as unused, and that drop a constraint on a column. When such a statement is received, a change is made to metadata of a database object. Such a metadata change may involve setting an index as unusable, disabling a constraint, or invalidating a cursor. After the metadata change, a first time is determined. Then, it is determined when one or more database transactions that were pending at the first time have committed. After those database transaction(s) have committed, one or more operations are performed, such as dropping an index or dropping a constraint.Type: ApplicationFiled: March 31, 2014Publication date: October 1, 2015Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Ramesh Kumar, Ananth Raghavan, George Eadon
-
Patent number: 8620888Abstract: Techniques are described herein for partitioning a database table using a virtual column as the partitioning key. A virtual column is defined by the database to contain results of a defining expression. Partitioning can be performed using a variety of partitioning schemes, such as range partitioning and hash partitioning. The partitions are automatically updated to reflect changes to the values in the base columns upon which the virtual column depends. Partition pruning and parallel-wise partition joins can be performed on database tables which have been partitioned on virtual columns.Type: GrantFiled: December 6, 2007Date of Patent: December 31, 2013Assignee: Oracle International CorporationInventors: Subhransu Basu, Harmeek Singh Bedi, Ananth Raghavan
-
Patent number: 8356014Abstract: A method and apparatus for referencing a partition of a data storage space in a request to perform an operation with relation to the partition are disclosed. The techniques disclosed do not rely on knowing the partition's name, thus simplifying the process of requesting a database to perform an operation on a partition when that partition's name is unknown. Data such as a DDL statement is received. The data indicates a value in a FOR clause in lieu of the partition name. The data also indicates an operation to be performed with respect to a particular partition of the partitioned space. The particular partition is not named in the received data. Based on the value, it is determined that the particular partition is a first partition. The operation is performed with respect to the first partition.Type: GrantFiled: June 15, 2007Date of Patent: January 15, 2013Assignee: Oracle International CorporationInventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
-
Patent number: 8209294Abstract: A method and apparatus for managing data in a partitioned data storage space is provided. Data referencing a new data item to be stored in the data storage space is received. It is determined that the data item does not pertain to any previously created partition. In response to the determination, a new partition is automatically created in the data storage space. The partition is mapped to a new set of values, such as to a next unpartitioned interval of dates or numbers.Type: GrantFiled: June 15, 2007Date of Patent: June 26, 2012Assignee: Oracle International CorporationInventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
-
Patent number: 8195702Abstract: Techniques are provided for processing a CREATE INDEX statement that avoids one or more locks on the underlying table. The processing of such a statement may be divided into a build phase and a cooperation phase. During the build phase, a journal table is created and published. A snapshot of the table is obtained after the last DML transaction (that was pending at the time the journal table was published) commits. The index is built based on the state of the table as of the snapshot. Any changes to the table while the index is built are recorded in the journal table. During the cooperation phase, the index is partially published. A subsequent DML statement determines whether any changes in the journal table affect the same data as the subsequent DML statement. If so, then those changes are applied to the index followed by the subsequent DML statement.Type: GrantFiled: July 30, 2007Date of Patent: June 5, 2012Assignee: Oracle International CorporationInventors: Shrikanth Shankar, Ramesh Kumar, Krishna Kunchithapadam, Ananth Raghavan, Dheeraj Pandey, Amit Ganesh, Joy M. Forsythe
-
Patent number: 8135688Abstract: A method and apparatus for the on-demand allocation of segments and creation of metadata for previously-created data storage spaces and partitions are provided. A space is created in a database. As part of this creation process, no segment is allocated for the space. Rather, metadata describing the space sufficiently to allocate the segment in the future is created and maintained by the database. Data is received indicating a new item. Based on the metadata, it is determined that the new item pertains to the space. In response to the determination, a segment is allocated for the space. Additional metadata necessary for normal database operations in relation to the space and newly-allocated segment may also be created at this time. The new item can then be stored in the space.Type: GrantFiled: June 15, 2007Date of Patent: March 13, 2012Assignee: Oracle International CorporationInventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
-
Patent number: 8041691Abstract: Techniques for a data definition language (DDL) statement acquiring a lock on a table in wait mode in a deadlock free manner are provided. A DDL statement specifies metadata of a table that is to be modified, whereas a data manipulation language (DML) statement specifies a table to be modified. When a DDL statement is received, a proxy statement is initiated and executed instead of first acquiring an exclusive lock on metadata of a particular table. The proxy statement is similar to a DML statement in that the proxy statement acquires a lock on the particular table. After the proxy statement has been processed, an exclusive lock on the metadata is acquired.Type: GrantFiled: July 30, 2007Date of Patent: October 18, 2011Assignee: Oracle International CorporationInventors: Ananth Raghavan, Shrikanth Shankar, Ramesh Kumar
-
Patent number: 7966330Abstract: Techniques are described for performing partition pruning in situations where previous database servers could not. Specifically, techniques are provided for (1) performing partition pruning based on predicates that involve non-prefix subsets of composite partitioning keys, (2) performing partition pruning when a global index access path is used to execute a query, and (3) performing partition pruning when predicates on partitioning columns are OR-ed together. More generally, techniques are described for partition pruning based on a non-contiguous set of not-pruned partitions.Type: GrantFiled: October 12, 2010Date of Patent: June 21, 2011Assignee: Oracle International CorporationInventors: Ananth Raghavan, Shrikanth Shankar