Posts

Showing posts from 2012
Image
Using Triggers and Compound Triggers in Oracle 11g By Contributing Author on June 16, 2011 in Database Development , Oracle Database In database terminology, triggers are the objects which demonstrate the logic of schedule and automation. Triggers are automatically invoked at a defined event and timing without any explicit calls. The logic embedded within the trigger and invocation must be well directed and synchronized to maintain database purity. Oracle 11g made remarkable enhancements in Database Triggers. These enhancements and additions have transformed triggers into a logical, stable, and comprehensive database platform. In the past versions, developers used to face issues under certain conditions as listed below. Multiple triggers for single timing Mutating table confrontation Control the trigger execution by enabling and disabling it Introduction of compound triggers which triggers different logic at different timings, guaranteed execution sequence of t...

External Tables in Oracle 10g/11g Database: Part 1

http://www.packtpub.com/article/external-tables-oracle-10g-11g-database-part1 In this two-part article by Hector R. Madrid, we will learn about the External Tables in Oracle 10g/11g Database. When working in data warehouse environments, the Extraction—Transformation—Loading (ETL) cycle frequently requires the user to load information from external sources in plain file format, or perform data transfers among Oracle database in a proprietary format. This requires the user to create control files to perform the load. As the format of the source data regularly doesn't fit the one required by the Data Warehouse, a common practice is to create stage tables that load data into the database and create several queries that perform the transformation from this point on, to take the data to its final destination. A better approach, would be to perform this transformation 'on the fly' at load time. That is what External Tables are for. They are basically external files, managed either...

Partitioning an Existing Table using EXCHANGE PARTITION

Ref: http://www.oracle-base.com/articles/misc/PartitioningAnExistingTableUsingExchangePartition.php This article presents a simple method for partitioning an existing table using the EXCHANGE PARTITION syntax. The contents of the article should not be used as an indication of when and how to partition objects, it simply shows the method of getting from A to B. Remember, in many cases incorrect partitioning is worse than no partitioning! Create a Sample Schema Create a Partitioned Destination Table EXCHANGE PARTITION SPLIT PARTITION Related articles. Partitioned Tables And Indexes in Oracle 8i Partitioning Enhancements In Oracle9i Hash Partitioned Global Indexes in Oracle 10g Partitioning Enhancements in Oracle Database 11g Release 1 Partitioning an Existing Table using DBMS_REDEFINITION Create a Sample Schema First we create a sample schema as our starting point. -- Create and populate a small lookup table. CREATE TABLE lookup ( id NUMBER(10), description VARCHAR2(50) ); ALTER TABLE lo...

Informatica CDC for Real Time Data Capture

Thanks to my colleague Sobhan Surapaneni for helping me out with some of the details of CDC. Sobhan was the guy who made it all happen on the project and really knows this stuff cold. Introduction Traditional Data Warehousing and BI systems rely on batch data extraction and load routines (ETL or ELT) to acquire their data from sources. Depending on data timeliness needs, this may work for intervals down to perhaps one hour for small data sets. However as data timeliness needs go below what is reasonable with a batch process, a complete shift in technology is required. There are tools out there that acquire data in a “real-time” manner directly from the database log files and send individual transactions out over the wire to a target database. This post is about Informatica’s CDC product, but the lessons and the manner in which it works are similar for another popular product called Golden Gate from Oracle. Note the name Change Data Capture is not the best; this really is more abou...