Search This Blog

Total Pageviews

Saturday, 31 August 2024

Create database via 19c dbca


Create database via 19c dbca ... 


[oracle@ora2 ~]$ hostname
ora2

check below first !!
export PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/dell/srvadmin/bin:/home/oracle/.local/bin:/home/oracle/bin:/usr/local/bin:/u01/app/oracle/product/19.0.0/dbhome_3/bin

check this 

which dbca
/u01/app/oracle/product/19.0.0/dbhome_3/bin/dbca



 dbca -silent -nodelist 'ora2,ora3' -createDatabase -responseFile NO_VALUE -gdbName ORCLX -templateName General_Purpose.dbc -characterSet AL32UTF8 -datafileDestination '+DATA' -sid ORCLX -redoLogFileSize 50 -systemPassword welcome1 -sysPassword welcome1 -enableArchive true -createAsContainerDatabase true -pdbName UTIL01 -numberOfPDBs 1 -useLocalUndoForPDBs true -pdbAdminPassword welcome1 -recoveryAreaDestination '+DATA' -recoveryAreaSize 8024  -sampleSchema false -databaseType MULTIPURPOSE -nationalCharacterSet AL16UTF16 -databaseConfigType RAC -automaticMemoryManagement false -initParams SGA_TARGET='5000M' PGA_AGGREGATE_TARGET='200M'


[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.

[WARNING] [DBT-06801] Specified Fast Recovery Area size (8,024 MB) is less than the recommended value.
   CAUSE: Fast Recovery Area size should at least be three times the database size (3,328 MB).
   ACTION: Specify Fast Recovery Area Size to be at least three times the database size.


Prepare for db operation
7% complete
Copying database files
27% complete
Creating and starting Oracle instance
28% complete
31% complete
35% complete
37% complete
40% complete
Creating cluster database views
41% complete
53% complete
Completing Database Creation
57% complete
59% complete
60% complete
Creating Pluggable Databases
64% complete
80% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /u01/app/oracle/cfgtoollogs/dbca/ORCLX.
Database Information:
Global Database Name:ORCLX
System Identifier(SID) Prefix:ORCLX
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCLX/ORCLX.log" for further details.





INSTANCE_NUMBER.............................................: 1
INSTANCE_NAME...............................................: ORCLX1
HOST_NAME...................................................: ora2 
VERSION.....................................................: 19.0.0.0.0
STARTUP_TIME................................................: 31-08-2024 08:48:58
STATUS......................................................: OPEN
PARALLEL....................................................: YES
THREAD#.....................................................: 1
ARCHIVER....................................................: STARTED
LOG_SWITCH_WAIT.............................................:
LOGINS......................................................: ALLOWED
SHUTDOWN_PENDING............................................: NO
DATABASE_STATUS.............................................: ACTIVE
INSTANCE_ROLE...............................................: PRIMARY_INSTANCE
ACTIVE_STATE................................................: NORMAL
BLOCKED.....................................................: NO

INSTANCE_NUMBER.............................................: 2
INSTANCE_NAME...............................................: ORCLX2
HOST_NAME...................................................: ora3
VERSION.....................................................: 19.0.0.0.0
STARTUP_TIME................................................: 31-08-2024 08:48:59
STATUS......................................................: OPEN
PARALLEL....................................................: YES
THREAD#.....................................................: 2
ARCHIVER....................................................: STARTED
LOG_SWITCH_WAIT.............................................:
LOGINS......................................................: ALLOWED
SHUTDOWN_PENDING............................................: NO
DATABASE_STATUS.............................................: ACTIVE
INSTANCE_ROLE...............................................: PRIMARY_INSTANCE
ACTIVE_STATE................................................: NORMAL
BLOCKED.....................................................: NO



SQL> show parameter sga

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
allow_group_access_to_sga            boolean     FALSE
lock_sga                             boolean     FALSE
pre_page_sga                         boolean     TRUE
sga_max_size                         big integer 5008M
sga_min_size                         big integer 0
sga_target                           big integer 5008M
unified_audit_sga_queue_size         integer     1048576


SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 UTIL01                         READ WRITE NO


====
another example !!
[oracle@oragrid product]$ /u01/app/oracle/product/19.0.0/dbhome1/bin/dbca -CreateDatabase -silent -gdbName v15mpc -sid v15mpc -sysPassword sys -systemPassword sys -createAsContainerDatabase true -numberofPDBs 1 -pdbname v15mpcpdb -pdbAdminUserName pdba -pdbAdminPassword password -emConfiguration LOCAL -dbsnmpPassword dbsnmp123 -storageType ASM -datafiledestination +DATA -recoveryAreaDestination +DATA -databaseType MULTIPURPOSE -responseFile NO_VALUE -totalmemory 6096 -characterset AL32UTF8 -nationalcharacterset AL16UTF16 -automaticmemorymanagement FALSE -templateName /u01/app/oracle/product/19.0.0/dbhome1/assistants/dbca/templates/General_Purpose.dbc
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'PDBADMIN' password entered does not conform to the Oracle recommended standards.
   CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
   ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
Prepare for db operation
7% complete
Registering database with Oracle Restart
11% complete
Copying database files
33% complete
Creating and starting Oracle instance
35% complete
38% complete
42% complete
45% complete
48% complete
Completing Database Creation
53% complete
55% complete
56% complete
Creating Pluggable Databases
60% complete
78% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /u01/app/oracle/cfgtoollogs/dbca/v15mpc.
Database Information:
Global Database Name:v15mpc
System Identifier(SID):v15mpc
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/v15mpc/v15mpc0.log" for further details.
[oracle@oragrid product]$ ps -ef|grep -i smon
grid        4750       1  0 10:10 ?        00:00:00 asm_smon_+ASM
oracle     13673       1  0 11:25 ?        00:00:00 ora_smon_v15mpc
oracle     14138    4814  0 11:30 pts/1    00:00:00 grep --color=auto -i smon




Tuesday, 20 August 2024

Rman duplicate pluggable database


  

Rman duplicate pluggable database ...

on same server !!!!

ORCL:/u01/app/oracle/product/19.0.0/dbhome_1:N  

orclcd:/u01/app/oracle/product/19.0.0/dbhome_1:N





ORCL:/u01/app/oracle/product/19.0.0/dbhome_1:N


SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO     >>>  aim to duplicate  pluggable database -------------------------------------->

SQL> Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0



orclcd:/u01/app/oracle/product/19.0.0/dbhome_1:N

[oracle@ ~]$ . oraenv
ORACLE_SID = [ORCL] ? orclcd
The Oracle base remains unchanged with value /u01/app/oracle


[oracle@ ~]$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 19 12:38:57 2024
Version 19.12.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0

SQL>  show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPBB                        READ WRITE NO <<<<< and plug here  <<<------------------------------------------------------------ be="" end="" like="" result="" sql="" this="" would=""> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPBB                        READ WRITE NO
         4 ORCLPDBD                       READ WRITE NO
SQL>




rman

Recovery Manager: Release 19.0.0.0.0 - Production on Tue Aug 20 03:55:26 2024
Version 19.12.0.0.0

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

RMAN> connect target sys/vihaan123@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))

connected to target database: ORCL (DBID=1618442726)

RMAN> connect auxiliary sys/vihaan123@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=orclcd)))

connected to auxiliary database: ORCLCD (DBID=2923364259)

RMAN> DUPLICATE PLUGGABLE DATABASE ORCLPDB as ORCLPDBD TO orclcd FROM ACTIVE DATABASE ;

Starting Duplicate PDB at 20-AUG-24
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=855 device type=DISK
current log archived
duplicating Online logs to Oracle Managed File (OMF) location
duplicating Datafiles to Oracle Managed File (OMF) location
current log archived





contents of Memory Script:
{
   set newname for clone datafile  9 to new;
   set newname for clone datafile  10 to new;
   set newname for clone datafile  11 to new;
   set newname for clone datafile  12 to new;
   restore
   from  nonsparse   clone foreign pluggable database
    "ORCLPDB"
   from service  '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))'   ;
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 20-AUG-24
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring foreign file 9 to +DATA/ORCLCD/D2909A01684E4D42E053F214A8C08735/DATAFILE/system.335.1177474125
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring foreign file 10 to +DATA/ORCLCD/D2909A01684E4D42E053F214A8C08735/DATAFILE/sysaux.334.1177474129
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring foreign file 11 to +DATA/ORCLCD/D2909A01684E4D42E053F214A8C08735/DATAFILE/undotbs1.333.1177474133
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring foreign file 12 to +DATA/ORCLCD/D2909A01684E4D42E053F214A8C08735/DATAFILE/users.332.1177474133
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 20-AUG-24

contents of Memory Script:
{
   set archivelog destination to  '+DATA';
   restore clone force from service  '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))'
           foreign archivelog from scn  78208744;
}
executing Memory Script

executing command: SET ARCHIVELOG DESTINATION

Starting restore at 20-AUG-24
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting archived log restore to user-specified destination
archived log destination=+DATA
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=1925
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
Finished restore at 20-AUG-24

Performing import of metadata...
Finished Duplicate PDB at 20-AUG-24



===


SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPBB                        READ WRITE NO
         4 ORCLPDBD                       READ WRITE NO
SQL>




=======

Error !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


RMAN>  DUPLICATE PLUGGABLE DATABASE ORCLPDB as ORCLPDBD TO orclcd FROM ACTIVE DATABASE SECTION SIZE 400M;   <<<< SECTION SIZE 400M; remove this check output above 

Starting Duplicate PDB at 20-AUG-24
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=607 device type=DISK
current log archived
duplicating Online logs to Oracle Managed File (OMF) location
duplicating Datafiles to Oracle Managed File (OMF) location
current log archived

contents of Memory Script:
{
   set newname for clone datafile  9 to new;
   set newname for clone datafile  10 to new;
   set newname for clone datafile  11 to new;
   set newname for clone datafile  12 to new;
   restore
   from  nonsparse   section size
 400 m   clone foreign pluggable database
    "ORCLPDB"
   from service  '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=  anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))'   ;
}
executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 20-AUG-24
using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:13
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473013' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 9 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473013' contains an invalid file number
continuing other job steps, job failed will not be re-run
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:13
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473015' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 10 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473015' contains an invalid file number
continuing other job steps, job failed will not be re-run
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:14
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473017' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 11 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473017' contains an invalid file number
continuing other job steps, job failed will not be re-run
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=anujlab.com)(Port=1521))(CONNECT_DATA=(SID=ORCL)))
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:14
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473019' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 12 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473019' contains an invalid file number
continuing other job steps, job failed will not be re-run
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate PDB command at 08/20/2024 03:50:14
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script

RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:14
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473019' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 12 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:14
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473017' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 11 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:13
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473015' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 10 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/
RMAN-03009: failure of IRESTORE command on ORA_AUX_DISK_1 channel at 08/20/2024 03:50:13
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/DATAFILE/.335.1177473013' contains an invalid file number
ORA-19660: some files in the backup set could not be verified
ORA-19661: datafile 9 could not be verified
ORA-19504: failed to create file "+DATA"
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15122: ASM file name '+DATA/ORCLCD/D





Thursday, 1 August 2024

Unix split command


 Unix split command 




Created 1gb file for testing 

dd if=/dev/urandom of=anuj.trc bs=64M count=16 iflag=fullblock
16+0 records in
16+0 records out
1073741824 bytes (1.1 GB) copied, 65.8006 s, 16.3 MB/s


[oracle@rac01:~] $ls -ltr anuj.trc
-rw-r--r-- 1 oracle oinstall 1073741824 Aug  1 04:46 anuj.trc

[oracle@ibrac01:~] $ls -lhtr anuj.trc
-rw-r--r-- 1 oracle oinstall 1.0G Aug  1 04:46 anuj.trc


Split the file 400m chunks

[oracle@rac01:~] $

tar cz anuj.trc | split -b 400m - anuj.trc_split


rac01:~] $ls -ltrh anuj*

-rw-r--r-- 1 oracle oinstall 1.0G Aug  1 04:46 anuj.trc
-rw-r--r-- 1 oracle oinstall 400M Aug  1 04:49 anuj.trc_splitaa
-rw-r--r-- 1 oracle oinstall 400M Aug  1 04:49 anuj.trc_splitab
-rw-r--r-- 1 oracle oinstall 225M Aug  1 04:50 anuj.trc_splitac

delete the old file to test !!!
rm anuj.trc

To Join 
cat anuj.trc_split* | tar xz


ls -ltrh anuj*

-rw-r--r-- 1 oracle oinstall 1.0G Aug  1 04:46 anuj.trc  <<<<<----Now file is back 
-rw-r--r-- 1 oracle oinstall 400M Aug  1 04:49 anuj.trc_splitaa
-rw-r--r-- 1 oracle oinstall 400M Aug  1 04:49 anuj.trc_splitab
-rw-r--r-- 1 oracle oinstall 225M Aug  1 04:50 anuj.trc_splitac


Tuesday, 16 July 2024

show_dumpfile_info


from Web


CREATE OR REPLACE PROCEDURE show_dumpfile_info(
  p_dir  VARCHAR2 DEFAULT 'DATA_PUMP_DIR',
  p_file VARCHAR2 DEFAULT 'EXPDAT.DMP')
AS
-- p_dir        = directory object where dump file can be found
-- p_file       = simple filename of export dump file (case-sensitive)
  v_separator   VARCHAR2(80) := '--------------------------------------' ||
                                '--------------------------------------';
  v_path        all_directories.directory_path%type := '?';
  v_filetype    NUMBER;                 -- 0=unknown 1=expdp 2=exp 3=ext
  v_fileversion VARCHAR2(15);           -- 0.1=10gR1 1.1=10gR2 (etc.)
  v_info_table  sys.ku$_dumpfile_info;  -- PL/SQL table with file info
  type valtype  IS VARRAY(23) OF VARCHAR2(2048);
  var_values    valtype := valtype();
  no_file_found EXCEPTION;
  PRAGMA        exception_init(no_file_found, -39211);

BEGIN

-- Dump file details:
-- ==================
-- For Oracle10g Release 2 and higher:
--    dbms_datapump.KU$_DFHDR_FILE_VERSION        CONSTANT NUMBER := 1;
--    dbms_datapump.KU$_DFHDR_MASTER_PRESENT      CONSTANT NUMBER := 2;
--    dbms_datapump.KU$_DFHDR_GUID                CONSTANT NUMBER := 3;
--    dbms_datapump.KU$_DFHDR_FILE_NUMBER         CONSTANT NUMBER := 4;
--    dbms_datapump.KU$_DFHDR_CHARSET_ID          CONSTANT NUMBER := 5;
--    dbms_datapump.KU$_DFHDR_CREATION_DATE       CONSTANT NUMBER := 6;
--    dbms_datapump.KU$_DFHDR_FLAGS               CONSTANT NUMBER := 7;
--    dbms_datapump.KU$_DFHDR_JOB_NAME            CONSTANT NUMBER := 8;
--    dbms_datapump.KU$_DFHDR_PLATFORM            CONSTANT NUMBER := 9;
--    dbms_datapump.KU$_DFHDR_INSTANCE            CONSTANT NUMBER := 10;
--    dbms_datapump.KU$_DFHDR_LANGUAGE            CONSTANT NUMBER := 11;
--    dbms_datapump.KU$_DFHDR_BLOCKSIZE           CONSTANT NUMBER := 12;
--    dbms_datapump.KU$_DFHDR_DIRPATH             CONSTANT NUMBER := 13;
--    dbms_datapump.KU$_DFHDR_METADATA_COMPRESSED CONSTANT NUMBER := 14;
--    dbms_datapump.KU$_DFHDR_DB_VERSION          CONSTANT NUMBER := 15;
-- For Oracle11gR1:
--    dbms_datapump.KU$_DFHDR_MASTER_PIECE_COUNT  CONSTANT NUMBER := 16;
--    dbms_datapump.KU$_DFHDR_MASTER_PIECE_NUMBER CONSTANT NUMBER := 17;
--    dbms_datapump.KU$_DFHDR_DATA_COMPRESSED     CONSTANT NUMBER := 18;
--    dbms_datapump.KU$_DFHDR_METADATA_ENCRYPTED  CONSTANT NUMBER := 19;
--    dbms_datapump.KU$_DFHDR_DATA_ENCRYPTED      CONSTANT NUMBER := 20;
-- For Oracle11gR2:
--    dbms_datapump.KU$_DFHDR_COLUMNS_ENCRYPTED   CONSTANT NUMBER := 21;
--    dbms_datapump.KU$_DFHDR_ENCRIPTION_MODE     CONSTANT NUMBER := 22;
-- For Oracle12cR1:
--    dbms_datapump.KU$_DFHDR_COMPRESSION_ALG     CONSTANT NUMBER := 23;

-- For Oracle10gR2: KU$_DFHDR_MAX_ITEM_CODE       CONSTANT NUMBER := 15;
-- For Oracle11gR1: KU$_DFHDR_MAX_ITEM_CODE       CONSTANT NUMBER := 20;
-- For Oracle11gR2: KU$_DFHDR_MAX_ITEM_CODE       CONSTANT NUMBER := 22;
-- For Oracle12cR1: KU$_DFHDR_MAX_ITEM_CODE       CONSTANT NUMBER := 23;

-- Show header output info:
-- ========================

  dbms_output.put_line(v_separator);
  dbms_output.put_line('Purpose..: Obtain details about export ' ||
        'dumpfile.        Version: 18-DEC-2013');
  dbms_output.put_line('Required.: RDBMS version: 10.2.0.1.0 or higher');
  dbms_output.put_line('.          ' ||
        'Export dumpfile version: 7.3.4.0.0 or higher');
  dbms_output.put_line('.          ' ||
        'Export Data Pump dumpfile version: 10.1.0.1.0 or higher');
  dbms_output.put_line('Usage....: ' ||
        'execute show_dumfile_info(''DIRECTORY'', ''DUMPFILE'');');
  dbms_output.put_line('Example..: ' ||
        'exec show_dumfile_info(''MY_DIR'', ''expdp_s.dmp'')');
  dbms_output.put_line(v_separator);
  dbms_output.put_line('Filename.: ' || p_file);
  dbms_output.put_line('Directory: ' || p_dir);

-- Retrieve Export dumpfile details:
-- =================================

  SELECT directory_path INTO v_path FROM all_directories
   WHERE directory_name = p_dir
      OR directory_name = UPPER(p_dir);

  dbms_datapump.get_dumpfile_info(
           filename   => p_file,       directory => UPPER(p_dir),
           info_table => v_info_table, filetype  => v_filetype);

  var_values.EXTEND(23);
  FOR i in 1 .. 23 LOOP
    BEGIN
      SELECT value INTO var_values(i) FROM TABLE(v_info_table)
       WHERE item_code = i;
    EXCEPTION WHEN OTHERS THEN var_values(i) := '';
    END;
  END LOOP;

  dbms_output.put_line('Disk Path: ' || v_path);

  IF v_filetype >= 1 THEN
    -- Get characterset name:
    BEGIN
      SELECT var_values(5) || ' (' || nls_charset_name(var_values(5)) ||
        ')' INTO var_values(5) FROM dual;
    EXCEPTION WHEN OTHERS THEN null;
    END;
    IF v_filetype = 2 THEN
      dbms_output.put_line(
         'Filetype.: ' || v_filetype || ' (Original Export dumpfile)');
      dbms_output.put_line(v_separator);
      SELECT DECODE(var_values(13), '0', '0 (Conventional Path)',
        '1', '1 (Direct Path)', var_values(13))
        INTO var_values(13) FROM dual;
      dbms_output.put_line('...Characterset ID of source db..: ' || var_values(5));
      dbms_output.put_line('...Direct Path Export Mode.......: ' || var_values(13));
      dbms_output.put_line('...Export Version................: ' || var_values(15));
    ELSIF v_filetype = 1 OR v_filetype = 3 THEN
      SELECT SUBSTR(var_values(1), 1, 15) INTO v_fileversion FROM dual;
      SELECT DECODE(var_values(1),
                    '0.1', '0.1 (Oracle10g Release 1: 10.1.0.x)',
                    '1.1', '1.1 (Oracle10g Release 2: 10.2.0.x)',
                    '2.1', '2.1 (Oracle11g Release 1: 11.1.0.x)',
                    '3.1', '3.1 (Oracle11g Release 2: 11.2.0.x)',
                    '4.1', '4.1 (Oracle12c Release 1: 12.1.0.x)',
        var_values(1)) INTO var_values(1) FROM dual;
      SELECT DECODE(var_values(2), '0', '0 (No)', '1', '1 (Yes)',
        var_values(2)) INTO var_values(2) FROM dual;
      SELECT DECODE(var_values(14), '0', '0 (No)', '1', '1 (Yes)',
        var_values(14)) INTO var_values(14) FROM dual;
      SELECT DECODE(var_values(18), '0', '0 (No)', '1', '1 (Yes)',
        var_values(18)) INTO var_values(18) FROM dual;
      SELECT DECODE(var_values(19), '0', '0 (No)', '1', '1 (Yes)',
        var_values(19)) INTO var_values(19) FROM dual;
      SELECT DECODE(var_values(20), '0', '0 (No)', '1', '1 (Yes)',
        var_values(20)) INTO var_values(20) FROM dual;
      SELECT DECODE(var_values(21), '0', '0 (No)', '1', '1 (Yes)',
        var_values(21)) INTO var_values(21) FROM dual;
      SELECT DECODE(var_values(22),
                    '1', '1 (Unknown)',
                    '2', '2 (None)',
                    '3', '3 (Password)',
                    '4', '4 (Password and Wallet)',
                    '5', '5 (Wallet)',
        var_values(22)) INTO var_values(22) FROM dual;
      SELECT DECODE(var_values(23),
                    '2', '2 (None)',
                    '3', '3 (Basic)',
                    '4', '4 (Low)',
                    '5', '5 (Medium)',
                    '6', '6 (High)',
        var_values(23)) INTO var_values(23) FROM dual;
      IF v_filetype = 1 THEN
        dbms_output.put_line(
           'Filetype.: ' || v_filetype || ' (Export Data Pump dumpfile)');
        dbms_output.put_line(v_separator);
        dbms_output.put_line('...Database Job Version..........: ' || var_values(15));
        dbms_output.put_line('...Internal Dump File Version....: ' || var_values(1));
        dbms_output.put_line('...Creation Date.................: ' || var_values(6));
        dbms_output.put_line('...File Number (in dump file set): ' || var_values(4));
        dbms_output.put_line('...Master Present in dump file...: ' || var_values(2));
        IF dbms_datapump.KU$_DFHDR_MAX_ITEM_CODE > 15 AND v_fileversion >= '2.1' THEN
          dbms_output.put_line('...Master in how many dump files.: ' || var_values(16));
          dbms_output.put_line('...Master Piece Number in file...: ' || var_values(17));
        END IF;
        dbms_output.put_line('...Operating System of source db.: ' || var_values(9));
        IF v_fileversion >= '2.1' THEN
          dbms_output.put_line('...Instance Name of source db....: ' || var_values(10));
        END IF;
        dbms_output.put_line('...Characterset ID of source db..: ' || var_values(5));
        dbms_output.put_line('...Language Name of characterset.: ' || var_values(11));
        dbms_output.put_line('...Job Name......................: ' || var_values(8));
        dbms_output.put_line('...GUID (unique job identifier)..: ' || var_values(3));
        dbms_output.put_line('...Block size dump file (bytes)..: ' || var_values(12));
        dbms_output.put_line('...Metadata Compressed...........: ' || var_values(14));
        IF dbms_datapump.KU$_DFHDR_MAX_ITEM_CODE > 15 THEN
          dbms_output.put_line('...Data Compressed...............: ' || var_values(18));
          IF dbms_datapump.KU$_DFHDR_MAX_ITEM_CODE > 22 AND v_fileversion >= '4.1' THEN
            dbms_output.put_line('...Compression Algorithm.........: ' || var_values(23));
          END IF;
          dbms_output.put_line('...Metadata Encrypted............: ' || var_values(19));
          dbms_output.put_line('...Table Data Encrypted..........: ' || var_values(20));
          dbms_output.put_line('...Column Data Encrypted.........: ' || var_values(21));
          dbms_output.put_line('...Encryption Mode...............: ' || var_values(22));
        END IF;
      ELSE
        dbms_output.put_line(
           'Filetype.: ' || v_filetype || ' (External Table dumpfile)');
        dbms_output.put_line(v_separator);
        dbms_output.put_line('...Database Job Version..........: ' || var_values(15));
        dbms_output.put_line('...Internal Dump File Version....: ' || var_values(1));
        dbms_output.put_line('...Creation Date.................: ' || var_values(6));
        dbms_output.put_line('...File Number (in dump file set): ' || var_values(4));
        dbms_output.put_line('...Operating System of source db.: ' || var_values(9));
        IF v_fileversion >= '2.1' THEN
          dbms_output.put_line('...Instance Name of source db....: ' || var_values(10));
        END IF;
        dbms_output.put_line('...Characterset ID of source db..: ' || var_values(5));
        dbms_output.put_line('...Language Name of characterset.: ' || var_values(11));
        dbms_output.put_line('...GUID (unique job identifier)..: ' || var_values(3));
        dbms_output.put_line('...Block size dump file (bytes)..: ' || var_values(12));
        IF dbms_datapump.KU$_DFHDR_MAX_ITEM_CODE > 15 THEN
          dbms_output.put_line('...Data Compressed...............: ' || var_values(18));
          IF dbms_datapump.KU$_DFHDR_MAX_ITEM_CODE > 22 AND v_fileversion >= '4.1' THEN
            dbms_output.put_line('...Compression Algorithm.........: ' || var_values(23));
          END IF;
          dbms_output.put_line('...Table Data Encrypted..........: ' || var_values(20));
          dbms_output.put_line('...Encryption Mode...............: ' || var_values(22));
        END IF;
      END IF;
      dbms_output.put_line('...Internal Flag Values..........: ' || var_values(7));
      dbms_output.put_line('...Max Items Code (Info Items)...: ' ||
                  dbms_datapump.KU$_DFHDR_MAX_ITEM_CODE);
    END IF;
  ELSE
    dbms_output.put_line('Filetype.: ' || v_filetype);
    dbms_output.put_line(v_separator);
    dbms_output.put_line('ERROR....: Not an export dumpfile.');
  END IF;
  dbms_output.put_line(v_separator);

EXCEPTION
  WHEN no_data_found THEN
    dbms_output.put_line('Disk Path: ?');
    dbms_output.put_line('Filetype.: ?');
    dbms_output.put_line(v_separator);
    dbms_output.put_line('ERROR....: Directory Object does not exist.');
    dbms_output.put_line(v_separator);
  WHEN no_file_found THEN
    dbms_output.put_line('Disk Path: ' || v_path);
    dbms_output.put_line('Filetype.: ?');
    dbms_output.put_line(v_separator);
    dbms_output.put_line('ERROR....: File does not exist.');
    dbms_output.put_line(v_separator);
END;
/

 SET serveroutput on SIZE 1000000
exec show_dumpfile_info(p_dir=> 'DATA_PUMP_DIR', p_file=> 'to.dmp');


Filetype.: ?
----------------------------------------------------------------------------
ERROR....: File does not exist.
----------------------------------------------------------------------------
 
PL/SQL procedure successfully completed.
 

Wednesday, 3 July 2024

Oracle 23ai impotent Link



----- DBA Masterclass Links -----

Sign up for the upcoming DBA Masterclass Sessions, and watch past replays on-demand:
https://bit.ly/dba-masterclasses

Stay informed: Join the EMEA Oracle DBAs Linkedin Group:
https://bit.ly/emea_oracle_dba 


----- AI Vector Search Hands-on Labs -----

1- Oracle AI Vector Search - Basics
   https://bit.ly/dba-masterclass-ai-vector-lab1  

2- AI Vector Search - 7 Easy Steps to Building a RAG Application using LangChain
   https://bit.ly/dba-masterclass-ai-vector-lab2  

3- AI Vector Search - Complete RAG Application using PL/SQL in Oracle Database 23ai
   https://bit.ly/dba-masterclass-ai-vector-lab3  

4- AI Vector Search - Using Vector Embedding Models with Python
   https://bit.ly/dba-masterclass-ai-vector-lab4  

5- AI Vector Search - Using Vector Embedding Models with Nodejs
   https://bit.ly/dba-masterclass-ai-vector-lab5

6- AI Vector Search - Using Vector Embedding Models with JDBC
   https://bit.ly/dba-masterclass-ai-vector-lab6    



----- AI Vector Search Resource Links -----

Blogs

*   Oracle Announces General Availability of AI Vector Search in Oracle Database 23ai
    https://blogs.oracle.com/database/post/oracle-announces-general-availability-of-ai-vector-search-in-oracle-database-23ai

*   OML4Py: Leveraging ONNX and Hugging Face for AI Vector Search
    https://blogs.oracle.com/machinelearning/post/oml4py-leveraging-onnx-and-hugging-face-for-advanced-ai-vector-search

*   Announcing Oracle Database 23ai : General Availability
    https://blogs.oracle.com/database/post/oracle-23ai-now-generally-available


Videos

*   Oracle Database 23ai: Vector Search - Bring AI to your Data 
    https://youtu.be/pu79sny1AzY


O.com

*   Oracle AI Vector Search
    https://www.oracle.com/database/ai-vector-search/


Documentation
*   Oracle AI Vector Search User's Guide 
    https://docs.oracle.com/en/database/oracle/oracle-database/23/vecse/

https://connor-mcdonald.com/2024/07/03/quick-tip-vector-indexes-in-23ai/


Saturday, 22 June 2024

Oracle new oratab --

From web

 vi aoratab


#!/bin/ksh
# To view / change current Oracle SID and ORALCE_HOME, PATH
#
# Biju Thomas - 10/15/97
# Modified    - 13/02/98 - Add PATH feature!
#
echo ' '
echo '********************************************************************************'
echo ' The current ORACLE_SID value is  ' $ORACLE_SID
echo '********************************************************************************'
echo ' The following are valid instance names along with the ORACLE_HOME value:'
echo ' '
wcntr=0
while read LINE
do
  case $LINE in
  \#*)            ;;      #comment-line in oratab
  *)
  #       Proceed only if third field is 'Y'.
  #if [ "`echo $LINE | awk -F: '{print $3}' -`" = "Y" ] ; then
    wcntr=`expr $wcntr + 1`
    OSID=`echo $LINE | awk -F: '{print $1}' -`
    if [ "$ORACLE_SID" = '*' ] ; then
      echo '  *** Unknown Value ***'
    fi
    OHOME=`echo $LINE | awk -F: '{print $2}' -`
    echo ' Slno:' $wcntr ' SID Name:' $OSID ' Oracle Home:' $OHOME
  #fi
  esac
done < /etc/oratab
echo ' '
echo '********************************************************************************'
echo ' '
echo ' Do you want to change ORACLE_SID  [Y/N]? \c'
read choice
case $choice in
     Y|y) continue;;
     *)   return 0;;
esac
echo ' Enter Slno of the SID from above list  : \c'
read choice
if test $choice -lt 0 || test $choice -gt $wcntr
then
   echo ' Invalid choice.... Sorry!!!'
   return 1
fi
wcntr=0
while read LINE
do
  case $LINE in
  \#*)            ;;      #comment-line in oratab
  *)
  #       Proceed only if third field is 'Y'.
  #if [ "`echo $LINE | awk -F: '{print $3}' -`" = "Y" ] ; then
    wcntr=`expr $wcntr + 1`
    if test $wcntr -eq $choice
    then
       ORACLE_SID=`echo $LINE | awk -F: '{print $1}' -`
       if [ "$ORACLE_SID" = '*' ] ; then
         ORACLE_SID=''
       fi
       ORACLE_HOME=`echo $LINE | awk -F: '{print $2}' -`
       export ORACLE_HOME ORACLE_SID
       break;
    fi
  #fi
  esac
done < /etc/oratab
#
# Change PATH with new oracle home
#
path=`echo $PATH | sed "s/:/ /g"`
NEWPATH=$ORACLE_HOME/bin
for dirname in $path
do
  if [ `echo $dirname | grep oracle | grep bin | wc -l` -eq 0 ]
  then
     NEWPATH=`echo ${NEWPATH}:${dirname}`
  fi
done
export PATH=$NEWPATH
export ORA_NLS=
#
echo ' '
echo '********************************************************************************'
echo ' New value of ORACLE_SID is  ' $ORACLE_SID
echo ' New value of ORACLE_HOME is ' $ORACLE_HOME
echo ' New value of PATH is        ' $PATH
echo '********************************************************************************'
echo ' '
#



====

[root@rac01 ~]# . aoratab

********************************************************************************
 The current ORACLE_SID value is
********************************************************************************
 The following are valid instance names along with the ORACLE_HOME value:

 Slno: 1  SID Name:  Oracle Home:
 Slno: 2  SID Name:  Oracle Home:
 Slno: 3  SID Name:  Oracle Home:
 Slno: 4  SID Name:  Oracle Home:
 Slno: 5  SID Name: ora11g  Oracle Home: /u01/app/oracle/product/11.2.0/dbhome_1
 Slno: 6  SID Name: ibrac1  Oracle Home: /u01/app/oracle/product/12.2.0/dbhome_1
 Slno: 7  SID Name: -MGMTDB  Oracle Home: /u01/app/18.0.0/grid
 Slno: 8  SID Name: LRS  Oracle Home: /u01/app/oracle/product/12.2.0/dbhome_1
 Slno: 9  SID Name: ugarb  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 10  SID Name: ugarbx  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 11  SID Name: ugary  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 12  SID Name: ugarx  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 13  SID Name: -MGMTDB  Oracle Home: /u01/app/19.0.0/grid
 Slno: 14  SID Name: ugari  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 15  SID Name: +ASM1  Oracle Home: /u01/app/19.0.0/grid
 Slno: 16  SID Name: garbage  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 17  SID Name: ugaryd  Oracle Home: /u01/app/oracle/product/12.1.0/dbhome_1
 Slno: 18  SID Name:  Oracle Home:

********************************************************************************

 Do you want to change ORACLE_SID  [Y/N]? \c
Y
-bash: continue: only meaningful in a `for', `while', or `until' loop
 Enter Slno of the SID from above list  : \c
5

********************************************************************************
 New value of ORACLE_SID is   ora11g
 New value of ORACLE_HOME is  /u01/app/oracle/product/11.2.0/dbhome_1
 New value of PATH is         /u01/app/oracle/product/11.2.0/dbhome_1/bin:/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
********************************************************************************

Wednesday, 5 June 2024

Oracle partition export and import using datapump



Oracle partition  export and import using datapump via parfile ....




SQL> create user user1 identified by user1;



SQL> create user user2 identified by user2;



grant connect, resource to user1, user2;


2.Create datapump directory.

CREATE OR REPLACE DIRECTORY EXPDP_DIR AS '/dumps/expdp';
GRANT READ, WRITE ON DIRECTORY EXPDP_DIR to user1,user2;



3.Create partition table SALES.


alter session set current_schema=user1;

or

 conn user1/user1




Create table 


CREATE TABLE sales
( name varchar2(5),
time_id DATE)
PARTITION BY RANGE (time_id)
(PARTITION sales_AUG VALUES LESS THAN (TO_DATE('01-AUG-2014','dd-MON-yyyy'))
TABLESPACE users,
PARTITION sales_SEP VALUES LESS THAN (TO_DATE('01-SEP-2014','dd-MON-yyyy'))
TABLESPACE users,
PARTITION sales_OCT VALUES LESS THAN (TO_DATE('01-OCT-2014','dd-MON-yyyy'))
TABLESPACE users,
PARTITION sales_NOV VALUES LESS THAN (TO_DATE('01-NOV-2014','dd-MON-yyyy'))
TABLESPACE users,
PARTITION sales_DEV VALUES LESS THAN (TO_DATE('01-DEC-2014','dd-MON-yyyy'))
TABLESPACE users );


Table created.




  
insert into USER1.sales values('prod1','01-AUG-2014');
insert into USER1.sales values('prod2','01-SEP-2014');
insert into USER1.sales values('prod3','01-OCT-2014');




 SELECT partition_name FROM dba_tab_partitions WHERE table_name = 'SALES' and TABLE_OWNER='USER1';

PARTITION_NAME
--------------------------------------------------------------------------------------------------------------------------------
SALES_AUG
SALES_DEV
SALES_NOV
SALES_OCT
SALES_SEP




  
col owner for a20
 SELECT owner,partitioned FROM dba_tables WHERE table_name = 'SALES';


OWNER                PAR
-------------------- ---
USER1                YES





 SELECT partition_name FROM dba_tab_partitions WHERE table_name = 'SALES';

PARTITION_NAME
------------------------------
SALES_AUG
SALES_DEV
SALES_NOV
SALES_OCT
SALES_SEP






to create par file 

set linesize 400
col OBJECT_NAME for a20 
col SUBOBJECT_NAME for a20
col created for a25
col owner for a20
col list for a40
col list for a40
select 'tables='||owner||'.'|| object_name||':'||subobject_name list
--||',' ||'--'||created list
from dba_objects 
where object_type='TABLE PARTITION' 
and owner='USER1'
--and trunc(created) = trunc(sysdate)
order by CREATED
;



tables=USER1.SALES:SALES_DEV
tables=USER1.SALES:SALES_NOV
tables=USER1.SALES:SALES_AUG
tables=USER1.SALES:SALES_SEP
tables=USER1.SALES:SALES_OCT



userid="/ as sysdba"
directory=EXPDP_DIR
logfile=sales_table_partition.log
dumpfile=sales_table_partition.dmp
tables=USER1.SALES:SALES_DEV
tables=USER1.SALES:SALES_NOV
tables=USER1.SALES:SALES_AUG
tables=USER1.SALES:SALES_SEP
tables=USER1.SALES:SALES_OCT
 


expdp  parfile=expdp_table.par


 expdp  parfile=expdp_table.par

Export: Release 12.2.0.1.0 - Production on Wed Jun 5 01:55:56 2024

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

Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Starting "SYS"."SYS_EXPORT_TABLE_01":  /******** AS SYSDBA parfile=expdp_table.par
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "USER1"."SALES":"SALES_NOV"                 5.492 KB       1 rows
. . exported "USER1"."SALES":"SALES_OCT"                 5.492 KB       1 rows
. . exported "USER1"."SALES":"SALES_SEP"                 5.492 KB       1 rows
. . exported "USER1"."SALES":"SALES_AUG"                     0 KB       0 rows
. . exported "USER1"."SALES":"SALES_DEV"                     0 KB       0 rows
Master table "SYS"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_TABLE_01 is:
  /dumps/expdp/sales_table_partition.dmp
Job "SYS"."SYS_EXPORT_TABLE_01" successfully completed at Wed Jun 5 01:58:35 2024 elapsed 0 00:02:38




for imp 



cat impdp_table.par
userid="/ as sysdba"
directory=EXPDP_DIR
remap_schema=USER1:USER2
dumpfile=sales_table_partition.dmp
tables=USER1.SALES:SALES_DEV
tables=USER1.SALES:SALES_NOV
tables=USER1.SALES:SALES_AUG
tables=USER1.SALES:SALES_SEP
tables=USER1.SALES:SALES_OCT
 

impdp  parfile=impdp_table.par

Import: Release 12.2.0.1.0 - Production on Wed Jun 5 02:06:57 2024

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

Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
Master table "SYS"."SYS_IMPORT_TABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TABLE_01":  /******** AS SYSDBA parfile=impdp_table.par
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "USER2"."SALES":"SALES_NOV"                 5.492 KB       1 rows
. . imported "USER2"."SALES":"SALES_OCT"                 5.492 KB       1 rows
. . imported "USER2"."SALES":"SALES_SEP"                 5.492 KB       1 rows
. . imported "USER2"."SALES":"SALES_AUG"                     0 KB       0 rows
. . imported "USER2"."SALES":"SALES_DEV"                     0 KB       0 rows
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Job "SYS"."SYS_IMPORT_TABLE_01" successfully completed at Wed Jun 5 02:07:07 2024 elapsed 0 00:00:08


===========================================================


to check row count !!!


define TABLE_OWNER='USER2'
define TABLE_NAME='SALES'

set serverout on size 1000000  verify off

declare

sql_stmt varchar2(1024);

row_count number;
cursor get_tab is
select table_name,partition_name from dba_tab_partitions where table_owner=upper('&TABLE_OWNER') and table_name='&TABLE_NAME'
--and rownum<20
;


begin
dbms_output.put_line('Record Counts for table_name.....  ');
dbms_output.put_line('Log file to numrows_part_&TABLE_OWNER.lst ....');
dbms_output.put_line('....');

for get_tab_rec in get_tab loop


BEGIN

sql_stmt := 'select count(*) from &TABLE_OWNER..'||get_tab_rec.table_name||' partition ( '||get_tab_rec.partition_name||' )';

EXECUTE IMMEDIATE sql_stmt INTO row_count;
dbms_output.put_line('Table '||rpad(get_tab_rec.table_name||'('||get_tab_rec.partition_name||')',50)||' '||TO_CHAR(row_count)||' rows.');
exception when others then dbms_output.put_line ('Error counting rows for table '||get_tab_rec.table_name);
END;
end loop;
end;
/

Table SALES(SALES_AUG)                                   0 rows.
Table SALES(SALES_DEV)                                   0 rows.
Table SALES(SALES_NOV)                                   1 rows.
Table SALES(SALES_OCT)                                   1 rows.
Table SALES(SALES_SEP)                                   1 rows.

PL/SQL procedure successfully completed.



or



 
define 1 ='USER1';
 
set serveroutput on

declare 

p_count number;

begin
for i in (select * from DBA_tab_partitions where TABLE_OWNER='&1') loop 
 execute immediate 'select count(*) from '||i.TABLE_OWNER||'.'||i.TABLE_NAME|| ' partition('||i.partition_name||')' into p_count;
 dbms_output.put_line(i.partition_name||' '||to_char(p_count));
 end loop;
 end ;
 


SALES_AUG 0
SALES_SEP 1
SALES_OCT 1
SALES_NOV 1
SALES_DEV 0


Oracle DBA

anuj blog Archive