Thursday, November 3, 2011

Oracle High Availability Architecture: Flashback Transaction

In the name of Allah, Most Gracious, Most Merciful.

In this article i will describe "Flashback Transaction" feature of Oracle 11g. Flashback Transaction is a part of Oracle High Availability Architecture. One a transaction is committed it cannot be rolled back. what if a user inserted some dummy rows and committed them accidentally and don't know the information inserted? He only remembers the approximate time of transaction and affected table. To remove these inserted and committed rows we will use flashback transaction feature of Oracle 11g.
Supplemental Logs should be added to use this feature. To do so run following commands from sys user.

$ sqlplus / as sysdba
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

Figure - 1

Now create a table and insert some rows in it and commit them to make it a transaction.

$ sqlplus scott/*****
SQL> create table myflashbacktable (acol number, bcol varchar2(50));
SQL> insert into myflashbacktable values (&acol, '&bcol');
SQL> commit;

Figure - 2

Now through database control or grid control search and flashback this transaction. Under "Availability" tab click the "View and Manager Transactions" link

Figure - 3

Provide the start time and end time parameters to search the transaction and provide the table and DB user parameters to narrow down the search. 

Figure - 4

Log miner is searching the transaction on provided table between start and end time parameters.

Figure - 5

Transactions are listed. select the transaction you want to flashback.


Figure - 6

Transaction details are listed click the "Flashback Transaction" button to flashback this transaction.

Figure - 7

Click Yes on confirmation screen.

Figure - 8

Information generation for flashback is in progress.

Figure - 9

Click "Finish" to flashback the transaction.

Figure - 10

Transaction is flash backed. Open the sqlplus and confirm that all three rows inserted are now removed.

Figure - 11


Insha-Allah this will help and serve the purpose. For any corrections and improvements please suggest.


Friday, October 28, 2011

How to Upgrade Oracle Enterprise Manager Grid Control Release 10.2.0.4 to 11.1.0.1

In the name of Allah, Most Gracious, Most Merciful.

In this article i will describe "How to upgrade Oracle Enterprise Manager Grid Control Release 10.2.0.4 to 11.1.0.1" on Red Hat Linux 5.3 OS. For this you have to download Oracle Enterprise Manager Grid Control 11gR1 from oracle website http://www.oracle.com/technetwork/oem/grid-control/downloads/index.htm 
Pre-Upgrade Tasks

1. Oracle WebLogic Server 10.3.2 should be installed. Guide available here
2. Upgrade the repository database to Oracle 11gR2. Guide available here
3. Take Cold backup of repository database.
4. Switch the repository database to archive log mode. (not mandatory)
5. Stop the OMS and agent connected to the repository database.
6. set parameter job_queue_processes to 0 for the duration of upgrade.
7. set parameter log_buffer parameter to 10485760 or higher.
8. set parameter processes to 500 or higher.
9. Grant execute on DBMS_RANDOM to SYSMAN and DBSNMP users.


Execute following query to see the log mode of the database.

$ sqlplus / as sysdba
SQL> select log_mode from v$database;
LOG_MODE
-----------
ARCHIVELOG


if it is in NOARCHIVELOG then execute following script to switch it to archivelog mode.

$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;

Stop OMS and agents connected to the repository database by following commands

$ $<OMS_HOME>/opmn/bin/opmnctl stopall
$ $<AGENT_HOME>/bin/emctl stop agent

Set database parameters and grants by following script

$ sqlplus / as sysdba
SQL> alter system set job_queue_processes=0;
SQL> alter system set log_buffer=10485760 scope=spfile;
SQL> alter system set processes=500 scope=spfile;
SQL> grant execute on DBMS_RANDOM to SYSMAN, DBSNMP;
SQL> shutdown immediate;
SQL> startup;

Upgrade Tasks


Unzip the installation source and start the installer by running following command


$ cd /tmp/GridControl
$ unzip GridControl_11.1.0.1.0_Linux_1of3.zip
$ unzip GridControl_11.1.0.1.0_Linux_2of3.zip
$ unzip GridControl_11.1.0.1.0_Linux_3of3.zip 

$ ./runInstaller

Figure - 1

Leave the email and support password blank and click Next.


Figure - 2

Click Yes.


Figure - 3

Click the "Skip Software Updates" and then click Next.


Figure - 4


Click "Upgrade to Enterprise Manager 11g" and then click Next.


Figure - 5

Select the Enterprise Manager 10g you want to upgrade and click Next.


Figure - 6


If all the tests are succeeded then click Next otherwise check and fix the problem.


Figure - 7


Enter the SYS users password for the repository database and click Next.


Figure - 8

Click Next.



Figure - 9

Enter WebLogic username and passwords and click Next.


Figure - 10


Click Next.


Figure - 11

Review information and click Install.



Figure - 12


View Progress.


Figure - 13

View Progress.


Figure - 14


View Progress.



Figure - 15


Open a new terminal, login with root, make a directory for oracle files and run the script in the above figure.

$ mkdir /usr/local/bin/gc11g
$ /u01/oracle/Middleware/oms11g/allroot.sh


Figure - 16


Provide the directory path created above when prompted then click OK on figure 15.


Figure - 17

View Progress.



Figure - 18


View Progress.


Figure - 19

Note the Enterprise Manager URL and then click Close. Open the URL in brower.


Figure - 20


Enter username and password for repository database and click Login.


Figure - 21


Oracle Enterprise Manager Grid Control Release 10.2.0.4 is upgraded to 11.1.0.1.

Post-Upgrade Tasks


Reset the job_queue_processes parameter.


$ sqlplus / as sysdba
SQL> alter system set job_queue_processes=10;
SQL> exit;

Insha-Allah this will help and serve the purpose. For any corrections and improvements please suggest.

Monday, October 24, 2011

How to install Oracle WebLogic Server 10.3.2 on Red Hat Enterprise Linux 5.3

In this article I will describe the installation of Oracle WebLogic Server 10.3.2 on Red Hat Enterprise Linux 5.3 OS. Download wls1032_linux32.bin from oracle website and copy to a /tmp folder. Run the installer as follows.


$ cd /tmp
$ ./wls1032_linux32.bin


Figure - 1

Click Next.


Figure - 2


Enter Middleware Home Directory path and click Next.


Figure - 3

Uncheck Oracle Support Check Box and click Next.


Figure - 4

Choose "Typical" Installation and click Next.

Figure - 5


Click Next.


Figure - 6

Click Next.


Figure - 7


View Progress.


Figure - 8


Uncheck "Run Quickstart" and click Done. Run the config.sh file from <MIDDLE_HOME>/wlserver_10.3/common/bin directory as shown in figure below.


Figure - 9


Configuration screen appears.


Figure - 10
 Check "Create a new WebLogic domain" box and click Next.


Figure - 11


Check "WebLogic Advanced Web Services Extension" and click Next.


Figure - 12


Enter Domain name and click Next.


Figure - 13


Enter User Name and Password for administrator user and click Next.


Figure - 14

Provide at least Jdk 1.6 update 18 and click Next. If Jdk is not already installed then install Jdk first.


Figure - 15




Check "Administration Server" and click Next.


Figure - 16

Enter information as in above screen and click Next.


Figure - 17


Review information and click Create.


Figure - 18

View Progress.


Figure - 19


Click Done. Change directory to <MIDDLE_HOME>/user_projects/domains/mydomain and run startWebLogic.sh file as follows.


Figure - 20
One WebLogic Server is started enter the URL in browser as follows. http://127.0.0.1:7001/console



Figure - 21

Provide admin user's password and click Login. Oracle WebLogic Server 11g Administration home page will appear as follows.


Figure - 22


Oracle WebLogic Server 11g 10.3.2.0 is installed.


 
Insha-Allah this will help and serve the purpose. For any corrections and improvements please suggest.