Whatever topic has been discussed on this blog is my own finding and views, not necessary match with others. I strongly recommend you to do a test before you implement the piece of advice given at my blog.
Expert Oracle RAC
3.08.2010
Congratulations to Mr. Sabdar and Mr. Ben Prusinski
Many congratulations to my fellow Oracle ACEs, Mr. Syed Sabdar Hussain (my brother) and Mr. Ben Prusinski (friend and co-author of my upcoming Oracle 11g RAC book) whose short interview published in Oracle Magazine's (March/April 2010 edition) peer-to-peer section.
3.05.2010
Book Review: Oracle 11g Streams Implementer's Guide
I know its been more than a month I had promised to write a review on this book at my blog. The fact is that I was occupied by too many production critical issues that doesn't allow me to concentrate on any thing. Nevertheless, I took sometime time to fulfill my promise and here is my chapter-by-chapter review:
Chapter 1: All the Pieces: The Parts of an Oracle 11g Streams Environment
I strongly believe in that the basic understanding of any architecture is the most important factor for the successful implementation.This is one of the most vital chapter of the book where it discussed thoroughly setting about various types of streams environments, such as, single database, bi-directional, master-to-master plus it also talked about the their architecture and some internal mechanics. Some very important key factors that are involved in the implementation phase, like, the importance of network design involved between the sites, important initialization parameters that are needed to tweak for the good performance also have been discussed in this chapter.
Chapter 2: Plot Your Course: Design consideration
This chapter provides the guidelines on the details to be considered during the streams design phase. It talks about the business requirement of your data, talks about the strategies on 'Who, What, when, Where, Why and How' terms. The other important key factor involved in the implementation is about the resource requirements on the server and the additional cost involved with the implementation.
Conclusion: The chapter provides the insights needed to design and the strategies, server resources and other important factors required during the stream implementation phase.
This chapter talks about the the pre configuration work that is needed for streams implementation. Where it discussed the importance of having reliable and stable network setup, important database parameters, setting up supplemental logging on the database, required Streams Administrator user and its permissions. It also suggest to have a separate tablespace for the LogMiner to avoid using SYSTEM or SYSAUX tablespaces are being used.
Conclusion: Over all, its a nice chapter discussing the pre work that is required for the streams implementation.
This chapter demonstrated how to setup a single-source (uni-directional) streamed environment utilizing one of the convenient methods, Enterprise Manager (DB Console) wizards. Subsequently discussed the code which run behind the screen step-by-step. It also demonstrated how to schedule the jobs.
Chapter 5: N-Way Replication
This chapter neatly explains about building N-Way replication(between multiple sources) topic, such as, pre-planning, techniques,avoiding conflicts, setup and etc.
Chapter 6: Get Fancy with Streams Advanced Configurations
As the heading states, this chapter explained some of the advanced configuration features of Streams, such as, synchronizing capture, tag, rules, heterogeneous replication (basics) and etc. I particularly liked all the examples shows on its way of explanation about the advanced features.
Chapter 7 : Document What You Have and How It Is Working
I must totally agree with the authors on this point (preparing documents). This chapter started with a strong question, 'concern of loosing a key member of any team?'. Correct me if I am wrong saying if there is any boring part for the technical guys is the documentation part, don't you agree with my guys? The goal of this chapter is to use some of the Oracle packages to learn how to document, set up and monitor Streams environment.
This chapter has discussed the techniques for identifying and troubleshooting issues with Streams when there is a change or even no changes made. There is an in-depth explanation about the approach while doing any changes to the Stream environment, whether the change directly reflects the Streams environment or may impact from the outside of the environment.
Chapter 9: Appendix and Glossary
This chapter discussed various other options, such as Streams on Oracle RAC, Oracle GolddenGate and alternative method of monitoring streams.
Overall Impression:
I strongly recommend this book to fellow Oracle DBAs who are planning to setup Streams Environment or also who already implemented the streams and wanted to monitor their environment. I thoroughly enjoyed and learned many practical implementation details and insights in this book. Finally, I thank Shernell at Packt Publications for providing me an opportunity to read and write a review for this book.
2.10.2010
Why alter system kill session IMMEDIATE is good
I am pretty sure that many of us come across of situations when a killed session by 'alter system kill session' command did put the session in 'KILLED' status and never released the session for a long time on the database. It could be due to the fact that the session would be rolling back the ongoing transaction.
Whenever we are in such situation, we generally try to find out the OS pid (on UNIX OS) associated with the killed session (which is a bit difficult task, as the killed session paddr in v$session changes while the addr corresponding value in v$process does not), and kill the associated OS process with 'kill -9' command on the OS level.
I have found the IMMEDIATE option with the 'alter system kill session' is more useful as it writes the following information in the alert.log file after killing the session and also try to finish the things at the earliest possible to close the session from the database:
As you see, it writes the time stamp when the session was killed, and also gives the associated OS pid of the killed session in the alert.log. As per Oracle documentation, 'Specify
Syntax:
Regards,
Jaffar
Whenever we are in such situation, we generally try to find out the OS pid (on UNIX OS) associated with the killed session (which is a bit difficult task, as the killed session paddr in v$session changes while the addr corresponding value in v$process does not), and kill the associated OS process with 'kill -9' command on the OS level.
I have found the IMMEDIATE option with the 'alter system kill session' is more useful as it writes the following information in the alert.log file after killing the session and also try to finish the things at the earliest possible to close the session from the database:
Wed Feb 10 11:02:39 2010 Immediate Kill Session#: 515, Serial#: 36366 Immediate Kill Session: sess: c0000001be20d9f0 OS pid: 14686
As you see, it writes the time stamp when the session was killed, and also gives the associated OS pid of the killed session in the alert.log. As per Oracle documentation, 'Specify
IMMEDIATE to instruct Oracle Database to roll back ongoing transactions, release all session locks, recover the entire session state, and return control to you immediately.'Syntax:
alter system kill session 'sid,serial#' IMMEDIATE;
Regards,
Jaffar
2.02.2010
What happens when the dump file and log file names are the same during expdp?
Though it was a silly mistake, I felt discussing the funny part here.
Few days ago, I was doing an export (datapump) and come across the following error:
For the first few minutes, I was wondering what went wrong and started checking all the arguments that were passed with expdp command as the error message suggested 'invalid argument value'. After confirming everything is fine with the command and then started looking at the subsequent error messages. My second thought was, the file could be already exits. I deleted the file and run the expdp command which result in same error.
Any guesses what could be wrong here? Well, no prize for guessing. It was a silly mistake that I had committed. I had given the similar file name to the dumpfile and logfile arguments in the expdp command.
Sometime we may overlook the basic problems.
Happy reading,
Jaffar
Few days ago, I was doing an export (datapump) and come across the following error:
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options ORA-39001: invalid argument value ORA-39000: bad dump file specification ORA-31641: unable to create dump file "/tmp_backup/dpump/text.dmp" ORA-27038: created file already exists Additional information: 1
For the first few minutes, I was wondering what went wrong and started checking all the arguments that were passed with expdp command as the error message suggested 'invalid argument value'. After confirming everything is fine with the command and then started looking at the subsequent error messages. My second thought was, the file could be already exits. I deleted the file and run the expdp command which result in same error.
Any guesses what could be wrong here? Well, no prize for guessing. It was a silly mistake that I had committed. I had given the similar file name to the dumpfile and logfile arguments in the expdp command.
Sometime we may overlook the basic problems.
Happy reading,
Jaffar
1.27.2010
Book Review: Oracle 11g Streams Implementers Guide
Very soon I will be receiving the 'Oracle 11g Streams Implementers Guide' ebook by Packt Publishing and will spend some time to read the book to write the review on my blog. In the meantime, if you want to learn more about this book, you can visit here.
Happy reading,
Jaffar
Happy reading,
Jaffar
Subscribe to:
Posts (Atom)