Some Like it DBCA others prefer manual JVM Installs

Introduction

For a couple of databases  I had to  install the Java Virtual Machine after the Database had been created. First attempt was  using the DBCA  gui  to get that done so i started it and  made the obvious choices  to work with A Rac database , to configure the database options  and selected the  Database I wanted to work with ( in the list only databases showing no instances).  DBCA was not so nice to me this time, telling me: “service name or Instance name not specified”. Hmm  well since i knew i can do without GUI  anyhow i decided to take the manual route and leave DBCA  be  for the moment. So lets saddle up and do it the old  – still – going strong  command line way .

My environment is a Linux 5 enterprise edition, my Oracle version is 11.2.3.0. My Database is a two Instance Rac Database.

Manual Installation:

In order to  install the JVM  i decided it would be best to have the database  in an exclusive way so after contacting customer  and getting his okay  my first step was to shut down the Rac database. I had two screens open  one to tail the alertlog and in  the other in the Linux Prompt i had :

srvctl stop database -d MYDB

Alert log showed that the database was coming down smoothly so it was time to set up a script to get things working:

— Start of Installation the JVM manually.
— Important note this will only work this way if there is no JVM or part of JVM present in the database
— Investigate MOS if you suspect a former wrong installation  or partly installation before proceeding

spool InstallJvm.lst;
set echo on
-- connecting as sysdba cause this is required for this install 
-- and mount the database.
connect / as sysdba
startup mount

-- set_system_trig_enabled to false and open the database
alter system set "_system_trig_enabled" = false scope=memory;
alter database open;

-- 28= 'JAVA SOURCE', 29= 'JAVA CLASS', 
--30= 'JAVARESOURCE', 32='JAVA DATA'
select obj#, name 
from obj$ 
where type#=28 
or type#=29 
or type#=30 
or namespace=32;

@?/javavm/install/initjvm.sql
select count(*), object_type 
from all_objects 
where object_type like '%JAVA%' 
group by object_type;

@?/xdk/admin/initxml.sql
select count(*), object_type 
from all_objects 
where object_type 
like '%JAVA%' 
group by object_type;

@?/xdk/admin/xmlja.sql
select count(*), object_type 
from all_objects 
where object_type 
like '%JAVA%' 
group by object_type;

@?/rdbms/admin/catjava.sql
select count(*), object_type 
from all_objects 
where object_type like '%JAVA%' 
group by object_type;

@?/rdbms/admin/catexf.sql
select count(*), object_type 
from all_objects 
where object_type like '%JAVA%' 
group by object_type;

shutdown immediate
set echo off
spool off
exit
starting the database again via the cluster:
srvctl start database -d MYDB

##  Time to go and check Health of JVM in Oracle : 
select comp_name, version, status 
from dba_registry;

COMP_NAME                                    VERSION         STATUS 
-------------------------------------------- --------------- ----------- 
Oracle Expression Filter                     11.2.0.3.0      VALID 
Oracle Application Express                   4.1.1.00.23     VALID 
Oracle XML Database                          11.2.0.3.0      VALID 
Oracle Database Catalog Views                11.2.0.3.0      VALID 
Oracle Database Packages and Types           11.2.0.3.0      VALID 
JServer JAVA Virtual Machine                 11.2.0.3.0      VALID 
Oracle XDK                                   11.2.0.3.0      VALID 
Oracle Database Java Packages                11.2.0.3.0      VALID 

##More proof: 
select owner, status, count(*) 
from all_objects 
where object_type like '%JAVA%' 
group by owner, status;   

OWNER                STATUS  COUNT(*)
-------------------- ------- ---------- 
SYS                    VALID    21580 --> In 11GR2 approx. # of objects.
EXFSYS                 VALID       48 

select role from dba_roles where role like '%JAVA%'; 

ROLE
------------------------------ 
JAVAUSERPRIV 
JAVAIDPRIV 
JAVASYSPRIV 
JAVADEBUGPRIV 
JAVA_ADMIN 
JAVA_DEPLOY 
6 rows selected.  -->  in 11GR2 # of roles.

select owner,status, count(status) 
from dba_objects 
group by owner,status 
order by 1,2; 

OWNER                          STATUS  COUNT(STATUS) 
------------------------------ ------- ------------- 
APEX_040100                    VALID            3341 
APPQOSSYS                      VALID               5 
DBSNMP                         VALID              55 
ERUNBK11                       VALID               5 
EXFSYS                         VALID             191 
FLOWS_FILES                    VALID              13 
ORACLE_OCM                     VALID               8 
OUTLN                          VALID              10 
PUBLIC                         VALID           24187 
SYS                            VALID           31674 
SYSTEM                         VALID             563 
XDB                            VALID            1658 

## If needed consider utlrp to see if recompile is helpful.  
@?/rdbms/admin/utlrp

 

As always Happy reading. Mathijs

Like a cat on Hot tin roof changing sdu size

Introduction

On one of the projects there is a performance dip between Midnight and 05:00 and I have been asked to investigate the environment.  The Oracle database I am working with is a 920.6 32 bit version on HP UNIX.  I have used Stats pack as tool to do analyses. These stats packs are running in 15 minutes intervals in the database. During the intervals at night the top wait events are very often:

Event                                               Waits    Time (s) Ela Time
-------------------------------------------- ------------ ----------- --------
SQL*Net more data to client                        77,119          74    31.11
CPU time                                                           63    26.36

 

Continue reading

The Good , the bad and the Gui Listener

Introduction

Sometimes it is almost funny how old habits indeed seldom die.  At the Customers site where I am working there still seems to be a culture in which it is not that common to use Gui solutions offered by Oracle to do day-to-day jobs. In Dutch there is an  expression telling unknown things  makes things disliked. Well this week i came across nice behavior of the NETCA tool in an environment where Grid Infrastructure 11.2.0.3 is running and I must say I really liked it.

My environment is a four Node Cluster on Redhat Linux 5.5, my Grid Infra structure is 11.2.0.3.0.

Continue reading

Rman Recovery of a Rac Database

Introduction:

As part of a QA  process I am restoring a Rac database.  Rman as a back-up recovery that  has been around some time now (I started working with it as from Oracle 8) will be used for it.  Even though I am aware of debates that this could be done much easier via the Gui I am still tempted to use command line ( scripting for it).  This is the general information about the  environment where this will happen today: The 2 Instance Rac Database is on Linux servers on two nodes. Backups are performed to tape directly using Rman. We are using Networker for that. The environment  i am working with is a 11.2.3.0 with ASM. As part of sharing information below are the steps I performed with some add-on comment.

Continue reading

Oracle Database Wrap-up from Oracle OpenWorld 2012

Oracle Database Wrap-up from Oracle OpenWorld 2012

Maybe  you have missed this on the web  i do like it a lot cause it gives us a nice insight in the direction Oracle is moving  to . Three  brilliant speakers will give you a great insight in the way of the future:

Very exciting information to see and listen too also cause  it will tell you more about Oracle release 12C.

Happy watching and reading,

Mathijs

Logical Standby Database an implementation

Introduction

For my colleagues at Atos I have set up a Presentation of my experience with the Logical standby database. Since I truly believe in modern media like Twitter and sharing knowledge via the Web this one has to be put out here as well. As always  you have to investigate if my approach can be yours as well. And as a quote that I have learned on the web, never regard every challenge as a nail requiring only a hammer.

One main point I have to make is that the complete set up was performed using sqlplus . I did not use the broker at first when setting things up. And as often once you choose a direction .. Looking back now and reading posts on twitter it would have been an interesting twist to do the same while using the broker. Maybe that can be your challenge and after that there will be a nice blog coming  from that too then.

Happy Reading,

Mathijs

My Implementation of a logical Standby Database

Return of the Acfs , October 2012 PSU Patch (14275572) for GI and RDBMS

Introduction,

This week i have patched a preproduction environment with latest PSU patch at this moment ( October 2012). Next week will do the same on the production machines In it self this action is not a big  issue when applying it to the Grid infra structure and RDBMS, but  ACFS is in use on those boxes. Since I hope this will make an interesting note, I have gathered my steps and want to share them with you.

Continue reading

First encounters of the ACFS kind

Introduction:

This weeks challenge has become to set up ACFS on two new to be implemented Real Application Clusters. As with any tooling first question will be , what is your goal if you want to start using it. My purpose is to start using ACFS as a shared mountpoint between the servers, nodes in the cluster in order to have each instance do its logging (ADR), audit and listener log  on that mount.

This blog will tell you about my setting it up,  the  issues i came across and the way it is implemented in a working way.

To share the plot of the story:  After implementing I  had the issue that  right after cluster reboot all services where launched automatiocally BUT  the instances would NOT start automatically. In the end i ended up with ACFS being defined as  a shared home for an Oracle RDBMS installation. And it worked/works after cluster reboot  cause all resources are happy and online now.

Continue reading

Configuring Active- Passive Clustering Oracle Databases in Grid Infrastructure.

Introduction:

For a billing environment I have been asked to change the current Real application solution to a HA solution with an Active – Passive Database in the Cluster ware of Oracle (Grid Infrastructure) (11.2.0.2.0). Even though I have had / seen examples of this working in 11gr1 the fact we use 11Gr2 allowed us to  skip steps needed in the 11gr1 environment  (such as a dedicated virtual Ip address, able to  fail over and a listener that has to come along with that as well). This solution is based on the fact that in this project we have set up scan listener(s) and also that we connect via a Service (taf). Also it should be said that the parameters for the cluster ware have changed again between Oracle 11gr1 and 11gr2. So it was a nice challenge to see, adapt and solve the issues

It is my estimate that a maintenance window of app 1 Hour  per Database will be needed, doing the analyses,  the changes,  the removal and adding it back to the cluster and  do relocate tests.

Ps  i have marked specific  cluster commands in yellow.

Happy Reading.

Continue reading

Migration to 11gr2 Cluster ware (Moving from 11.1.7 Crs to 11.2.0.3.0 Grid Infra structure)

Introduction:

Always a challenge patching a Real application cluster. My assignment,  goal in this is to bring Oracle Clusterware ( 11.1.0.7.0)  (without any PSU patches installed) to 11.2.0.3.0.  Grid Infrastructure. This will be performed in two steps , in two maintenance windows in order to minimize the change of breaching SLA of maintenance windows.

Happy reading ,

Mathijs

Continue reading