2013/12/21

AZEROUG I Hands-On Lab - Installation Oracle Database 11g on Oracle Linux 6.4

Azerbaijan Oracle User Group I Hands-On Lab / 21.12.2013 - Azercell Plaza, Baku, Azerbaijan
Installation Oracle Database 11g on Oracle Linux 6.4 (Video)





About Hands-On lab in Azerbaijani language : Oracle 11gR2 Hands-On praktiki qurulumu


Regards
Mahir M. Quluzade

2013/12/05

Oracle Day in Baku State University Took Place

Me with Ismail, Ramin and Samir
"Oracle Day in Baku State University" took place on 4th December 2013 at Applied Mathematics and Cybernetics faculty. There are 3 sector in Applied Mathematics and Cybernetics faculty so students study in English, Russian and Azerbaijani language. Therefore, organizer is divided meeting into 2 parts. First part was in Russian language, second part in Azerbaijani language.

Important note : each speaker in this meeting has graduated Baku State University, Applied Mathematics and Cybernetics faculty.

Meeting started with Ramin Samedov's speech. Ramin is OCP DBA. His topic was "Oracle Database: How to became Oracle DBA". He talked about oracle architecture in Russian language and answered student' questions.

Second speaker of for Russian sector was Ismail Aliyev, who is student of this faculty and OCA PL/SQL Developer. He talked about SQL and PL/SQL in Russian language. Ismail showed very good examples.
My session at Oracle Day in BSU

Meeting continued with speeches in Azerbaijani language.

I talked overview of Oracle Database. I talked about history of oracle database, oracle database architecture, tools for DBAs and Maximum availability architecture in Azerbaijani language and answered questions.

Last speaker was Samir Samedov. He talked about SQL and PL/SQL and showed many examples. Samir is OCM DBA and co-author of book SQL in azerbaijan language. (Ramin is also author of this book )

I hope, see you next meeting.
At the end, I want to thank specifically to Prof. Dr. Alekber Aliev, who is a teacher of our faculty and organizer of this very nice meeting.

Photos from meeting:

Prof. Dr. Alekber Aliyev


Ismail Aliyev
Ramin Samedov


Samir Samedov
Mahir M. Quluzade 





















Regards
Mahir M. Quluzade

2013/11/27

Oracle Day in Baku State University - 4th December 2013


Are you a student of Baku State University ?
Do you want to know about Oracle Database ?
Do you want to listen presentations from the professionals ?

If the answers are YES then you have a big chance.

The event is free to attend, but just for Baku State University students.
The information support partner is InfoCity.

Agenda is follow:

Speaker
Subject
Alikper Aliyev, Professor,
Doctor of Technical Science

Opening Oracle Day. Suggestions to students in the Oracle way.

Ramin Samadov,
PashaBank, Head of Systems Support. Oracle OCP
Oracle Database: how to become DBA (ru)
Ismail Aliyev,
PL\SQL Developer OCA
Oracle SQL & PL\SQL Fundamentals (ru)
Mahir M. Quluzade,
Central Bank DBA,
OCP/OCE
Oracle Database Overview (az)
Samir Samadov,
Oracle Certified Master,
PhD of Technical Science

Oracle SQL & PL\SQL Fundamentals. Oracle DB is not Black Box (az)



The place:  Baku, Azerbaijan
When:        Wednesday 4th December 2013
Time:         10:00 – 13:35
Where:      Azerbaijani-Korean Information Center at Baku State University (3-rd floor),
                 Academic Zahid Khalilov street, 23.

This will be the perfect opportunity for you to meet some professional specialists in their area and have a chat with them.

If you have additional questions please write to info@sql.az

We look forward to seeing you there!

Regards
Mahir M. Quluzade

2013/11/18

Kitab incələmə: SQL asan yanaşma yolu (Genişləndirilmiş versiya)


(blog post in Azerbaijani)

Təqdimat mərasimi

Azərbaycan dilində informasiya texnologiyaları movzusunda yazılmış kitab çox azdır. Bu tip kitabların az olmasının ən böyük səbəbi İT sahəsinə aid rəsmi terminaloji tərcümənin olmamasıdır. Buna baxmayaraq son illərdə bir neçə texniki nəşrlə tanış olmaq imkanım olmuşdur. Bu kitablardan biri Samir Səmədov (OCM11g, www.ocm.az) və Ramin Səmədov (OCP11g) qarşlarının müəllifliyi ilə çap olunmuş “SQL asan yanaşma yolu” kitabıdır.

Bu günlərdə bu kitabın yeni bir versiyası, “SQL Genişləndirilmiş versiya” kitabının İnfoCityAli və Nino mağazalar şəbəkəsininin dəstəyi ilə təqdimat mərasimi təşkil olunmuşdu və mən də bu tədbirə dəvət olunmuşdum. Samir və Raminə dəvətə görə xüsusi təşəkkür edirəm. Tədbir həqiqətən gözəl təşkil olunmuşdu.

SQL Asan yanaşma yolu - Genişləndirilmiş versiya:

Bu kitabın birinci versiyası ilə də tanış olmaq imkanım olmuşdu. Kitabın ikinci versiyası mənə də hədiyyə olunduğundan, oxumaq imkanım da oldu. İlk öncə onu deyə bilərəm ki, kitab asan dildə yazılıb. Operatorların asan başa düşülməsi üçün yaxşı nümunələr verilib. Kitabda select operatoru, group by, order by, alt sorğular və SQL funksiyalarının işləmə prinsipləri azərbaycanca yaxşı izah olunub. Eyni zamanda bu kitaba yeni mövzular əlavə olunub, beləki siz ierarxiya (rekursiv-dövri) sorğularla, indexlərlə (bitmap) bağlı birinci versiyada olmayan məlumatlarla tanış ola bilərsiniz. Bundan əlavə explain plan, hintlər və sorğuların məhsuldarlığının artırılması yolları barədə məlumatlar da kitabın bu verisyasına daxil edilmişdir.

Kitabın mündəricatı ilə aşağıda tanış ola bilərsiniz.



Bu kitab universitet tələbələri, SQL-ə yeni başlayanlar, verilənlər bazası proqramçıları, bir sözlə SQL-i öyrənmək istəyən hər kəs üçün nəzərdə tutulub.

“SQL asan yanaşma yolu”-nun kitabın genişləndirilmiş versiyasını “Ali və Nino” və “Akadem kitab” kitab dükanından da ala bilərsiniz. Kitab həm də M.F. Axundov adına "Azərbaycan Milli Kitabxanasına"da verilib, kitabxanada da oxumaq imkanınız var.

Kitab barədə daha geniş məlumat almaq üçün: http://www.sql.az səhifəsinə keçid edə bilərsiniz.

Hörmətlə
Mahir M. Quluzadə
http://www.mahir-quluzade.com

2013/10/10

Book Review: Expert Oracle RAC 12c

As you know, the Oracle Database with the Oracle Real Application Clusters (RAC) option allows running multiple database instances on different servers in the cluster against a shared set of data files, also known as the database. The database spans multiple hardware systems and yet appears as a single unified database to the application. This enables the utilization of commodity hardware to reduce total cost of ownership and to provide a scalable computing environment that supports various application workloads. Oracle RAC is Oracle’s premier shared disk database clustering technology.


I finished review of the book about Oracle RAC technology - "Expert Oracle RAC 12c" by authors Syed Jaffar Hussain (Oracle ACED, DBA of the Year for 2011), Tariq Farooq (Oracle ACED), Riyaj Shamsudeen (Oracle ACED, Member of OakTable Network) and Kai Yu (Oracle ACED, Technologist of the Year for 2012)  published by APRESS. 

The book "Expert Oracle RAC 12c" is covered every aspect of Oracle Real Application Clusters. It means, the book do not covered only new features of Oracle RAC 12c, but every chapter assumed the latest version of Oracle RAC 12cR1. You can find everything of about Oracle RAC in this book. If you want learn deep Oracle RAC 12c, then you must start read this book. You can read my review of each chapter at below, so every chapter is detailed and you can read valuable explanations, in other words experience of authors in each chapter. As you know each author of this book is famous expert on Oracle. 

Please, see the content of the book at below:

Chapter 1: Overview of Oracle RAC by Kai Yu

This chapter covered explanation of High Availability, Database Scalability, also Oracle RAC architecture, so RAC: Cache Fusion and background processes. Achieving the benefits of Oracle RAC is covered TAF, FCF and AC (Application Continuity in 12c) configurations. And you find “RAC or Not” question's answer in this chapter.    

Chapter 2: Clusterware Stack Management and Troubleshooting by Syed Jaffar Hussain and Kai Yu

This chapter described the architecture and complex technical stack of Oracle Clusterware and explains how those components works. This chapter also discussed some new features Oracle Clusterware features intrduced in Oracle 12cR1. You can find examples for diagnose, debug, trace clusterware and explanation solution for RAC issues, so this chapter discussed trobleshooting and monitoring tools and utilities.

Chapter 3: RAC Operational Practices by Riyaj Shamsudeen

As you see name of chapter, this chapter covered very nice explanation of services. Also explained how to using services for application workloads, load balancing. This chapter described SCAN IP, SCAN Listeners and says don't allow an application to connect to VIP listeners directly. In this chapter you can find answers “how to configure TAF, FCF ?“and “what is Transactional Guard (12c) and Application Continuity (12c) ?” questions. Also this chapter covered practical information about RAC Database Management.  

Chapter 4: New Features in RAC 12c by Syed Jaffar Hussain, Kai Yu and  Tariq Farooq

It is very interesting chapter for me, because this chapter is covered new features in RAC 12c. In this chapter you can read very good explanation Flex Cluster Architecture, Oracle Flex Automatic Storage Management (Flex ASM) mechanism. Also you can read other new features of Flex ASM, such as Scrubbing ASM disk groups, EXPLAIN WORK (for tuning rebalance operation), how to using PDB's on RAC and etc..      

Chapter 5: Storage and ASM Practices by Kai Yu

This chapter, discussed storage - one of the key in Oracle RAC database. You can read deep information about storage architecture and configuration for RAC, also RAID configurations and Storage protocols. This chapter also explained Oracle Automatic Storage Management (ASM), ASM Instance, ASM Storage Architecture and Management ASM Disk groups with SQL*Plus and ASMCA and ASM Cloud File System. You can find answer for "How to store ORC and VOTE files in ASM Disk group?" question in this chapter.   

Chapter 6: Application Design Issue by Riyaj Shamsudeen

As you know bad design of application is decrease performance of database. This chapter discussed design patterns, methods to troubleshoot these issue and possible strategies for resolving them. So, this chapter discussed localized inserts, sequence cache, excessive commits, and index design in Oracle RAC databases.

Chapter 7: Managing and Optimizing a Complex RAC Environment by Syed Jaffar Hussain and Tariq Farooq

This chapter starting “Shared vs Non-Shared Database home” and continue with very good explanation of Server pools in RAC. Also you can read about Policy-Managed databases. I sure "Understanding, Debugging and Preventing Node Evictions" will very interesting for you in this chapter.  

Chapter 8: Backup and Recovery in RAC by Syed Jaffar Hussain

This chapter covered Backup and Recovery on Oracle RAC databases. You can read about best database backup strategies, RAC standby databases, Management RMAN with OEM 12c and OCR backups, recovery scenarios in this chapter.

Chapter 9: Network Practices by Riyaj Shamsudeen and Kai Yu

As you know, the network is important part of RAC infrastructure. This chapter covered all aspect of network for RAC. You can read valuable explanations network protocols, VIPs, cluster interconnects, SCAN VIP and Listeners, load balancing and failover on network, name resolution on DNS and etc. in this chapter.   

Chapter 10: RAC Database Optimization by Riyaj Shamsudeen

This chapter covered with explanation of Global Cache Fusion processing, also Performance Analysis on Oracle RAC database using ADDM, AWR and ASH reports. You can read about all RAC wait events and DRM processing and troubleshooting DRM in this chapter.

Chapter 11: Locks and Deadlocks by Riyaj Shamsudeen

Resources and locks are maintained in GRD by GES layer of RAC code. This chapter covered Resources and Locks in RAC database.  In addition, you can read the LMD process prints essential details in a trace file, and the analysis of LMD trace files.

Chapter 12: Parallel Query in RAC by Riyaj Shamsudeen

This chapter covered Parallel Execution (PX ) of SQL statement in RAC database. Also explained PX and Cache Fusion dependencies, so Parallelism features (In-Memory parallelism and Auto DOP) and RAC in this chapter

Chapter 13: Clusterware and Database Upgrades by Syed Jaffar Hussain

As you know, every time upgrade is important and difficult task for RAC databases. You can read every steps of Clusterware and RAC Database upgrade task in this chapter.

Chapter 14: RAC One Node by Syed Jaffar Hussain

RAC One Node (RON) as “the always-on single-server database” typically provides a traditionally cold failover solution. This chapter explained RON and covered deployment, management RON database. Also relocations RON database with Cloud Control 12c.

I want share little information about the authors: 

Syed Jaffar Hussain has over 20 years I.T. experience that includes more than 12 years of production Oracle database administration.  Oracle has honored him with the prestigious Oracle ACE Director role, and named him DBA of the Year for 2011, both for his excellent knowledge and contributions to the Oracle community. He is an Oracle Certified Master (OCM). Syed Jaffar is coauthor of Oracle 11g R1/R2 Real Application Clusters Essentials, and he blogs regularly at: http://jaffardba.blogspot.com

Tariq Farooq is an Oracle Technologist/Architect/Problem-Solver and has been working with various Oracle Technologies for 20+ years in very complex environments at some of the world's largest organizations. He is the founding President of the IOUG Virtualization & Cloud Computing Special Interest Group. He is an active Community Leader/Organizer, Speaker, Author, Forum contributor, and Blogger. He is the founder of www.brainSurface.com, a Social Networking & IT Collaboration site for the various Oracle Communities with thousands of signed-up users. Tariq is an Oracle RAC Certified Expert, holds a total of 14 professional Oracle Certifications and, is the author of 100+ articles, whitepapers & other publications. Tariq has been awarded the Oracle ACE and ACE Director awards from 2010 - 2013.

Riyaj Shamsudeen is an industry-recognized RAC expert and performance tuning specialist with 19+ years of experience in implementing, using, and tuning RAC and Oracle products. He is an Oracle ACE Director and proud member of the OakTable network. Riyaj has co-authored many books about Oracle Database. He is an active blogger (at http://orainternals.wordpress.com) and frequent international speaker in major conferences such as UKOUG, HOTSOS, Open World, and RMOUG.

Kai Yu is a Senior Principal Engineer and technologist in Dell’s Oracle Solutions Engineering Lab specializing in Oracle RAC, Oracle Virtualization, and Cloud. With 18+ years of experience working on Oracle technology, he has implemented and managed many large, mission-critical Oracle RAC databases, including those in his tenure with an IT organization having more than two thousand RAC databases.  He has also keynoted at Oracle Architect Day. ... He was awarded the Oracle ACE Director title in 2010, given the Oracle ACE Spotlight in 2011 by Oracle Technology Network (OTN), and named the 2011 OAUG Innovator of Year Award by the Oracle Applications User Group (OAUG). In 2012, Oracle Magazine awarded him the  Oracle Excellence Award: Technologist of the Year: Cloud Architect. Kai has been active in sharing his Oracle knowledge on his Oracle blog at http://kyuoracleblog.wordpress.com/.

Conclusion: Expert Oracle RAC 12c is a hands-on book will help you understand and implement Oracle Real Application Clusters (RAC). I want thank to all authors for this book. I finished read this book, but I'll read this book again.  I think this book must be read two or more time. 


p.s. I want share links of this book with you, I bought this book from Amazon. 




Regards
Mahir M. Quluzade

Oracle Certified Expert, 
Oracle Real Application Clusters 11g and Grid Infrastructure

2013/10/02

IEEE Day 2013 - Best 10 New Feature of Oracle Database 12c



Yesterday, I attended Institute of Electrical and Electronics Engineers IEEE Day 2013 Baku, Azerbaijan conference at Qafqaz University. IEEE Day 2013 is important anniversary that engineers worldwide celebrate the first time when IEEE members gathered to share their technical ideas in 1884. It is fourth celebration worldwide and first in Azerbaijan take placed at the Qafqaz University in Baku.

While the world benefits from what’s new, IEEE is focused on what’s next. Thus, this year the theme of IEEE Day have been "Leveraging Technology for a Better Tomorrow".



These are full-day hands-on technical seminars on a wide range of Technology topics for IT Professionals and Students to help them become Technologically Updated. All speakers are high level certified IT and technical professionals with rich experience of applying their knowledge in corporations and businesses.


Speakers

Technical Sessions:
  • Database Administration & Development
  • Network, Platforms & Supercomputing
  • Software Development & Frameworks
  • Cloud Implementations
  • Workshop & Closing

I have spoke "Best 10 New Features of Oracle Database 12c" at Database Administration & Development session. You can see all photos my session from this link: My Photos

I want thank to Prof. Dr. Ahmet Sanich, Rector of Qafqaz University and Special thanks Assos. Prof. Abzetdin Adamov, Chair of Computer Engineering Department of Qafqaz University for organization of IEEE Day 2013.


For more information:
http://www.ieee.org
http://www.ieeeday.org
http://ce.qu.edu.az/IEEEDay2013/


Regards
Mahir M. Quluzade

2013/09/11

OTN Article : Oracle Data Guard 12c: “Synchronous redo transport”

OTN (Oracle Technology Network) Portuguese published our article :
Oracle Data Guard 12c: “Synchronous redo transport” by authors Joel Perez (Oracle ACED), Rodrigo Mufalini (Oracle ACE) and Mahir M. Quluzade (OCE)













You can read article from :

In English Language: Oracle Data Guard 12c: “Synchronous redo transport” (in English Language)
In Portuguese Language:  Oracle Data Guard 12c: “Synchronous redo transport” (in Portuguese Language)

My special thank to my friends Joel and Rodrigo for support.


Regards
Mahir M. Quluzade

2013/07/18

Book Review : Oracle Data Guard 11gR2 Administration Beginner's Guide



Just finished review of book "Oracle Data Guard 11gR2 Administration Beginner's Guide” by authors, my dear friends Emre Baransel and Nassyam Basha.

"Oracle Data Guard 11gR2 Administration Beginner's Guide” book is a good introduction to Oracle Data Guard 11g R2 with examples that will be useful to all DBA’s. It is also is a very good book in terms of helping beginner- readers from creating and configuring Oracle Data Guard (11g R2) configurations. By reading this book one will learn what standby databases, protection modes, transport and apply services including role transitions. The book also covered Active Data Guard and dedicated chapter for patching and Common Data Guard issues.

This book is an ideal book for somebody who wants begin to learn quickly about Data Guard. The book covered Oracle Data Guard 11gR2 with 11 chapters, 385 pages. Every chapter has a pop quiz, time for action and has a lot of tips and tricks. Really, I liked this style of this book very much.
When reading this book, you learn every chapter is reflects authors’ experience. I liked all chapters of the book as Data Guard lover, but my favorite chapters are chapters 6, 7 and 11. Please, see the content of the book below:

Chapter 1, Getting Started - this chapter is covering Oracle Data Guard architecture, definition and features of Data Guard, evolution of Oracle Data Guard, overviews of physical, logical and snapshot standby databases. The chapter very provides very good explanation on work principle of Oracle Data Guard Services (transport, apply, role transition) and there are interesting comparison with other replication solutions of Oracle at the end of the chapter. 

Chapter 2, Configuring the Oracle Data Guard Physical Standby Database – in this chapter you learn how to prepare primary database for Data Guard create a physical standby database including post tasks with a step-by-step approach. The chapter provides very good explanation on Data Guard related initialization parameters. You can find verification steps of the physical standby database recovery including real-time apply in this chapter.

Chapter 3, Configuring Oracle Data Guard Logical Standby Database – this chapter is covering how to prepare a logical standby database configuration step-by-step. You learn what is data guard status, how to change data guard status, what is SQL apply process and how to create objects on logical standby database with examples.

 Chapter 4, Oracle Data Guard Broker – this chapter is covering the very good explanation on implementation and management of the Data Guard administration framework Data Guard broker. You learn steps how to configure fast-start failover – (FSFO) and explanations monitoring broker - managed Data Guard and troubleshooting the Data Guard broker and observer configuration.

Chapter 5, Data Guard Protection Mode - this chapter is focusing on the three data protection modes (Maximum Performance, Maximum Availability, Maximum Protection) of Oracle Data Guard. You learn from this chapter how to change protection modes using SQL*Plus, the Data Guard broker, and Enterprise Manager Cloud Control and this chapter also explain how to choose true protection mode for your Data Guard Configuration.

Chapter 6, Data Guard Role Transitions – this chapter is covering on Role Transition service of Data Guard. You learn from this chapter, necessary steps to accomplish successful switchover and failover operations on standby database.

Chapter 7, Active Data Guard, Snapshot Standby – this chapter is my favorite chapter. The chapter covering Active Data Guard (ADG) and Snapshot Standby Database (it is new features of Oracle Database 11g R2). This chapter has very nice explanation on ADG is how to integrate applications, what are benefits of ADG; also explains how to use snapshot standby, implement cascade standby databases, configure heterogeneous Data Guard setup.

Chapter 8, Integrating Data Guard with the Complete Oracle Environment – this chapter explains the Data Guard configuration with RAC; also you learn from this chapter how to integrate Data Guard with Enterprise Manager Grid Control and how to use RMAN on primary and standby databases.

Chapter 9, Data Guard Configuration Patching – this chapter explains how to apply one-off patches and patch set updates to databases in a Data Guard environment, and some best practices of patching.

Chapter 10, Common Data Guard Issues – it is very interesting chapter. You learn from this chapter, which problems occur on Data Guard configurations. This chapter gives practical information about solution for some very common issues in Data Guard .For example: redo transport authentication problems, UNNAMED data files on standby database.    

Chapter 11, Data Guard Best Practices – this chapter covering how to make a Data Guard configuration perfect and take maximum advantage of Data Guard properties. In this chapter you learn about the important connection failover terms – Transparent Application Failover (TAF), Fast Connection Failover (FCF), and Fast Application Notification (FAN); Also rolling upgrade using transient logical standby and corruption detection, and prevention and automatic repair with Oracle Active Data Guard you learn from this chapter

I want to thank my friends Emre and Nassyam very much for this book and my special thanks to Packt Publications team for sending me this e-book for review.

The link to buy this book from Packt Publishing :http://www.packtpub.com/oracle-data-guard-11gr2-administration-beginners-guide/book

Regards. 
Mahir M. Quluzade


2013/05/15

Converting an Administrator-Managed Database to a Policy-Managed Database and vise versa.


Hi, 

Cluster database configuration can be Policy-Managed or Administrator-Managed. A Policy-Managed database is dynamic with instances managed automatically based on server pools for effective resource utilization. Admin-Managed database results in instances tied to specific servers. 


When we create 11g Release 2 RAC database, on database configuration assistant’s 3 of 13 step we must choose Configuration type : Admin-Managed or Polisy-Managed.



As you know, we can convert configuration type of Oracle RAC Database after installation.In this post I want share steps of conversion of Admin-Managed database to Policy managed (Case #1) and Policy-Managed to Admin-Managed (Case #2). In my case my test RAC Database (racdb) is created Adminstrator-Managed.
Case #1 : Convert Administrator-Managed Database to Policy-Managed Database
Checking configuration of racdb database.

[oracle@oel62-rac1 /]$ srvctl config database -d racdb   
 Database unique name: racdb  
 Database name:   
 Oracle home: /u01/app/oracle/product/11.2.0/dbhome  
 Oracle user: oracle  
 Spfile:   
 Domain:   
 Start options: open  
 Stop options: immediate  
 Database role: PRIMARY  
 Management policy: AUTOMATIC  
 Server pools: racdb  
 Database instances: racdb1,racdb2  
 Disk Groups: DATA,FRA  
 Mount point paths:   
 Services:   
 Type: RAC  
 Database is administrator managed  
 [oracle@oel62-rac1 /]$  

1. Create a server pool for the Policy-Managed database

 [oracle@oel62-rac1 /]$ srvctl add srvpool -g PMSRVPOOL -l 0 -u 2  
 [oracle@oel62-rac1 /]$ srvctl config serverpool  
 Server pool name: Free  
 Importance: 0, Min: 0, Max: -1  
 Candidate server names:   
 Server pool name: Generic  
 Importance: 0, Min: 0, Max: -1  
 Candidate server names: oel62-rac1,oel62-rac2  
 Server pool name: PMSRVPOOL  
 Importance: 0, Min: 0, Max: 2  
 Candidate server names:   
 [oracle@oel62-rac1 /]$   

2. Modify the database to be in the new server pool, as follows:

 [oracle@oel62-rac1 /]$ srvctl modify database -d racdb -g PMSRVPOOL  
 [oracle@oel62-rac1 /]$ srvctl config database -d racdb   
 Database unique name: racdb  
 Database name:   
 Oracle home: /u01/app/oracle/product/11.2.0/dbhome  
 Oracle user: oracle  
 Spfile:   
 Domain:   
 Start options: open  
 Stop options: immediate  
 Database role: PRIMARY  
 Management policy: AUTOMATIC  
 Server pools: PMSRVPOOL  
 Database instances:   
 Disk Groups: DATA,FRA  
 Mount point paths:   
 Services:   
 Type: RAC  
 Database is policy managed  

Servers already located in PMSRVPOOL
 [oracle@oel62-rac1 /]$ srvctl status srvpool  
 Server pool name: Free  
 Active servers count: 0  
 Server pool name: Generic  
 Active servers count: 0  
 Server pool name: PMSRVPOOL  
 Active servers count: 2  

3. Last step is configuration of Oracle Enterprise Manager

Documentation says :  


Configure Oracle Enterprise Manager to recognize the change you made in the previous procedure, as follows:

  1. In order for Oracle Enterprise Manager Database Control to recognize the new database instances, you must change the instance name fromdb_unique_name# to db_unique_name_# (notice the additional underscore (_) before the number sign (#) character).
  2. Rename the orapwd file in the dbs/database directory (or create a new orapwd file by running the orapwd command). By default, there is an orapwd file with the instance name appended to it, such as orapwdORCL1. You must change the name of the file to correspond to the instance name you changed in the previous step. For example, you must change orapwdORCL1 to orapwdORCL_1 or create a new orapwd file.
  3. Run emca to reconfigure Oracle Enterprise Manager Database Control, as follows:
    emca -config dbcontrol db –cluster

Database is Policy Managed, now.


 [oracle@oel62-rac1 /]$ srvctl config database -d racdb   
 Database unique name: racdb  
 Database name:   
 Oracle home: /u01/app/oracle/product/11.2.0/dbhome  
 Oracle user: oracle  
 Spfile:   
 Domain:   
 Start options: open  
 Stop options: immediate  
 Database role: PRIMARY  
 Management policy: AUTOMATIC  
 Server pools: PMSRVPOOL  
 Database instances:   
 Disk Groups: DATA,FRA  
 Mount point paths:   
 Services:   
 Type: RAC  
 Database is policy managed  
 [oracle@oel62-rac1 /]$   

Case #2 : Convert Policy Managed Database to Administrator Managed Database

Documentation says:

You cannot directly convert a policy-managed database to an administrator-managed database. Instead, you can remove the policy-managed configuration using the srvctl remove database and srvctl remove service commands, and then register the same database as an administrator-managed database using the srvctl add database and srvctl add instance commands. Once you register the database and instance, you must use the srvctl add service command to add back the services as you removed them.

1. Remove database with SRVCTL tool.
 [oracle@oel62-rac1 /]$ srvctl remove database -d racdb  
 PRKO-3141 : Database racdb could not be removed because it was running  

If your database running you can use –f (force) for remove running database. But this way is not recommended.
Stopping database and removing.
 [oracle@oel62-rac1 /]$ srvctl stop database -d racdb   
 [oracle@oel62-rac1 /]$ srvctl status database -d racdb   
 Instance racdb1 is not running on node oel62-rac1  
 Instance racdb2 is not running on node oel62-rac2  
 [oracle@oel62-rac1 /]$ srvctl remove database -d racdb  
 Remove the database racdb? (y/[n]) y  
 [oracle@oel62-rac1 /]$ srvctl status database -d racdb  
 PRCD-1120 : The resource for database racdb could not be found.  
 PRCR-1001 : Resource ora.racdb.db does not exist  
 [oracle@oel62-rac1 /]$   

2. Add database Administrator Managed

 [oracle@oel62-rac1 /]$ srvctl add database -d racdb -o /u01/app/oracle/product/11.2.0/dbhome -y automatic  
 [oracle@oel62-rac1 /]$ srvctl config database -d racdb  
 Database unique name: racdb  
 Database name:   
 Oracle home: /u01/app/oracle/product/11.2.0/dbhome  
 Oracle user: oracle  
 Spfile:   
 Domain:   
 Start options: open  
 Stop options: immediate  
 Database role: PRIMARY  
 Management policy: AUTOMATIC  
 Server pools: racdb  
 Database instances:   
 Disk Groups:   
 Mount point paths:   
 Services:   
 Type: RAC  
 Database is administrator managed  
 [oracle@oel62-rac1 /]$   

3. Adding database instances

 [oracle@oel62-rac1 /]$ srvctl add instance -d racdb -i racdb1 -n oel62-rac1  
 [oracle@oel62-rac1 /]$ srvctl add instance -d racdb -i racdb2 -n oel62-rac2  
 [oracle@oel62-rac1 /]$   
 [oracle@oel62-rac1 /]$ srvctl start database -d racdb   
 [oracle@oel62-rac1 /]$ srvctl status database -d racdb   
 Instance racdb1 is running on node oel62-rac1  
 Instance racdb2 is running on node oel62-rac2  
 [oracle@oel62-rac1 /]$ srvctl config database -d racdb  
 Database unique name: racdb  
 Database name:   
 Oracle home: /u01/app/oracle/product/11.2.0/dbhome  
 Oracle user: oracle  
 Spfile:   
 Domain:   
 Start options: open  
 Stop options: immediate  
 Database role: PRIMARY  
 Management policy: AUTOMATIC  
 Server pools: racdb  
 Database instances: racdb1,racdb2  
 Disk Groups: DATA,FRA  
 Mount point paths:   
 Services:   
 Type: RAC  
 Database is administrator managed  
 [oracle@oel62-rac1 /]$   

4. You must configure Oracle Enterprise Manager on last step.
References : 

Oracle Real Application Clusters Administration and Deployment Guide 11g Release 2 (11.2)
Policy Managed Databases and Server Pools – by Aychin Gasimov


Regards
Mahir M. Quluzade

2013/05/10

Which device is mapped Oracle ASM disk?


Hi,

Yesterday Yuva Kishore is commented on my Oracleasm - Instantiating disk : failed post and asked a question: We can list the asm disks (listdisks) but where can we find the mapping that ASMDISK1 is mapped to /dev/sda1 and so on? 

I want answer this question with this post.

If you  are using ASMLib for configure ASM Disks, then you can use following steps for define which device mapped which ASM Disk.

As you  know, oracleasm listdisks is return only ASM disk names

[grid@oel62-rac1 ~]$ oracleasm listdisks
ASMDISK01
ASMDISK02
ASMDISK03
ASMDISK04
ASMDISK05
[grid@oel62-rac1 ~]$ 

If you want find which ASM disk is mapped which device, then you must use oracleasm querydisk with ASM disk name.

[grid@oel62-rac1 ~]$ oracleasm querydisk -d ASMDISK01
Disk "ASMDISK01"  Is a valid ASM disk On device[8,17] 

As see you, ASMDISK01 is valid ASM disk on device [8,17].

What is means?


It means ASMDISK01 is mapped to device [8,17].

How to find [8,17] device?


We must use Linux ls –l  command as below.

[grid@oel62-rac1 ~]$ ls -l /dev/* | grep 8, | grep 17
brw-rw----  1 root disk  8,  17 Apr 16 15:27 

Now, we can say ASMDISK01 is mapped to /dev/sdb1.

Regards
Mahir M. Quluzade

2013/05/07

Oracle Data Guard 11g - Redo Transport User

Hi,

As you know when we create Data Guard Configuration, we must copy password file. Because SYS user is default redo transport user on Data Guard configurations.

SYS password is changed on primary

When we change SYS password on primary database, redo transport service is stopping and we are getting error: ORA-01031: insufficient privileges. When redo transport failed for this reason we can recreate standby password file with copy from primary side. Same time we can change redo transport user, by setting REDO_TRANSPORT_USER with SYSOPER privileged user. I demonstrated in two case, when SYS password changing on primary database.

Password files.

Traditionally we are coping password file from primary with operating system command (cp, copy). After Oracle Database 11g version RMAN can duplicate password file with DUPLICATE command, so when we using RMAN DUPLICATE command with FOR STANDBY FROM ACTIVE DATABASE option, we can use PASSWORD FILE option for copy primary database password file to standby database.

Documentation says :

PASSWORD FILE

Specifies that RMAN should use the password file on the source database to overwrite the password file currently used by the auxiliary instance. This option is only valid when FROM ACTIVE DATABASE is specified; otherwise, RMAN signals an error.If FOR STANDBY is specified, then RMAN copies the password file by default; if not specified, then RMAN does not copy the password file by default. You can use PASSWORD FILE to request that RMAN overwrite the existing password file with the password file from the source database. If you want the duplicate database to contain all the passwords available on your production database, then use the PASSWORD FILE option.


Demonstrations.

1. In this case transport service running on Primary database, Standby database opened Read Only With Apply (Active Data Guard is running). REDO_TRANSPORT_USER parameter is not set on both side.

SQL> show parameter redo_transport_user 

NAME                 TYPE             VALUE 
------------------- ------------- ----------------- 
redo_transport_user string

On primary side:

SQL> alter system switch logfile; 

System altered. 

SQL> select max(sequence#)  from v$archived_log; 

MAX(SEQUENCE#) 
-------------- 
    307 

SQL> select process, status from v$managed_standby; 

PROCESS   STATUS 
--------- ------------ 
ARCH   CLOSING 
ARCH   CLOSING 
ARCH   CONNECTED 
ARCH   CLOSING 
LNS    WRITING

Alter log of primary database:

****************************************************************** 
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2 
****************************************************************** 
Wed May 01 12:06:51 2013 
Archived Log entry 611 added for thread 1 sequence 307 ID 0xf23a6e3f dest 1: LNS: Standby redo logfile selected for thread 1 sequence 308 for destination LOG_ARCHIVE_DEST_2

On standby side :

SQL> select max(sequence#)  from v$archived_log;

MAX(SEQUENCE#) 
-------------- 
   307 

Alert log of standby database:

Media Recovery Waiting for thread 1 sequence 308   
Wed May 01 12:06:51 2013   
Archived Log entry 308 added for thread 1 sequence 307 
ID 0xf23a6e3f dest 1:   
Wed May 01 12:06:51 2013   

Primary database is in MAXIMUM PERFORMANCE mode ASYNC transport going normally. Now I'm changing SYS password of primary.

SQL> alter user SYS identified by SYSPass1;

User altered.

SQL> alter system switch logfile;

System altered.

SQL> select process, status from v$managed_standby; 

PROCESS STATUS 
--------- ------------ 
ARCH OPENING 
ARCH CLOSING 
ARCH CONNECTED 
ARCH CLOSING 
LNS OPENING 

Alert log of primary database:

******************************************************************   
 LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2   
 ******************************************************************   
 Error 1031 received logging on to the standby   
 Error 1031 for archive log file 3 to 'stldb'   
 Wed May 01 12:15:15 2013   
 Archived Log entry 613 added for thread 1 sequence 308 ID 0xf23a6e3f dest 1:   
 Errors in file /u01/app/oracle/diag/rdbms/admdb/admdb/trace/admdb_nsa2_2698.trc:   
 ORA-01031: insufficient privileges   
 Wed May 01 12:16:01 2013   
 Error 1031 received logging on to the standby   
 PING[ARC2]: Heartbeat failed to connect to standby 'stldb'. Error is 1031.   

Yes, we are getting error when changed SYS password. I coping primary password for standby with Linux copy command (cp)

[oracle@oel62-x64 dbs]$ cp orapwadmdb orapwstldb 

Trying again.
SQL> alter system switch logfile;   

System altered.   

SQL> /   

System altered.   

SQL> select max(sequence#) from v$archived_log;   

MAX(SEQUENCE#)   
--------------   
        310   

Alert log of primary database:

******************************************************************   
 LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2   
 ******************************************************************   
 Wed May 01 12:19:06 2013   
 Archived Log entry 614 added for thread 1 sequence 309 ID 0xf23a6e3f dest 1:   
 LNS: Standby redo logfile selected for thread 1 sequence 310 for destination LOG_ARCHIVE_DEST_2   
 Wed May 01 12:19:07 2013   
 ARC3: Standby redo logfile selected for thread 1 sequence 309 for destination LOG_ARCHIVE_DEST_2   
 Thread 1 cannot allocate new log, sequence 311   
 Checkpoint not complete   
  Current log# 1 seq# 310 mem# 0: /u01/app/oracle/oradata/admdb/redo01.log   
 Thread 1 advanced to log sequence 311 (LGWR switch)   
  Current log# 2 seq# 311 mem# 0: /u01/app/oracle/oradata/admdb/redo02.log   

On Standby:

SQL> select max(sequence#) from v$archived_log;   

MAX(SEQUENCE#)   
--------------   
     310   

Alert log of standby database:

RFS[18]: Assigned to RFS process 5039   
RFS[18]: Selected log 4 for thread 1 sequence 308 dbid -231090113 branch 813174214   
Recovery of Online Redo Log: Thread 1 Group 4 Seq 308 Reading mem 0   
 Mem# 0: /u01/app/oracle/oradata/stldb/sredo01.log   
Wed May 01 12:15:14 2013   
Media Recovery Waiting for thread 1 sequence 309   
Wed May 01 12:15:14 2013   
Archived Log entry 309 added for thread 1 sequence 308 ID 0xf23a6e3f dest 1:   
Wed May 01 12:19:05 2013   
Primary database is in MAXIMUM PERFORMANCE mode   
RFS[19]: Assigned to RFS process 5184   
RFS[19]: Selected log 4 for thread 1 sequence 310 dbid -231090113 branch 813174214   
Wed May 01 12:19:07 2013   
RFS[20]: Assigned to RFS process 5186   
RFS[20]: Selected log 5 for thread 1 sequence 309 dbid -231090113 branch 813174214   
Wed May 01 12:19:08 2013   
Recovery of Online Redo Log: Thread 1 Group 5 Seq 309 Reading mem 0   
 Mem# 0: /u01/app/oracle/oradata/stldb/sredo02.log   
Wed May 01 12:19:08 2013   
Archived Log entry 310 added for thread 1 sequence 309 ID 0xf23a6e3f dest 1:   
Media Recovery Waiting for thread 1 sequence 310 (in transit)   
Recovery of Online Redo Log: Thread 1 Group 4 Seq 310 Reading mem 0   

Transport continue normally after copy password file of primary database to standby side.

2. In this case I create a user and granting SYSOPER and setting REDO_TRANSPORT_USER to this user.

On primary side :

SQL> create user RTU identified by rtu; 

User created. 

SQL> grant SYSOPER to RTU; 

Grant succeeded. 

SQL> select *  from v$PWFILE_USERS; 

USERNAME     SYSDB SYSOP SYSAS 
------------------------------ ----- ----- ----- 
SYS          TRUE  TRUE  FALSE 
RTU          FALSE TRUE  FALSE

SQL> alter system set REDO_TRANSPORT_USER='RTU';

System altered. 

SQL> show parameter REDO_TRANSPORT_USER 

NAME         TYPE  VALUE 
------------------ --------- --------------- 
redo_transport_user  string  RTU 

Alert log of primary database:

Wed May 01 12:29:10 2013 
redo_transport_user changed to RTU 

On Standby side :
SQL> select username from all_users 
  2> where username ='RTU'; 

USERNAME 
------------------------------ 
RTU 

SQL> select *  from v$pwfile_users; 

USERNAME         SYSDB SYSOP SYSAS 
------------------------------ ----- ----- ----- 
SYS          TRUE  TRUE  FALSE 

SQL> grant SYSOPER to RTU; 
Grant succeeded. 

SQL> alter system set REDO_TRANSPORT_USER=RTU; 

System altered. 

Now we can check, transport process.

On primary:
SQL> alter system switch logfile; 

System altered. 
 
SQL> select max(sequence#)  from v$archived_log; 

MAX(SEQUENCE#) 
-------------- 
    314 
On standby side :
SQL> select max(sequence#)  from v$archived_log; 

MAX(SEQUENCE#) 
-------------- 
    314 

Redo transport service using RTU user for transport redo from primary to standby database. I changing
SYS user password on primary again.

SQL> alter user sys identified by SYSPass2;

User altered.

On primary :

SQL> alter system switch logfile; 

System altered. 

SQL> select max(sequence#)  from v$archived_log; 
MAX(SEQUENCE#) 
-------------- 
    315 

On Standby side : 
SQL> select max(sequence#) from v$archived_log; 

MAX(SEQUENCE#) 
-------------- 
    315 


It means transport is not stopped. If we change RTU user’s password then Redo Transport will stop, Because RTU user is privileged SYSOPER and this password change must be on password file. It means, if we change RTU user’s password we must copy password file from primary to standby side, again.

Conclusion

Password files must be same for Data Guard Configuration databases. In a Data Guard configuration, all physical and snapshot standby databases must use a copy of the password file from the primary database, and that copy must be refreshed whenever the SYSOPER or SYSDBA privilege is granted or revoked, and after the password of any user with these privileges is changed.

Regards
Mahir M. Quluzade

2013/02/20

Cluvfy error : Framework setup check failed on all the nodes

Hi

As you know Oracle recommends before installation Oracle Real Application Clusters 11g Release 2 run Cluster Verification utility with stage previous and post installation cluster ware or database.

Cluster verification utility help you for getting error before and after installation Oracle Grid Infrastructure and Real Application Clusters Database.

I getting following error :



[grid@oel62-rac1 grid]$ ./runcluvfy.sh stage -pre crsinst -n oel62-rac1,oel62-rac2 –verbose
…..
Checking user equivalence...
Check: User equivalence for user "grid"
  Node Name                             Status                 
  ------------------------------------  ------------------------   oel62-rac2                            passed                    oel62-rac1                            passed              


Result: User equivalence check passed for user "grid"

Verifying node connectivity Version of exectask could not be retrieved from node "oel62-rac2" Version of exectask could not be retrieved from node "oel62-rac1"
ERROR: Framework setup check failed on all the nodes
First call of Cluster Verification Utility (runcluvfy.sh) shall  create a folder /tmp/CVU_11.2.0.3.0_[grid|oracle|resource|...]. This folders contains shell scripts as fixup.sh. solved my problem with remove /tmp/CVU_11.2.0.3.0_* folders both nodes.
How to I got this error ?

I using Oracle VM Virtualbox as my test environment. I create a virtual machine, preparing this machine for installation (network settings, required packages, users, groups, system configurations) Oracle RAC. After completion preparation I cloning this virtual machine for second node. Before clone of machine I called a time Cluster Verification Utility. First time of call Cluster Verification Utility created a temporary folder with name /tmp/CVU_11.2.0.3.0_grid. If this folder is copied from first node to second node then you can get error Framework setup check failed on all the nodes.

Best Regards
Mahir M. Quluzade
                

2013/01/24

Oracle VM 3.2 Now Available

Oracle Virtualization product Oracle VM 3.2.1 now available. 

You can read press release here and Oracle VM 3.2.1 documentation here. Download Oracle VM from  edelivery.oracle.com 



Installation 



MySQL Database Support: MySQL Database is used as the bundled database for the Oracle VM Manager management repository for simple installations. Support for an existing Oracle SE/EE Database is still included within the installer so that you can perform a custom installation to take advantage of your existing infrastructure. Simple installation using the bundled MySQL Database is fully supported within production environments.

Discontinued inclusion of Oracle XE Databases: Oracle VM Manager no longer bundles the Oracle XE database as a backend database. If you are currently running Oracle VM Manager using Oracle XE and you intend to upgrade you must first migrate your database to Oracle SE or Oracle EE.


Improved Usability


Oracle VM Command Line Interface (CLI): The new Oracle VM Command Line Interface can be used to perform the same functions as the Oracle VM Manager Web Interface, such as managing all your server pools, servers and guests.

Health tab: Monitor the overall health and status of your virtualization environment and view historical statistics such as memory and CPU usage.


Sizes of disks, ISOs and vdisks: Oracle VM Manager now shows the sizes of disks, ISOs and vdisks within the virtual machine edit dialog, to make it easier to select a disk.

Hot-add a VNIC to a virtual machine: It is now possible to add a VNIC directly to a running virtual machine from within Oracle VM Manager.

Send messages to a virtual machine: Facilities have been provided within Oracle VM Manager to send messages directly to a virtual machine in the form of key-value pairs

New features more 



Regards
Mahir M. Quluzade