Thursday, April 2, 2020

Oracle Database 19c step by step installation guide on Oracle Linux 7.5


Oracle Database 19c step by step installation guide on Oracle Linux 7.5


  • Make sure all prerequisites met before installing oracle software, like kernel parameter , permission, RPM's, etc. Use this link for reference(https://anuragkumarjoy.blogspot.com/2016/02/oracle-database-installation-on-oracle.html)
  • Download the oracle 19c software from oracle support
  • unzip oracle software in ORACLE_HOME location 
  • ORACLE_HOME=/u01/app/oracle/product/19.0.0/db_home
  • go to ORACLE_HOME (cd /u01/app/oracle/product/19.0.0/db_home)
  • unzip command: (unzip -oq /tmp/LINUX.X64_193000_db_home.zip)
  • after that run the  "./runInstaller"



















In this case, I used sample schema installed






This window is pop-up because I used a non-standard password.






after increased "shmmax" parameter, run -run the check again





Need to run from root user.








Monday, March 30, 2020

Upgrade Timezone version (DSTv14) in 11gR2 database after upgrading the database from 11.2.0.3


Upgrade Timezone version (DSTv14) in 11gR2 database after upgrading the database from 11.2.0.3


SQL>  select * from v$timezone_file;

FILENAME                VERSION
-------------------- ----------
timezlrg_3.dat                3

SQL>


SQL> sELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
  FROM DATABASE_PROPERTIES
  WHERE PROPERTY_NAME LIKE 'DST_%'
  ORDER BY PROPERTY_NAME  2    3    4
  5
SQL> /

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         3
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

SQL>


execute script in below order to update timezone DSTv14


Conn / as sysdba
spool countstatsTSTZ.log
@countstatsTSTZ.sql
spool off


Conn / as sysdba
spool upg_tzv_check.log
@upg_tzv_check.sql
spool off



Conn / as sysdba
spool upg_tzv_apply.log
@upg_tzv_apply.sql
spool off

Conn / as sysdba
spool upg_tzv_check.log
upg_tzv_check.sql
spool off


SQL> select * from v$timezone_file;

FILENAME                VERSION
-------------------- ----------
timezlrg_14.dat              14

SQL> sELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
  FROM DATABASE_PROPERTIES
  WHERE PROPERTY_NAME LIKE 'DST_%'
  ORDER BY PROPERTY_NAME  2    3    4
  5  /

PROPERTY_NAME                  VALUE
------------------------------ ------------------------------
DST_PRIMARY_TT_VERSION         14
DST_SECONDARY_TT_VERSION       0
DST_UPGRADE_STATE              NONE

SQL>

Friday, March 27, 2020

How Change the DBID and Database Name using DBNEWID utility (nid)


How to Change the DBID and Database Name


Step 1
-----------

SQL> select name,open_mode,dbid,db_unique_name from v$database;

NAME      OPEN_MODE                  DBID DB_UNIQUE_NAME
--------- -------------------- ---------- ------------------------------
ORCL      READ WRITE           1553847750 orcl

SQL>


Step 2
----------

SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>

Step 3
---------

SQL> startup mount
ORACLE instance started.

Total System Global Area 1519898624 bytes
Fixed Size                  2253464 bytes
Variable Size             436211048 bytes
Database Buffers         1073741824 bytes
Redo Buffers                7692288 bytes
Database mounted.
SQL>



Step 4
----------

nid TARGET=/ DBNAME=RDX


[oracle@localhost ~]$ which nid
/u01/app/oracle/product/11.2.0/dbhome_1/bin/nid
[oracle@localhost ~]$
[oracle@localhost ~]$
[oracle@localhost ~]$
[oracle@localhost ~]$ nid TARGET=/ DBNAME=RDX

DBNEWID: Release 11.2.0.4.0 - Production on Fri Mar 27 23:41:13 2020

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to database ORCL (DBID=1553847750)

Connected to server version 11.2.0

Control Files in database:
    /u01/app/oracle/oradata/orcl/control01.ctl
    /u01/app/oracle/fast_recovery_area/orcl/control02.ctl

Change database ID and database name ORCL to RDX? (Y/[N]) => Y

Proceeding with operation
Changing database ID from 1553847750 to 1347507995
Changing database name from ORCL to RDX
    Control File /u01/app/oracle/oradata/orcl/control01.ctl - modified
    Control File /u01/app/oracle/fast_recovery_area/orcl/control02.ctl - modified
    Datafile /u01/app/oracle/oradata/orcl/system01.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/orcl/sysaux01.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/orcl/undotbs01.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/orcl/users01.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/orcl/example01.db - dbid changed, wrote new name
    Datafile /u01/app/oracle/oradata/orcl/temp01.db - dbid changed, wrote new name
    Control File /u01/app/oracle/oradata/orcl/control01.ctl - dbid changed, wrote new name
    Control File /u01/app/oracle/fast_recovery_area/orcl/control02.ctl - dbid changed, wrote new name
    Instance shut down

Database name changed to RDX.
Modify parameter file and generate a new password file before restarting.
Database ID for database RDX changed to 1347507995.
All previous backups and archived redo logs for this database are unusable.
Database is not aware of previous backups and archived logs in Recovery Area.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database name and ID.
DBNEWID - Completed succesfully.

[oracle@localhost ~]$


Need to change DB_NAME in parameter before start otherwise you will get below error

[oracle@localhost ~]$ sqlplus "/as sysdba"

SQL*Plus: Release 11.2.0.4.0 Production on Fri Mar 27 23:41:46 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area 1519898624 bytes
Fixed Size                  2253464 bytes
Variable Size             436211048 bytes
Database Buffers         1073741824 bytes
Redo Buffers                7692288 bytes
ORA-01103: database name 'RDX' in control file is not 'ORCL'


SQL>

SQL>
SQL> create pfile from spfile;

File created.

SQL> shut immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL>

[oracle@localhost ~]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/


[oracle@localhost dbs]$ mv spfileorcl.ora spfileorcl.ora_bkp

Chnage DB_NAME in parameter file

Step 6
------------

SQL> startup mount
ORACLE instance started.

Total System Global Area 1519898624 bytes
Fixed Size                  2253464 bytes
Variable Size             436211048 bytes
Database Buffers         1073741824 bytes
Redo Buffers                7692288 bytes
Database mounted.
SQL>
SQL> alter database open resetlogs;

Database altered.

SQL> select name,open_mode,dbid,db_unique_name from v$database;

NAME      OPEN_MODE                  DBID DB_UNIQUE_NAME
--------- -------------------- ---------- ------------------------------
RDX       READ WRITE           1347507995 RDX

SQL>


To Revert
============

nid TARGET=/ REVERT=YES






Tuesday, March 17, 2020

Transfer the dump-file from On premise to RDS instance of AWS using DBMS_FILE_TRANSFER


Transfer the dump-file from On premise to RDS instance of AWS:
===============================================================


prerequisite :
============


  • create public db link in source database pointing to AWS RDS instance
  • DB link should be working fine


Command:
============


BEGIN
DBMS_FILE_TRANSFER.PUT_FILE(
source_directory_object =>'DATA_PUMP_DIR',
source_file_name =>'test1_full_db.dmp',
destination_directory_object =>'DATA_PUMP_DIR',
destination_file_name => 'test1_full_db.dmp',
destination_database =>'AWS_RDS'
);
END;
/




SQL>
SQL>
SQL>
SQL> BEGIN
DBMS_FILE_TRANSFER.PUT_FILE(
source_directory_object =>'DATA_PUMP_DIR',
source_file_name =>'test1_full_db.dmp',
destination_directory_object =>'DATA_PUMP_DIR',
destination_file_name => 'test1_full_db.dmp',
destination_database =>'AWS_RDS'
);
END;
/  2    3    4    5    6    7    8    9   10