Skip to content

Oracle Issues Statement
REDWOOD SHORES, Calif., September 4, 2012

Oracle issued the following statement today:

Previously, Oracle announced that it would stop developing new versions of its software on Itanium microprocessors. For example, that meant version 12c of the Oracle database due out in early 2013 would not be available on Itanium.

However, a judge recently ruled that Oracle has a contract to continue porting its software to Itanium computers for as long as HP sells Itanium computers.

Therefore, Oracle will continue building the latest versions of its database and other software covered by the judge's ruling to HP Itanium computers. Oracle software on HP's Itanium computers will be released on approximately the same schedule as Oracle software on IBM's Power systems.

http://www.oracle.com/us/corporate/features/itanium-346707.html?origref=http://www.oracle.com/us/corporate/press/346696

In order to restore the database until a specific time with your rman catalogue

RUN the following queries in the RMAN CATALOG

sqlplus <catlog user>/<password>@<catlog tns>

alter session set nls_date_format='DD-MM-yyyy hh:mi:ss';
select DB_NAME,STATUS,COMPLETION_TIME from RC_BACKUP_CONTROLFILE where DB_NAME='CRMPROD' and rownum < 11 order by CREATION_TIME;

now from here chose the date the time till when we need to restore the Database.

and place in the restoration script

export ORACLE_HOME={ORACLE HOME}
export ORACLE_SID={ORACLE SID}
$ORACLE_HOME/bin/rman catalog=<catlog user>/<password>@<catlog tns> << EOF
connect target /
run
{
set until time "to_date('16-08-2012 02:56:03','dd-mm-yyyy- hh24:mi:ss')";
allocate channel c1 device type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
restore database ;
release channel c1;
}
EOF

 

Prerequisites
  1. Need Separate mount point 11g OEM Agent
  2. Need Binaries for 11g OEM Agent
  3. Validate /etc/hosts entry for similar entry for the host in both target and the host-server.
  4. Validate the pings to the host and source and the source to host
  5. Need the validation of OEM configuration and passwords:
    1. OMS_HOST=XXX.XX.XX.XXX
    2. OMS_PORT=XXXX
    3. AGENT_REGISTRATION_PASSWORD=XXXXXXXXX
    4. Validate the permission for the host and the folders.

Installation Process

    1. Unzip the binary.

Set the additional_responce.rsp with the following parameter

  1. SECURITY_UPDATES_VIA_MYORACLESUPPORT=FALSE
  2. DECLINE_SECURITY_UPDATES=TRUE
  3. ORACLE_AGENT_HOME_LOCATION=/OEMAGENT11G/oracle/oemagent
  4. b_silentInstall=true
  5. OMS_HOST=<OEM HOST>
  6. OMS_PORT=<OEM PORT>
  7. AGENT_REGISTRATION_PASSWORD=<PLEASE SET THE PASSWORD>
  8. Create ORACLE_AGENT_HOME_LOCATION.

Unset the following ORACLE PARAMETERS(Ensure that there are no entry in this to your production DB/CLUSTER/10g AGENT home)

  1. ORACLE_HOME
  2. ORACLE_SID
  3. LIBPATH
  4. LD_LIBRARY_PATH
  5. PATH

<UNZIP_DIR>/<runInstaller> -silent -responseFile <location>/additional_agent.rspRun the installation

        1. After the completion of the setup and validate from the logs and then validate the agent status

 

Login to the OEM and configure the database via valid credentials

  1. ORACLE_HOME
  2. Dbsnmp password
  3. ORACLE_SID
  4. LISTENER Port

Installation Complete

Upgrade 10.2.0.1 to 10.2.0.5

I had done this in  VMWARE in OEL REDHAT 5
the process remains same for almost all the other server act just can vary with some minute OS level difference.
download the patch 8202632 for your operating system.
in this case LINUX

p8202632_10205_LINUX.zip
unzip this file
Check that the
Step 1: Prerequisites check before applying the patch set (8202632).

Check your dba_registry view oracle database components status is valid or not, version is 10.2.0.1. Have a look at the below output

SQL> Select comp_name, version, status from sys.dba_registry;

Check your v$version view

SQL> select * from v$version;

Check your database objects are valid or not

SQL> select object_name,status from dba_objects where status='INVALID';
No rows selected

In my environment, here are no invalid objects. If you have any invalid objects then you have to really

Validate your database objects through the below scripts

SQL> exec utl_recomp.recomp_serial (); -> this is for all user’s objects across the database

Then stop all the process like sql, emctl, tnslistener and shutdown your database.

$ sqlplus / as sysdba
SQL> shutdown immediate

$ isqlplusctl stop

$ emctl stop dbconsole
$ lsnrctl stop

Step 2:

Do take Cold Backup of your oracle database 10g and $ORACLE_HOME using Operating system ( This is just in case of any failuir)

Install the patch set 10.2.0.5

$ cd <path of 8202632 path>
$ unzip p8202632_10205_Linux.zip
$ cd Disk1/
$ ./runInstaller

after this please follow the floowing step:

cd $ORACLE_HOME/rdbms/admin
sqlplus "/as sysdba"
SQL>startup upgrade;
SQL>@catupgrd.sql
SQL>shutdown immediate;
SQL>startup;
SQL>@utlrp.sql
SQL> select object_name,status from dba_objects where status='INVALID';

Validate INVALID Objests if any

Congratulation's now you have upgraded the Database from 10.2.0.1 to 10.2.0.5....

export ORACLE_HOME={ORACLE_HOME}
export ORACLE_SID={ORACLE_SID}
$ORACLE_HOME/bin/rman catalog=[username]/[PASSWORD]@[RMANCAT_TNS_NAME]  << EOF
connect target /
run
{
allocate channel c1 device type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
restore controlfile from autobackup;
alter database mount;
restore database;
release channel c1;
}
EOF

1. take new raw device name from your Unix team (like /dev/rdisk/disk20)
2. make sure that you get its ownership change to oracle:dba
3. Add the new device name in asm_diskstring parameter dynamically as like below statement; in this statement only /dev/rdisk/disk20 disk is being added, all other existed previously:

alter system set asm_diskstring='/dev/rdisk/disk4','/dev/rdisk/disk6','/dev/rdisk/disk10','/dev/rdisk/disk12','/dev/rdisk/disk14','/dev/rdisk/disk16','/dev/rdisk/disk18','/dev/rdisk/disk20';

4. To verify, that new disk has been detected by ASM, you can check the value of column HEADER_STATUS from V$ASM_DISK,
it will show CANDIDATE here(Disk is not part of a disk group and may be added to a disk group with the ALTER DISKGROUP statement).

SQL> select GROUP_NUMBER,NAME,state,HEADER_STATUS,PATH from v$asm_disk;

GROUP_NUMBER NAME STATE HEADER_STATU PATH
------------ ------------------------------ -------- ------------ ------------------------------
0 NORMAL CANDIDATE /dev/rdisk/disk20
1 DATA_0000 NORMAL MEMBER /dev/rdisk/disk4
1 DATA_0001 NORMAL MEMBER /dev/rdisk/disk6
2 REDO_0000 NORMAL MEMBER /dev/rdisk/disk10
2 REDO_0001 NORMAL MEMBER /dev/rdisk/disk12
2 REDO_0002 NORMAL MEMBER /dev/rdisk/disk14
2 REDO_0003 NORMAL MEMBER /dev/rdisk/disk16
2 REDO_0004 NORMAL MEMBER /dev/rdisk/disk18

8 rows selected.

5. Add the disk to diskgroup :

ALTER DISKGROUP DATA ADD DISK '/dev/rdisk/disk20' REBALANCE POWER 1;

6. Again query v$asm_disk to verify that disk has been added.

SQL> select GROUP_NUMBER,NAME,state,HEADER_STATUS,PATH from v$asm_disk;

GROUP_NUMBER NAME STATE HEADER_STATU PATH
------------ ------------------------------ -------- ------------ ------------------------------
1 DATA_0000 NORMAL MEMBER /dev/rdisk/disk4
1 DATA_0001 NORMAL MEMBER /dev/rdisk/disk6
2 REDO_0000 NORMAL MEMBER /dev/rdisk/disk10
2 REDO_0001 NORMAL MEMBER /dev/rdisk/disk12
2 REDO_0002 NORMAL MEMBER /dev/rdisk/disk14
2 REDO_0003 NORMAL MEMBER /dev/rdisk/disk16
2 REDO_0004 NORMAL MEMBER /dev/rdisk/disk18
1 DATA_0002 NORMAL MEMBER /dev/rdisk/disk20

8 rows selected.

SQL> select GROUP_NUMBER,NAME,state,HEADER_STATUS,PATH,total_mb,free_mb from v$asm_disk;

GROUP_NUMBER NAME STATE HEADER_STATU PATH TOTAL_MB FREE_MB
------------ ------------------------------ -------- ------------ ------------------------------ ---------- ----------
1 DATA_0000 NORMAL MEMBER /dev/rdisk/disk4 157184 2766
1 DATA_0001 NORMAL MEMBER /dev/rdisk/disk6 157184 2756
2 REDO_0000 NORMAL MEMBER /dev/rdisk/disk10 768 241
2 REDO_0001 NORMAL MEMBER /dev/rdisk/disk12 768 243
2 REDO_0002 NORMAL MEMBER /dev/rdisk/disk14 768 248
2 REDO_0003 NORMAL MEMBER /dev/rdisk/disk16 768 245
2 REDO_0004 NORMAL MEMBER /dev/rdisk/disk18 768 247
1 DATA_0002 NORMAL MEMBER /dev/rdisk/disk20 157184 154356

8 rows selected.

7. Free space added is now being reflected in v$asm_diskgroup:

SQL> select NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB
------------------------------ ---------- ----------
DATA 471552 159878
REDO 3840 1224

 

Many times we face issue while creating the procedure because of '&' then do the following:

when a problem in creating the procedure because of & then do the following

SQL> show all

appinfo is OFF and set to "SQL*Plus"
arraysize 1
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex 2e)
btitle OFF and is the first few characters of the next SELECT statement
cmdsep OFF
colsep " "
compatibility version NATIVE
concat "." (hex 2e)
copycommit 0
COPYTYPECHECK is ON
define "&" (hex 26)
describe DEPTH 1 LINENUM OFF INDENT ON
echo OFF
editfile "afiedt.buf"
embedded OFF
escape OFF
FEEDBACK ON for 6 or more rows
flagger OFF
flush ON
heading ON
headsep "|" (hex 7c)
instance "local"
linesize 80
lno 72
loboffset 1
logsource ""
long 80
longchunksize 80
markup HTML OFF HEAD "<style type='text/css'> body {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} p {font:10pt Arial,Helvetica,sans-serif; color:black; background:White;} table,tr,td {font:10pt Arial,Helvetica,sans-serif; color:Black; background:#f7f7e7; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} th {font:bold 10pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} h1 {font:16pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} a {font:9pt Arial,Helvetica,sans-serif; color:#663300; background:#ffffff; margin-top:0pt; margin-bottom:0pt; vertical-align:top;}</style><title>SQL*Plus Report</title>" BODY "" TABLE "border='1' width='90%' align='center' summary='Script output'" SPOOL OFF ENTMAP ON PREFORMAT OFF
newpage 1
null ""
numformat ""
numwidth 10
pagesize 72
PAUSE is OFF
pno 0
recsep WRAP
recsepchar " " (hex 20)
release 902000700
repfooter OFF and is NULL
repheader OFF and is NULL
serveroutput OFF
shiftinout INVISIBLE
showmode OFF
spool OFF
sqlblanklines OFF
sqlcase MIXED
sqlcode 0
sqlcontinue "> "
sqlnumber ON
sqlpluscompatibility 8.1.7
sqlprefix "#" (hex 23)
sqlprompt "SQL> "
sqlterminator ";" (hex 3b)
suffix "sql"
tab ON
termout ON
time OFF
timing OFF
trimout ON
trimspool OFF
ttitle OFF and is the first few characters of the next SELECT statement
underline "-" (hex 2d)
USER is "SYS"
verify ON
wrap : lines will be wrapped

here in define & is defined, so please define another character in place of &  by

SQL> set define '~'
SQL>
COPYTYPECHECK is ON
define "~" (hex 7e)
describe DEPTH 1 LINENUM OFF INDENT ON

here define value will change from & to & now it will not ask for other value.2