RE: how to check 32 bit -> 64 bit migration

  • From: <rajendra.pande@xxxxxxx>
  • To: <exriscer@xxxxxxxxx>, <srinivasanram2004@xxxxxxxxx>
  • Date: Wed, 30 Nov 2016 13:14:41 +0000

I would dig through some details for sys.diana.
I tried yesterday a bit but wasn’t able to make much headway because of lack of 
time
What I understand that for 32 bit to 64 bit the plsql word size changes/format 
and that’s why utlrp has to be run.
There must be some reference somewhere to what the word size is

Just an idea

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On ;
Behalf Of Ls Cheng
Sent: Tuesday, November 29, 2016 7:18 PM
To: Ram Srinivasan
Cc: Oracle Mailinglist
Subject: Re: how to check 32 bit -> 64 bit migration

this is before converting 32 bit database to 64 bit


SQL> select platform_name from v$database;

PLATFORM_NAME
-----------------------------------------------------------------------------------------------------
Linux x86 64-bit

SQL> select * from v$version;

BANNER                                                                          
     CON_ID
--------------------------------------------------------------------------------
 ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production    
          0
PL/SQL Release 12.1.0.2.0 - Production                                          
          0
CORE    12.1.0.2.0      Production                                              
          0
TNS for Linux: Version 12.1.0.2.0 - Production                                  
          0
NLSRTL Version 12.1.0.2.0 - Production                                          
          0

SQL> select
  2     length(addr)*4 || '-bits'
  3  from
  4     v$process
  5  where
  6     ROWNUM =1;

LENGTH(ADDR)*4||'-BITS'
---------------------------------------------
64-bits

SQL> select
  2    case
  3      when INSTR(metadata,'B047') > 1 then 'The Database is 64 Bit.'
  4      when INSTR(metadata,'B023')  > 1 then 'The Database is 32 Bit.'
  5      end as Result
  6  from sys.kopm$ ;

RESULT
-----------------------
The Database is 32 Bit.


this is after running URLIRP (32 bit to 64 bit conversion)

SQL> select platform_name from v$database;

PLATFORM_NAME
-----------------------------------------------------------------------------------------------------
Linux x86 64-bit

SQL> select * from v$version;

BANNER                                                                          
     CON_ID
--------------------------------------------------------------------------------
 ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production    
          0
PL/SQL Release 12.1.0.2.0 - Production                                          
          0
CORE    12.1.0.2.0      Production                                              
          0
TNS for Linux: Version 12.1.0.2.0 - Production                                  
          0
NLSRTL Version 12.1.0.2.0 - Production                                          
          0

SQL> select
  2     length(addr)*4 || '-bits'
  3  from
  4     v$process
  5  where
  6     ROWNUM =1;

LENGTH(ADDR)*4||'-BITS'
---------------------------------------------
64-bits

SQL> select
  2    case
  3      when INSTR(metadata,'B047') > 1 then 'The Database is 64 Bit.'
  4      when INSTR(metadata,'B023')  > 1 then 'The Database is 32 Bit.'
  5      end as Result
  6  from sys.kopm$ ;

RESULT
-----------------------
The Database is 32 Bit.


as we can see there is no difference so the queries provided gives no useful 
info.... any more suggestions?
Thanks


On Tue, Nov 29, 2016 at 5:01 PM, Ls Cheng 
<exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>> wrote:
Hi Ram


I have used that query as well, I dont want to know if the database was created 
in 32 bit, I want to know if it currently runs in 64 bit mode, that is if 
UTLIRP.SQL has been run.
I will test all your sugegstion anyways in a few hours time and let you know
Thanks!

On Tue, Nov 29, 2016 at 12:37 PM, Ram Srinivasan 
<srinivasanram2004@xxxxxxxxx<mailto:srinivasanram2004@xxxxxxxxx>> wrote:
Cheng:
  Try this.  I used this query long time ago:


/* To identify whether a database was created as 32-bit or 64-bit,
    execute the following SQL statement:  */

select
  case
    when INSTR(metadata,'B047') > 1 then 'The Database is 64 Bit.'
    when INSTR(metadata,'B023')  > 1 then 'The Database is 32 Bit.'
    end as Result
from sys.kopm$ ;

/*
If the output references the string 'B023' ,  then it indicates that the 
database was created as 32-bit.

If the output references the string 'B047' then it indicates that the database 
was created as 64-bit.
*/

On Tue, Nov 29, 2016 at 3:56 AM, Ls Cheng 
<exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>> wrote:
Hi Ram
I already tested that, once a database is migrated to 64 bit and utlirp.sql is 
NOT executed that query returns 64 bit too!
Thanks


On Tue, Nov 29, 2016 at 1:40 AM, Ram Srinivasan 
<srinivasanram2004@xxxxxxxxx<mailto:srinivasanram2004@xxxxxxxxx>> wrote:
Try this:

select
   length(addr)*4 || '-bits'
from
   v$process
where
   ROWNUM =1;

On Mon, Nov 28, 2016 at 1:53 PM, Ls Cheng 
<exriscer@xxxxxxxxx<mailto:exriscer@xxxxxxxxx>> wrote:
Hi
Does anyone know if a database is currently in 64 or 32 bit?
IHAC migrated a few database a couple of weeks ago from Linux x86 to Linux 
x86_64 and they unsure if utlirp.sql is run in all of them.
Anyone know how to check if the database is running in 64 bit mode? All I have 
found is how to check binary bitness but not the database.

Thanks




--
Sincerely
Ram Srinivasan




--
Sincerely
Ram Srinivasan



Please visit our website at 
http://financialservicesinc.ubs.com/wealth/E-maildisclaimer.html ;
for important disclosures and information about our e-mail 
policies. For your protection, please do not transmit orders 
or instructions by e-mail or include account numbers, Social 
Security numbers, credit card numbers, passwords, or other 
personal information.

Other related posts: