Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL
Help

Introduction

Introduction

The need for data replication is steadily increasing as more businesses are using distributed environments for various reasons. Access to this data in real time is becoming a necessity to compete in the global market. Global data integrity and consistency in such environments are equally important. Oracle Streams addresses these requirements well.

Oracle Corporation introduced Streams in Oracle9i Database Release 2 as its flagship solution for data replication and information sharing among applications and databases in distributed environments. Oracle Streams provides a sophisticated, flexible, and robust infrastructure that meets a wide variety of data replication needs. Its flexibility over traditional solutions for data replication allows users to select a single information sharing solution that can be deployed faster and at lower cost.

Streams is an integral part of the Oracle database. You do not have to license it separately or install any additional software.

Some of the strong features and options available in Oracle Streams are

  • Near real-time replication

  • Data integrity (follows transaction boundaries)

  • Automatic conflict resolution

  • Data transformations

  • Replication to multiple destinations from a single source

  • N-way replication

  • Detailed monitoring of the replication environment

  • Extensive rule management

  • Flexible configuration options and several configuration methods

In earlier Oracle releases, configuring and managing the Oracle Streams environment was somewhat complex. Several enhancements in Oracle Database 10g R2 made implementing, monitoring, and managing Streams very easy. Oracle Database 11g R2 takes the enhancements even further. With improvements in core Streams code, the replication performance has improved drastically. Also, management of complex Streams environments has become very easy.

Although the Oracle Streams product has been available since Oracle9i Database Release 2, there is a general lack of comprehensive literature. For a practicing DBA, there is not a single source that details how to configure the Streams environment or monitor and troubleshoot problems. For architects, a similar lack of concise information has deterred them from using Streams in their designs. This book attempts to fill this void by explaining the concepts behind the product. It offers practical advice from configuring to troubleshooting the Streams environment. As such, this book is a single source for Streams replication for DBAs, developers, and architects alike.

How to Use This Book

This book covers Streams from different perspectives, keeping in mind the needs of several different types of readers. Architects, developers, and DBAs will learn the concepts and get a good understanding of various Streams components. Also, DBAs will benefit from all the practical scripts and step-by-step instructions.

Very rarely would one read a technical book from cover to cover in one sitting. However, I urge all readers to begin by reading the first two chapters to get a good conceptual understanding of Streams. Thereafter, you can jump to any chapter to read about a specific Streams component or learn how to perform a specific task in Streams. For example, a practicing DBA who wants to set up a working Streams environment can jump straight to Chapter 8 and follow the step-by-step instructions to set up Streams. Or, because Oracle Enterprise Manager Grid Control 10.2.0.5 makes this job even easier, the DBA may want to check out Chapter 14 instead. Readers who are interested in learning more about apply process components can review Chapter 6. All readers will benefit from a detailed understanding of how rules are used in a Streams environment, which can be found in Chapter 3.

The book has 14 chapters and 5 appendixes, as described next.

Chapter 1: What Is Oracle Streams

This chapter introduces you to Oracle Streams replication. It discusses the Streams architecture and briefly explains various components. You should read this chapter to get familiar with its architecture and components.

Chapter 2: Using Oracle Streams

This chapter discusses how Streams replication can be configured to support various different requirements for replicated data. It also discusses how Streams technology can be leveraged to solve other business problems that do not necessarily need data replication.

Chapter 3: Streams Rules and Rule Sets

Oracle Streams uses rules and rule sets that control how data is captured and replicated. This chapter discusses what these rules are and how Streams uses them. Understanding of the rules is required when customizing a Streams environment that involves data transformations. You may skip this chapter until you have a working Streams environment. You can then review this chapter to get familiar with the rules and rule sets to understand how these work.

Chapter 4: Capture Process

This chapter discusses in detail how Streams captures the changes to replicate, the types of capture processes, the capture process components, and the capture process’s configuration, requirements, and limitations. It also explains how to create capture processes in various Streams environments.

Chapter 5: Staging and Propagation Process

This chapter explains what queues are, how to create them, and how Streams uses them to propagate captured messages. It discusses what propagation is and how to create it to support various Streams environments.

Chapter 6: Apply Process

This chapter discusses in detail how Streams applies the changes to the destination tables and discusses the apply process’s components, requirements, and limitations. It also discusses how to create the apply process and the various custom procedures that can be associated with it to handle errors, conflicts, or customization of data before that data is applied.

Chapter 7: Logical Change Records

The captured messages are internally formatted into Logical Change Records (LCRs). This chapter explains in detail what these LCRs are, what information they contain, and how to tap into that information. Accessing and modifying the LCR information will be required when customizing Streams to support business requirements. The chapter explains this by using a working example that demonstrates how to manipulate the LCR contents.

Chapter 8: Configuring Oracle Streams for Data Replication

After discussing the prerequisite tasks, this chapter describes in detail how to configure Streams replication. It discusses various different methods you can use. It also explains how to use the Oracle-provided APIs to configure simple Streams replication at various levels, such as the database, schema, and table levels. It discusses how to manually configure Streams replication using the supplied PL/SQL packages. Configuration of complex Streams replication in various topologies is also discussed. The example scripts in this chapter can be used to quickly create a simple Streams environment.

Chapter 9: Data Transformations

This chapter discusses Oracle-supplied procedures that transform contents in the LCR when the source and destination tables differ in definition and structure. It also explains, with examples, how to create your own data transformation functions and procedures to address your business requirements that cannot be met with Oracle-supplied procedures.

Chapter 10: Handling Data Conflicts

This chapter explains different types of data conflicts that may occur in a Streams environment. It discusses methods to avoid data conflicts and explains how to handle conflicts when they cannot be avoided. It explains how to use Oracle-provided conflict handler procedures to resolve the conflicts.

Chapter 11: Managing and Monitoring Streams Replication

This chapter discusses Streams management and monitoring tasks. The discussion includes how to start and stop Streams processes, how to change their parameters and other attributes, and how to monitor their status, state, and performance. It explains how to monitor transactions in a Streams environment. The chapter discusses the split and merge functionality and its management when there are multiple destinations for the same source database. The chapter also shows you how to install and use Streams Performance Advisor, which makes it very easy to monitor end-to-end Streams performance.

Chapter 12: Maintenance and Troubleshooting

This chapter discusses Streams maintenance and troubleshooting. The discussion includes how to modify existing Streams replication by adding new objects to replication, or remove existing objects or components. It also explains how to troubleshoot problems with Streams components and debug replication errors encountered by the apply process. The chapter shows you how to use the new Streams message tracking facility in troubleshooting replication problems. It also discusses how you can use the data comparison procedure to identify and correct data mismatches between the source and destination tables.

Chapter 13: Streams Performance Considerations

This chapter discusses common causes and problems that adversely affect replication performance. It discusses various techniques and configuration settings to improve overall Streams performance.

Chapter 14: Oracle Enterprise Manager Grid Control for Streams Replication

This chapter discusses how to use Oracle Enterprise Manager Grid Control 10.2.0.5 for configuring, managing, and monitoring the Streams replication environment.

Appendix A: Oracle Streams Best Practices

This appendix discusses Oracle’s best practices for successfully deploying Streams replication.

Appendix B: Oracle Streams Replication in a RAC Environment

This appendix discusses additional details for Streams configuration that are specific to an Oracle RAC environment.

Appendix C: Streams Health Check Report

This appendix discusses how to create and use the Streams Health Check report to document, review, and troubleshoot your Streams environment.

Appendix D: Data Dictionary Views for Streams Replication

This appendix provides a list of data dictionary and dynamic performance views containing information about Streams components and processes and their performance.

Appendix E: References

This appendix provides a list of all the Oracle Corporation material used as references for this book.

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint