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: 20180253425
    Abstract: 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: Application
    Filed: April 30, 2018
    Publication date: September 6, 2018
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Patent number: 9965497
    Abstract: 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: Grant
    Filed: May 29, 2014
    Date of Patent: May 8, 2018
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20170116241
    Abstract: 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: Application
    Filed: September 16, 2016
    Publication date: April 27, 2017
    Applicant: Oracle International Corporation
    Inventors: Ramesh KUMAR, Ananth RAGHAVAN, George EADON
  • Publication number: 20170116253
    Abstract: 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: Application
    Filed: September 15, 2016
    Publication date: April 27, 2017
    Applicant: Oracle International Corporation
    Inventors: George EADON, Ananth RAGHAVAN, Ramesh KUMAR
  • Publication number: 20170109377
    Abstract: 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: Application
    Filed: September 15, 2016
    Publication date: April 20, 2017
    Applicant: Oracle International Corporation
    Inventors: Hermann BAER, Ananth RAGHAVAN
  • Publication number: 20170109386
    Abstract: 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: Application
    Filed: August 4, 2016
    Publication date: April 20, 2017
    Inventors: Hermann Baer, Ramesh Kumar, Ananth Raghavan
  • Patent number: 9507825
    Abstract: 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: Grant
    Filed: April 4, 2014
    Date of Patent: November 29, 2016
    Assignee: Oracle International Corporation
    Inventors: Hermann Baer, Mohamed Ziauddin, Ananth Raghavan
  • Patent number: 9489413
    Abstract: 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: Grant
    Filed: March 31, 2014
    Date of Patent: November 8, 2016
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150347401
    Abstract: 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: Application
    Filed: May 29, 2014
    Publication date: December 3, 2015
    Applicant: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150302035
    Abstract: 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: Application
    Filed: April 17, 2014
    Publication date: October 22, 2015
    Applicant: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150286681
    Abstract: 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: Application
    Filed: April 4, 2014
    Publication date: October 8, 2015
    Applicant: Oracle International Corporation
    Inventors: Hermann Baer, Mohamed Ziauddin, Ananth Raghavan
  • Publication number: 20150278327
    Abstract: 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: Application
    Filed: March 31, 2014
    Publication date: October 1, 2015
    Applicant: Oracle International Corporation
    Inventors: Ananth Raghavan, George Eadon, Ramesh Kumar, Hermann Baer, Suresh Sridharan
  • Publication number: 20150278275
    Abstract: 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: Application
    Filed: March 31, 2014
    Publication date: October 1, 2015
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Ramesh Kumar, Ananth Raghavan, George Eadon
  • Patent number: 8620888
    Abstract: 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: Grant
    Filed: December 6, 2007
    Date of Patent: December 31, 2013
    Assignee: Oracle International Corporation
    Inventors: Subhransu Basu, Harmeek Singh Bedi, Ananth Raghavan
  • Patent number: 8356014
    Abstract: 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: Grant
    Filed: June 15, 2007
    Date of Patent: January 15, 2013
    Assignee: Oracle International Corporation
    Inventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
  • Patent number: 8209294
    Abstract: 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: Grant
    Filed: June 15, 2007
    Date of Patent: June 26, 2012
    Assignee: Oracle International Corporation
    Inventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
  • Patent number: 8195702
    Abstract: 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: Grant
    Filed: July 30, 2007
    Date of Patent: June 5, 2012
    Assignee: Oracle International Corporation
    Inventors: Shrikanth Shankar, Ramesh Kumar, Krishna Kunchithapadam, Ananth Raghavan, Dheeraj Pandey, Amit Ganesh, Joy M. Forsythe
  • Patent number: 8135688
    Abstract: 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: Grant
    Filed: June 15, 2007
    Date of Patent: March 13, 2012
    Assignee: Oracle International Corporation
    Inventors: Shrikanth Shankar, Ananth Raghavan, Badhri G. Varanasi
  • Patent number: 8041691
    Abstract: 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: Grant
    Filed: July 30, 2007
    Date of Patent: October 18, 2011
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, Shrikanth Shankar, Ramesh Kumar
  • Patent number: 7966330
    Abstract: 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: Grant
    Filed: October 12, 2010
    Date of Patent: June 21, 2011
    Assignee: Oracle International Corporation
    Inventors: Ananth Raghavan, Shrikanth Shankar