Archive

Posts Tagged ‘ASM’

After successfully installing 32-bit 11gR2 (11.2.0.1.0) software onto a 32-bit Linux OS (x86) system, neither netca or dbca can be run “An unexpected error has been detected by HotSpot Virtual Machine”

January 13, 2011 Leave a comment

 

On my way of installing Oracle Enterprise Manager 11g Grid Control Release 1 (11.1.0.1.0) I hit bug 8930861, “X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE”

 

Here is the scenario:

Platform: Linux x86

OS: Red Hat Enterprise Linux 5.5(32 bit)

DB:   Oracle Database 11g Release 2 (11.2) – 32 bit with ASM

WLS: Weblogic Server 10.3.2(32 bit)

 

For the purpose of ASM install Oracle Grid Infrastructure for Standalone Server.

All went well until root.sh from where the indications for issues started:

 

 

 

 

 

 

 

 

 

 

 

Obviously the indications for potential issue start from here because the creation of local OCR failed

 

 

 

 

 

 

 

 

I tried to fix it and rerun root.sh before that reconfigure is needed.

 

Use force option if reconfigure fails:

 

/oracle/grid11/crs/install/rootcrs.pl -deconfig –force


Anyway, root.sh script failed with the same error and the only thing left was to continue and skip this.

 

The real issue is at the stage of Oracle net Configuration Assistant.

 

 

 

 

 

 

 

 

 

 

 

INFO: Starting ‘Oracle Net Configuration Assistant’

INFO: Starting ‘Oracle Net Configuration Assistant’

INFO: Oracle Net Services Configuration:

INFO: # An unexpected error has been detected by HotSpot Virtual Machine:

INFO: #  SIGSEGV (0xb) at pc=0xa47dd35e, pid=3117, tid=3086616784

INFO: # Java VM: Java HotSpot(TM) Server VM (1.5.0_17-b02 mixed mode)

INFO: # Problematic frame:

INFO: # C  [libnnz11.so+0x3c35e]

INFO: # An error report file with more information is saved as hs_err_pid3117.log

INFO: # If you would like to submit a bug report, please visit:

INFO: #   http://java.sun.com/webapps/bugreport/crash.jsp

WARNING: /oracle/grid11/bin/netca: line 178:  3117 Aborted                 $JRE $JRE_OPTIONS -classpath $CLASSPATH oracle.net.ca.NetCA $*

 

 

 

 

 

 

 

 

 

 

 

 

# cat /proc/cpuinfo

 

model name      : Six-Core AMD Opteron(tm) Processor 8425 HE

 

The case is that when running 64-bit hardware you have to use 64-bit OS and Oracle 11gR2 (or later) 64-bit, otherwise NETCA fails with Java VM: Java HotSpot.

Here is what metalink 942076.1 says:

 

“Changes

Although the Linux OS that has been installed is indeed a supported 32-bit Linux OS, the hardware that is being used is 64-bit x86_64 hardware.

Cause

You are encountering published Bug 8930861, “X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE”

You have Oracle’s 32-bit 11.2.0.1.0 RDBMS software, a supported 32-bit Linux OS, but you are on 64-bit x86_64 hardware.

Solution

1. Please find out if there is any business reason that the 64-bit hardware is only running a
32-bit OS. If not, then Oracle recommends that you re-install a 64-bit OS and 64-bit Oracle to
avoid published Bug 8930861, “X86 DBCA, NETCA GIVE JAVA HOTSPOT ERROR IF ON X86_64 HARDWARE”

2.  If there is some business reason that you must use 64-bit hardware running a
32-bit Linux OS, then before you can use the 11gR2 DBCA or NETCA tools, you will need to apply patch 8670579 , “NETCA/DBCA FAILED WITH HOTSPOT VIRTUAL MACHINE”. You will be downloading and using file p8670579_112010_LINUX.zip”

 

Obviously in this case I have to reinstall the OS and use RHEL5 (64 bit)  and Oracle Database 11g Release 2 (11.2) – 64 bit.

 

Have this in mind at an earlier stage.

 

Cheers,

Maria

 

 

Advertisements
Categories: Unix/Linux Tags:

How to migrate Fast Recovery Area from file system to an ASM Disk Group in Oracle 11.2?

November 26, 2010 Leave a comment

 

It is a good practice to have the Fast Recovery Area(FRA) as a storage location for the recovery related files( backups, archived logs, control file backups, multiplied redologs, flashback logs). Having said that, it is even better reliability and performance point of view to have the FRA on a separate ASM Disk Group instead on the file system.

This post will show the step-by-step procedure I used to migrate successfully the FRA from the file system to ASM. The environment is Oracle 11.2.0.1 64 bit database on Windows 2008 server.

1. From amca or command line create a new FRA ASM Disk Group with external redundancy

2. Change db_recovery parameters:

SQL> alter system set db_recovery_file_dest=’+FRA’;

System altered.

SQL> alter system set db_recovery_file_dest_size=199G;

System altered.

SQL> show parameter db_recovery_file_dest

NAME TYPE VALUE

——————————————————–

db_recovery_file_dest string +FRA

db_recovery_file_dest_size big integer 199G

 

3. Perform switch log file:

SQL> alter system switch logfile;

System altered.

 

4. The database is in ARCHIVELOG and check if the archive logs go in the new locations after switch log file:

SQL> set head off;
SQL> set linesize 100;

SQL> select sequence#, first_time, name from v$archived_log order by first_time desc;
4 2010-11-22 +FRA/SID/archivelog/2010_11_22/thread_1_seq_4.256.735758149
3 2010-11-20 D:\ORACLEFRA\SID\ARCHIVELOG\2010_11_22\O1_MF_1_3_6GNYOWQO_.ARC
2 2010-11-19 D:\ORACLEFRA\SID\ARCHIVELOG\2010_11_20\O1_MF_1_2_6GGQW2LL_.ARC
1 2010-11-17 D:\ORACLEFRA\SID\ARCHIVELOG\2010_11_19\O1_MF_1_1_6GFOT8G4_.ARC

 

5. The datafiles are located on a separate ASM Disk Group +ASMDATA:

SQL> select name from v$datafile;
NAME
———————————————————————–
+ASMDATA/SID/datafile/system.256.735341597
+ASMDATA/SID/datafile/sysaux.257.735341597
+ASMDATA/SID/datafile/undotbs1.258.735341597
+ASMDATA/SID/datafile/users.259.735341597

 

6. Recreate online redologs

SQL> select group#, member from v$logfile order by group#;

1 +ASMDATA/SID/onlinelog/group_1.261.735341775
1 D:\ORACLEFRA\SID\ONLINELOG\O1_MF_1_6G8COLN1_.LOG
2 +ASMDATA/SID/onlinelog/group_2.262.735341787
2 D:\ORACLEFRA\SID\ONLINELOG\O1_MF_2_6G8COYWQ_.LOG
3 +ASMDATA/SID/onlinelog/group_3.263.735341799
3 D:\ORACLEFRA\SID\ONLINELOG\O1_MF_3_6G8CPC56_.LOG
6 rows selected.

 

6.1

SQL> alter database add logfile member ‘+FRA/SID/ONLINELOG/redolog4_group1.log’ to group 1;

Database altered.

SQL> alter database add logfile member ‘+FRA/SID/ONLINELOG/redolog5_group2.log’ to group 2;

Database altered.

SQL> alter database add logfile member ‘+FRA/SID/ONLINELOG/redolog6_group3.log’ to group 3;

Database altered.

SQL> select group#, member, status from v$logfile
2 order by status, group#;

1 +FRA/SID/onlinelog/redolog4_group1.log INVALID
2 +FRA/SID/onlinelog/redolog5_group2.log INVALID
3 +FRA/SID/onlinelog/redolog6_group3.log INVALID
1 +ASMDATA/SID/onlinelog/group_1.261.735341775 (null)
1 D:\ORACLEFRA\SID\ONLINELOG\O1_MF_1_6G8COLN1_.LOG (null)
2 +ASMDATA/SID/onlinelog/group_2.262.735341787 (null)
2 D:\ORACLEFRA\SID\ONLINELOG\O1_MF_2_6G8COYWQ_.LOG (null)
3 +ASMDATA/SID/onlinelog/group_3.263.735341799 (null)
3 D:\ORACLEFRA\SID\ONLINELOG\O1_MF_3_6G8CPC56_.LOG (null)
9 rows selected.
SQL>

 

6.2 At the moment 1 and 3 redolog group are not CURRENT. Drop old logfile member.

SQL> alter database drop logfile member ‘D:\ORACLEFRA\SID\ONLINELOG\O1_MF_1_6G8COLN1_.LOG’;
Database altered.
SQL> alter database drop logfile member ‘D:\ORACLEFRA\SID\ONLINELOG\O1_MF_3_6G8CPC56_.LOG’;
Database altered.
SQL>

 

6.3 Switch logfile

SQL> alter system switch logfile;
System altered.

SQL> alter database drop logfile member ‘D:\ORACLEFRA\SID\ONLINELOG\O1_MF_2_6G8COYWQ_.LOG’;
Database altered.

SQL> alter system switch logfile;
System altered.

 

6.4 After recreating and the redologs are migrated from old FRA to ASM, the situation should look like:

SQL> select group#, type, status , member from v$logfile
2 order by status, group#, member;
1 ONLINE +ASMDATA/SID/onlinelog/group_1.261.735341775 (null)
1 ONLINE +FRA/SID/onlinelog/redolog4_group1.log (null)
2 ONLINE +ASMDATA/SID/onlinelog/group_2.262.735341787 (null)
2 ONLINE +FRA/SID/onlinelog/redolog5_group2.log (null)
3 ONLINE +ASMDATA/SID/onlinelog/group_3.263.735341799 (null)
3 ONLINE +FRA/SID/onlinelog/redolog6_group3.log (null)
6 rows selected.
SQL>

 

7. Duplicating a controlfile to FRA ASM when original controlfile is stored on +ASMDATA:

7.1 Identify the location of the current controlfile:

SQL> select name, is_recovery_dest_file as is_recovery from v$controlfile;
NAME IS_RECOVERY
—————————————————————
+ASMDATA/SID/controlfile/current.260.735341771 NO
D:\ORACLEFRA\SID\CONTROLFILE\O1_MF_6G8COBC5_.CTL YES
SQL>

We can double check on the ASM Instance with ASMCMD:

D:\>set ORACLE_SID=+ASM
D:\>set ORACLE_HOME=D:\grid\11.2
D:\Windows\system32>asmcmd
ASMCMD> pwd
+
ASMCMD> ls
ASMDATA/
FRA/
ASMCMD> cd ASMDATA
ASMCMD> ls
ASM/
SID/
ASMCMD> cd SID/
ASMCMD> cd CONTROLFILE
ASMCMD> ls
Current.260.735341771
ASMCMD>

Go to FRA and create CONTROLFILE directory:

ASMCMD> cd +FRA
ASMCMD> ls
SID/
ASMCMD> cd SID
ASMCMD> ls
ARCHIVELOG/
ONLINELOG/
ASMCMD> mkdir CONTROLFILE
ASMCMD> pwd
+FRA/SID
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
ONLINELOG/

Or from sqlplus on the ASM Instance:

SQL> conn / as sysdba;
Connected.
SQL> alter diskgroup FRA add directory ‘+FRA/SID/CONTROLFILE’;
Diskgroup altered.

 

7.2 On Database Instance

D:\>set ORACLE_SID=SID
D:\>set ORACLE_HOME=D:\oracle\11.2

SQL> conn / as sysdba;
SQL> shutdown immediate
SQL> startup nomount
ORACLE instance started.

….> rman nocatalog
RMAN>connect target
RMAN> restore controlfile to ‘+FRA/SID/CONTROLFILE/control02.ctl’ from ‘+ASMDATA/SID/controlfile/current.260.735341771′;

SQL> alter system set control_files=’+ASMDATA/SID/controlfile/current.260.735341771′,’+FRA/SID/CONTROLFILE/control02.ctl’ scope=spfile;
System altered.

SQL> shutdown immediate

SQL> startup

Verify the new controlfile has been recognized:

SQL> show parameter control_files
NAME TYPE VALUE
———————————— ———– ——————————
control_files string +ASMDATA/SID/controlfile/current.260.735341771, +FRA/SID/controlfile/control02.ctl

 

7.3 Eventually may need to restart dbconsole if EM is not working:

…>emctl stop dbconsole
…>emctl start dbconsole

 

8. Check FRA usage

…>select * from v$flash_recovery_area_usage;

and use space :

…>select space_limit/1024/1024/1024, space_used/1024/1024/1024 from v$recovery_file_dest;

 

9. Files in ASM are not accessible as OS files. To double secure the backup files and archived logs we can choose to copy them from ASM to disk/tape using RMAN:

BACKUP RECOVERY AREA;

 

 

Cheers,

Maria

Categories: DBA Tags: ,
%d bloggers like this: