Adsense Ad

Wednesday 16 November 2022

IMP-00013: only a DBA can import a file exported by another DBA

How to fix IMP-00013: only a DBA can import a file exported by another DBA

Error Description:
Import using imp utility is failing with following error.

Export file created by EXPORT:V11.02.00 via conventional path
IMP-00013: only a DBA can import a file exported by another DBA
IMP-00000: Import terminated unsuccessfully

Solution Description:
This is because of lack of privilege for importing the dump file. The export dump would have taken by a DBA privileged user but the user is trying to import the dump should have at least IMP_FULL_DATABASE privilege or a DBA privileged user can import the dump easily. You can give the access using the following syntax.

Syntax: grant IMP_FULL_DATABASE to username;

Example:


imp file=exp_schema.dmp log=imp_exp_schema.log fromuser=scott touser=test

Import: Release 11.2.0.2.0 - Production on Mon Oct 15 02:03:41 2012

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

Username: test
Password:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Tes

Export file created by EXPORT:V11.02.00 via conventional path
IMP-00013: only a DBA can import a file exported by another DBA
IMP-00000: Import terminated unsuccessfully


SQL> conn test/test
Connected.

SQL> select * from session_roles;

no rows selected

SQL> conn / as sysdba
Connected.
SQL> grant IMP_FULL_DATABASE to test;

Grant succeeded.

SQL> conn test/test
Connected.
SQL> select * from session_roles;

ROLE
------------------------------
IMP_FULL_DATABASE
SELECT_CATALOG_ROLE
HS_ADMIN_SELECT_ROLE
EXECUTE_CATALOG_ROLE
HS_ADMIN_EXECUTE_ROLE

Trying the import after granting the privilege and it worked.

imp file=exp_schema.dmp log=imp_exp_schema.log fromuser=scott touser=test

Import: Release 11.2.0.2.0 - Production on Mon Oct 15 02:06:34 2012

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

Username: test/test

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Tes

Export file created by EXPORT:V11.02.00 via conventional path

Warning: the objects were exported by SCOTT, not by you

import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
. importing SCOTT's objects into TEST
. . importing table                      "My_Tab"      1000 rows imported
Import terminated successfully without warnings.

Wednesday 19 October 2022

Oracle SQL: Generating Dates in Sequence & Time in Sequence

To achieve our task we use connect by level in our SQL to generate the followings:

SQL for Generating Dates in Sequence:

Select To_Date(Sysdate-30, 'dd-mm-rrrr') + (Level - 1) Dates
From Dual
Connect By Level <= ((To_Date(Sysdate, 'dd-mm-rrrr') -
To_Date(Sysdate-30, 'dd-mm-rrrr')) + 1);

Result:






















SQL for Generating Time in Sequence:

Select Level,
To_Char(Trunc(Sysdate) + (Level - 1) / 24, 'YYYY-MM-DD HH24:MI') As Date_Hour,
To_Char(Trunc(Sysdate) + (Level - 1) / 24, 'HH24:MI') As Hours
From Dual
Connect By Level <= 24;

Result:


Tuesday 31 May 2022

Oracle SQL-PL/SQL: Create WM_CONCAT in ORACLE 12c

 WM_CONCAT  is not working in ORACLE 12c and Oracle suggested an alternative solution is to use LISTAGG.

LISTAGG working fine in Database and Oracle Reports level,

But Oracle Forms 11g (Version 11.1.2.0.0) have compilation error when using LISTAGG.

The Easiest solution in this issue …..

Create WM_CONCAT function in ORACLE 12c database:

You can try the following steps to create WM_CONCAT  in ORACLE 12c ……

Step 1: Create a TYPE and TYPE BODY

—————————Script ——————–

DROP TYPE WMSYS.WM_CONCAT_IMPL;

CREATE OR REPLACE TYPE WMSYS.Wm_Concat_Impl wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
d
270 160
bg9hz+fBwa888VEZGViHFs/oOP0wg433f64df3QCWE7VehmhTFcUe3y+JrsniV3cSuvmnE3g
Y93dtR+cCsU1N+UQDGbtzhCf2HIdr8lPzfgF2bmCTvmGlHQbTAjTftNrDq3p093ncwb32OyX
3ZFDTeH2jpjm3uWYyT8kZBfJIYxRwgLfRApoW32cpy0eRnvDBt2XfTAMXKCSNnqSoTiGA83W
6deKW+rWyBu9L/EPyFkmQZeBncNsiNDF8fa1Sm6vdQiEanlCQnaPJ11a0na8hK6psDSaey+x
fdMupCwSvg6gMrSV4QCguhOCqW2AmxRVMqpXJootPpTBxBFZc7hORGbriUI=
/

DROP TYPE BODY WMSYS.WM_CONCAT_IMPL;

CREATE OR REPLACE TYPE BODY WMSYS.Wm_Concat_Impl wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
e
431 1d6
4E5KBnNGi9ZdccetOt5Qas902MUwgzsJr0gVfHRVWGSl8CvsyI9XoIRaVeA+MgrbNy0MKs17
YaSfXYacoF8yX8sh94R2lTMSM+u3LvBLTcKy2MTwPxIQP5IREfj5ZWZ44bhRRiFdQQ1plWkB
7MPMVFaJyn+9PoTQdVdiKGeou0Q8AYzVPPKrxfa3OY5tBmId+MA3bxWAbe3drFfb3dOYu7nQ
e7Yz1Bp8IAwzL/ckiVdYV2Qqex8DhTHPjuD0YvndS6zfRttr+q6uIwXTMrBB1OyNwiMmilYC
macOerMZg9T0sj6P8g66Z6eFS8Yiw0Z5KLtVy9TEhgT83sRiqwdJe8ve/+FVjUa9RYnbEN5A
AYhXVXTVAXphRT8pnzX2SMPuZt6w9oOa3mn8Ig8PhdU+CVFi+SGebpoKgoGKxG6cIyZ5T26/
w3bHJXj6ctAgIKT7+cahCLw6NnMqtSQ=
/

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

Step 2: Create the function wm_concat

————————Script———————————-

CREATE OR REPLACE function WMSYS.wm_concat wrapped
a000000
1
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
8
58 96
+CuW1MAfZPVR6NOnXKVmXY2o9pswg8eZgcfLCNL+XhZy8K7/cgzcVrPnfMPnx3TAM7h0ZSXD
j57Asr2ym9ZtFldFmFu+RdpAU8VGORKSvtVG+DmAOR4C+NTa+Pit2kDbEpI5zhZUgqameSkE
DQ==
/
———————————————–

Step 3: GRANT it to PUBLIC
————————Script———————————-
GRANT EXECUTE ON WMSYS.wm_concat TO PUBLIC;

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

Oracle Forms: Avoid duplicated records in a block

 The purpose is to reject two records that contain duplicated values


The technique used to solve this problem comes from the Kevin D Clarke’s calculated item famous solution.

 

It uses two calculated items, one in the data bock and another in a control block.



The first calculated item (:DEPT.MATCH_FOUND) is added to the DEPT block. It contains the formula as follow:

 

Comparaison(:ctrl.charsave, :dept.deptno||:dept.dname)

 

Notice in this case,that we want to avoid duplicates on both DEPTNO and DNAME values.

 

Function COMPARAISON (val1 varchar2, val2 varchar2)

Return number

Is

   answer number := 0;

Begin

   if val1 = val2 then

      answer := 1;

   end if;

   return(answer);

End;

 

COMPARAISON is a program unit stored in the Forms module.

 

The two values are compared to each other, then the function returns 1 (a value greatest than 0) if both the values are identical.

The first value (:ctrl.charsave) contains the bakup value of the current record.

 

The DEPT block must have the following properties setting:

 

Query all records

YES

 

 

The CTRL block must have the following properties setting:

 

Query all records

YES

Single record

YES

Database data block

NO

 

 

The second calculated item (:CTRL.MATCH_FOUND) is added to the CTRL block.

It summarize the values contained in all the rows of the DEPT block (dept.match_found).

If the total is greater than 1, we have two duplicated data.

Error When Insert Graph In Oracle Report 10g

 





Normally this type of error raised when graph is using in Oracle 10g Reports which is configured on Windows 10. In order to avoid above error, please follow below steps:

1. Go to the properties of reports builder.
2. Switch tab to “Compatibility”.
3. Check on “Run this program in compatibility mode for”.
4. Select “Windows 98/Windows Me” from list.
5. Press apply and save.

It will surely work.

Courtesy By: Muhammed Azfar Nawaz