EXEC_SQL Package With Ora-306500 error
I write this pl/sql and the Ora-306500 and i dont know where is the error
declare
con1 exec_sql.conntype;
cur1 exec_sql.curstype;
nign2 PLS_INTEGER;
begin
con1:= exec_sql.open_connection('user1/pass@server');
cur1:= exec_sql.open_cursor(haj3_con con1);
exec_sql.parse(con1,cur1,'begin create table user1.x as select * from user2.y; end;' , exec_sql.v7);
-- and i try this also
--exec_sql.parse(con1,cur1,'create table user1.x as
--select * from user2.y' , exec_sql.v7);
nign2 := exec_sql.EXECUTE(con1,cur1);
exec_sql.close_cursor(con1,cur1);
exec_sql.close_connection(con1);
end;
so plz anybody can help me??
Hi,
write and exception-handler where you capture the EXEC_SQL.Package_Error exception and then show the last error raised by the exec_sql package.
eg.
BEGIN
EXCEPTION
WHEN EXEC_SQL.Package_Error THEN
MESSAGE('Code: ' || EXEC_SQL.Last_Error_Code || ' Msg: ' || EXEC_SQL.Last_Error_Mesg || ' Position: ' || EXEC_SQL.Last_Error_Position );
END;
Patrick
Similar Messages
-
ORA-306500 error when using EXEC_SQL? [SOLVED]
I used Francois Degrelle's example of doing a dynamic where clause to create a procedure using the EXEC_SQL package to get various counts from a table with different where clauses. Everything works for all the where clauses except when I try a date comparison I get the ORA-306500 error. The where clause I'm using takes 2 screen date fields:
'WHERE date_column BETWEEN ' || :date_field1 || ' AND ' || :date_field2
Anybody know what is causing this error?you forgot the to_date in the dynamic part.
what you pass to sql engine now is
where date_column between 10-FEB-2008 and 11-FEB-2008
don't think this would work...
what you need is:
where date_column between to_date('10-FEB-2008', 'DD-MON-RRRR') and .....
so you have to do some type conversions:
first of all convert in your form your date variable to a string with known format:
=> to_char(:date_field, 'DD-MON-RRRR')
now you have a string which looks like this:
'10-FEB-2008'
then let's go over to the dynamic part:
you want to restrict your where clause on date values, so when restricting with specific strings (the string from above), you have to convert it to a date datatype with to date.
so, this would look like this (as mentioned in my last post):
'.....between to_date(''''||to_char(:date_field1, 'dd-mon-rrrr')||''', ''dd-mon-rrrr'') and ..... '
best thing would be to display your query, and pass it in sqlplus as long it won't work ;-).
regards -
DBMS_LDAP call fails with ORA-06512 Error Mapping function
Hi,
I am facing a problem with workflow integration with LDAP.
I receive
ORA-6512 Error Mapping Function on one particular line within the WF_LDAP.get_cfg_val procedure.
WHILE my_entry IS NOT NULL
LOOP
my_vals := DBMS_LDAP.get_values (p_session,
my_entry,
p_name);
The documentation says:
ORA-06521 PL/SQL: Error mapping function
Cause: An error was detected by PL/SQL trying to map the mentioned
function dynamically.
Action: Check the stacked error (if any) for more details.
This is the trace of the error:
ORA-06521 PL/SQL Error mapping Function
ORA-06512 at SYS.DBMS_LDAP_API_FFI line 0
ORA-06512 at SYS.DBMS_LDAP line 1332
ORA-06512 at SYS.DBMS_LDAP line 1302
ORA-06512 at SYS.DBMS_LDAP line 582
This is the header of the catldap.sql file
Rem
Rem $Header: catldap.sql 07-jan-2000.19:15:20 akolli Exp $
Rem
Rem catldap.sql
Rem
Rem $Header: dbmsldap.sql 14-dec-2001.23:25:22 rbollu Exp $
Rem
Rem dbmsldap.sql
Rem
This is the output while running it (No errors):
Library created.
Package created.
Package created.
Package created.
Package body created.
Package body created.
Package body created.
Synonym created.
Grant succeeded.
Synonym created.
Grant succeeded.
Database is :
compatible 9.2.0.0.0
Am I missing something?
I have searched all the forums and although there are many references to "Error Mapping Function", noone has reported it in the context of WF - LDAP Integration. So I am not sure how to proceed.
Please help.
thanks in advance,
LibinHi Libin,
Can you please explain to me the parameters that you put in the Global Preferences, the LDAP_port,LDAP_user,and the others, because I don�t know where I need to search in the server this parameters and I don�t understand su much of OID.
if you can give to me and little description of that parameters,this would thank for much.
anticipated thanks
Arlet -
Creating database problem with ORA-01519: error while processing file '' ne
Dear all,
I am having rough time with creating database manually. can anyone help me with the following errors.
ALERT LOGFILE:-
Sun May 31 12:00:39 2009
Errors in file d:\oracle\product\10.1.0\admin\oracle5\udump\oracle5_ora_3444.trc:
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '%ORACLE_HOME%\RDBMS\ADMIN\SQL.BSQ' near line 5744
ORA-00604: error occurred at recursive SQL level 1
ORA-01119: error in creating database file 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\undotbs1.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.
Error 1519 happened during db open, shutting down database
USER: terminating instance due to error 1519
Sun May 31 12:00:39 2009
Errors in file d:\oracle\product\10.1.0\admin\oracle5\bdump\oracle5_reco_3416.trc:
ORA-01519: error while processing file '' near line
CREATE DATABASE SCRIPT:-
create database ORACLE5
user sys identified by bala
user system identified by bala
logfile
group 1 ('D:\oracle\product\10.1.0\oradata\ORACLE5\logfile\redo01.log') SIZE 50M,
group 2 ('D:\oracle\product\10.1.0\oradata\ORACLE5\logfile\redo02.log') SIZE 50M,
group 3 ('D:\oracle\product\10.1.0\oradata\ORACLE5\logfile\redo03.log') SIZE 50M
maxlogfiles 5
maxlogmembers 5
maxloghistory 1
maxdatafiles 50
maxinstances 1
datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5\datafile\system01.dbf' size 200m autoextend on maxsize unlimited extent management local
undo tablespace UNDOTBS1 datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\undotbs1.dbf' size 10m autoextend on maxsize unlimited
sysaux datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5\datafile\sysaux01.dbf' size 100m autoextend on maxsize unlimited
default temporary tablespace temp tempfile 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\temp01.dbf' size 10m autoextend on maxsize unlimited
character set US7ASCII
NATIONAL CHARACTER SET AL16UTF16
INIT.ORA FILE:-
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
# Archive
log_archive_format=ARC%S_%R.%T
# Cache and I/O
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
# Cursors and Library Cache
open_cursors=300
# Database Identification
db_domain=""
db_name=oracle5
# Diagnostics and Statistics
background_dump_dest=D:\oracle\product\10.1.0\admin\oracle5\bdump
core_dump_dest=D:\oracle\product\10.1.0\admin\oracle5\cdump
user_dump_dest=D:\oracle\product\10.1.0\admin\oracle5\udump
# File Configuration
#db_create_file_dest=D:\oracle\product\10.1.0\oradata
db_recovery_file_dest=D:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size=2147483648
# Job Queues
job_queue_processes=10
# Miscellaneous
compatible=10.1.0.2.0
# Pools
java_pool_size=50331648
large_pool_size=8388608
shared_pool_size=83886080
# Processes and Sessions
processes=150
# Security and Auditing
remote_login_passwordfile=EXCLUSIVE
# Shared Server
dispatchers="(PROTOCOL=TCP) (SERVICE=oracle5XDB)"
# Sort, Hash Joins, Bitmap Indexes
pga_aggregate_target=25165824
sort_area_size=65536
# System Managed Undo and Rollback Segments
undo_management=AUTO
undo_tablespace=UNDOTBS1
control_files=("D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORACLE5\CONTROLFILE\control01.CTL", "D:\ORACLE\PRODUCT\10.1.0\FLASH_RECOVERY_AREA\ORACLE5\CONTROLFILE\control02.CTL")Hi,
undo tablespace UNDOTBS1 datafile 'D:\oracle\product\10.1.0\oradata\ORACLE5 \datafile\undotbs1.dbf' size 10m autoextend on maxsize unlimited
After ORACLE5 there is a space character. Typo? Create proper directory or delete this character.
Bartek -
Help with ORA 14400 error while inserting data
Hi all,
i am facing an ora 14400 error in the following scenario , please help.
i have created a table using the syntax:
CREATE TABLE temp_table
GRPKEY NUMBER(20, 0) NOT NULL,
UKEY NUMBER(10, 0),
ANUM VARCHAR2(250 BYTE),
APC VARCHAR2(2 BYTE),
SID VARCHAR2(65 BYTE),
RDATETIME VARCHAR2(19 BYTE),
CKEY NUMBER(20, 0),
AVER VARCHAR2(25 BYTE),
CVER VARCHAR2(250 BYTE),
TNAME VARCHAR2(50 BYTE),
SCODE VARCHAR2(30 BYTE),
PTYPE VARCHAR2(50 BYTE),
FILENUMB NUMBER(10, 0),
LINENUMB NUMBER(10, 0),
ENTRY_CREATEDDATE DATE
, CONSTRAINT temp_table_PK PRIMARY KEY (GRPKEY))
PARTITION BY RANGE(ENTRY_CREATEDDATE)
(PARTITION P0 VALUES LESS THAN(TO_DATE(' 2009-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
when i try to insert data using :
insert into temp_table values
(1,null,null,null,null,null,null,null,null,null,null,null,null,null,'01-NOV-2010');
i get the following error output:
Error report:
SQL Error: ORA-14400: inserted partition key does not map to any partition
14400. 00000 - "inserted partition key does not map to any partition"
*Cause: An attempt was made to insert a record into, a Range or Composite
Range object, with a concatenated partition key that is beyond
the concatenated partition bound list of the last partition -OR-
An attempt was made to insert a record into a List object with
a partition key that did not match the literal values specified
for any of the partitions.
*Action: Do not insert the key. Or, add a partition capable of accepting
the key, Or add values matching the key to a partition specificationHi Chaitanya,
Change your table script to
CREATE TABLE temp_table
GRPKEY NUMBER(20, 0) NOT NULL,
UKEY NUMBER(10, 0),
ANUM VARCHAR2(250 BYTE),
APC VARCHAR2(2 BYTE),
SID VARCHAR2(65 BYTE),
RDATETIME VARCHAR2(19 BYTE),
CKEY NUMBER(20, 0),
AVER VARCHAR2(25 BYTE),
CVER VARCHAR2(250 BYTE),
TNAME VARCHAR2(50 BYTE),
SCODE VARCHAR2(30 BYTE),
PTYPE VARCHAR2(50 BYTE),
FILENUMB NUMBER(10, 0),
LINENUMB NUMBER(10, 0),
ENTRY_CREATEDDATE DATE
, CONSTRAINT temp_table_PK PRIMARY KEY (GRPKEY))
PARTITION BY RANGE(ENTRY_CREATEDDATE)
(PARTITION P0 VALUES LESS THAN(TO_DATE(' 2009-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')),
PARTITION P1 VALUES LESS THAN(MAXVALUE)
insert into temp_table values
(1,null,null,null,null,null,null,null,null,null,null,null,null,null,'01-NOV-2010');
1 row insertedor refer question regarding "Date Partitioning a table"
*009*
Edited by: 009 on Nov 3, 2010 11:29 PM -
Hello All,
Context:
We have a financial closing system working in the BW 3.5 and Oracle 9.2.0.7.0.
We are working with more than 100 millions records in 3 days.
In general, the system uses the standard data marts and BPS processes (copy, distribution, etc).
Error:
We had a lot of ORA-04031 errors for all execution (ABAP Programs, Data Loads, BPS Executions), it stopped the environment.
We did the "stop/start" the server to solved the problem.
The basis team increase the parameter "shared_pool_size" = 3000M - We saw the SAP Note (690241) and which is more than enough.
We have fear about it, we think it is posible to occurs again.
This is a big impact for the business.
Have you got this error in the past?
Could you please help us.
Thanks a lot.
Daniel Souza
SAP BW, SEM and Portal Consultant.
São Paulo - Brazil
+55 11 99092151Hi Chandran,
We saw this note.
The basis team have been changed the KGHDSIDXCOUNT parameter ( 4 to 1).
I am not founding more causes for this problem in the note.
Is it posible to have problems if the DB_CACHE_SIZE parameter is very large? example 18000M?
The basis team reduces the value for 1700M, in the last shutdown.
How can I flush the memory automatically?
The basis team reported this error for us. "It is not posible to flush the memory, it is necessary to shutdown the server".
Is it posible for the oracle 9i manage the memory area (shared pool) automatically? Is it recommended? Have you got this experience?
We have seen two notes about it:
997889 --> "Increase the memory SGA the ocurrence of error ORA-04031 but it does not prevent it."
617416 --> "The following areas of the SGA can be changed dynamically with Oracle 9.2 if the SGA is configured dynamically: Buffer Cache, Shared Pool, Large Pool."
Thanks a lot.
Best regards,
Daniel Souza
São Paulo - Brazil -
Hi all,
I got a problem with ORA-28000 in my form. In my app, it allows user to try maximum 3 time to logon, if the user fails, his/her user will be locked. The problem is, when Oracle locked that user, in on-error trigger I cannot catch that error and show the error message.
Anybody, please give me a hand.
Thank alotI put code (in the on-error trigger) here. please have look, thanks again.
IN_ERR_CODE NUMBER := ERROR_CODE;
BEGIN
IF(IN_ERR_CODE = 28001) THEN
ELSIF (IN_ERR_CODE = 28002) THEN
ELSIF (IN_ERR_CODE = 28011) THEN
ELSIF (IN_ERR_CODE = 28000) THEN
MESSAGE(ERROR_TEXT);
--LEAVE_FORM;
--clear_form(no_validate);
--RAISE FORM_TRIGGER_FAILURE;
--EXIT_FORM(NO_VALIDATE);
END IF;
END; -
Apply process is aborting with:ORA-12801: error signaled in parallel query
hi,
We created a queue of a specific type, capture and apply process on the queue. Then we started the queue capture and the apply process. The problem is that the apply process is getting enabled and with in moments going into aborted state. wea re getting the follwoing error:
ORA-12801: error signaled in parallel query server P000
ORA-00600: internal error code, arguments: [kwqiceval:anyconv], [], [], [], [], [], [], []
Any idea what could have gone wrong?
scripts:
exec dbms_aqadm.create_queue_table(queue_table=>'qt_anc',queue_payload_type=>'type_anc',multiple_consumers=> true, compatible => '9.0');
exec dbms_aqadm.create_queue (queue_name => 'q_anc',queue_table=>'qt_anc');
EXEC DBMS_AQADM.START_QUEUE (queue_name => 'q_anc');
DECLARE
emp_rule_name_dml VARCHAR2(300);
emp_rule_name_ddl VARCHAR2(300);
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'ops.t_anc',
streams_type => 'capture',
streams_name => 'capture_anc',
queue_name => 'strmadmin.q_anc',
include_dml => true,
include_ddl => false,
source_database => null,
dml_rule_name => emp_rule_name_dml,
ddl_rule_name => emp_rule_name_ddl);
DBMS_APPLY_ADM.SET_ENQUEUE_DESTINATION(
rule_name => emp_rule_name_dml,
destination_queue_name => 'strmadmin.q_anc');
END;
DECLARE
emp_rule_name_dml VARCHAR2(300);
emp_rule_name_ddl VARCHAR2(300);
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'ops.t_anc',
streams_type => 'apply',
streams_name => 'apply_anc',
queue_name => 'strmadmin.q_anc',
include_dml => true,
include_ddl => false,
source_database => null,
dml_rule_name => emp_rule_name_dml,
ddl_rule_name => emp_rule_name_ddl);
DBMS_APPLY_ADM.SET_ENQUEUE_DESTINATION(
rule_name => emp_rule_name_dml,
destination_queue_name => 'strmadmin.q_anc');
END;
BEGIN
DBMS_APPLY_ADM.START_APPLY(
apply_name => 'apply_anc');
END;
BEGIN
DBMS_CAPTURE_ADM.START_CAPTURE(
capture_name => 'capture_anc');
END;
/Hello
The above configuration is never supported. The implicit capture expects the queue payload to be SYS.ANYDATA and same with implicit apply also.
However you can use Streams Messaging capability to achieve this. You need to wrap the messages with SYS.ANYDATA for this to work. The implicit capture uses a persistent logminer session to generate LCRs and it then wraps it with SYS.ANYDATA and enqueues into the capture queue, it then propagated to apply queue. You can generate LCRs and wrap it with SYS.ANYDATA and then enqueue into the capture queue then apply can recognise the messages.
Here is an example on creating LCRs (tested in 10g):
CREATE TABLE lcr_test (col1 NUMBER);
DECLARE
l_lcr SYS.LCR$_ROW_RECORD;
BEGIN
l_lcr :=
SYS.LCR$_ROW_RECORD.CONSTRUCT
source_database_name=>SYS_CONTEXT('USERENV','DB_NAME'),
command_type=>'INSERT',
object_owner=>USER,
object_name=>'LCR_TEST'
l_lcr.ADD_COLUMN('new','col1',SYS.AnyData.ConvertNumber(99));
l_lcr.EXECUTE(TRUE);
COMMIT;
END;
SELECT * FROM lcr_test;
Converting to SYS.ANYDATA:
DECLARE
l_lcr SYS.LCR$_ROW_RECORD;
l_anydata SYS.ANYDATA;
BEGIN
l_lcr :=
SYS.LCR$_ROW_RECORD.CONSTRUCT
source_database_name=>SYS_CONTEXT('USERENV','DB_NAME'),
command_type=>'INSERT',
object_owner=>USER,
object_name=>'LCR_TEST'
l_lcr.ADD_COLUMN('new','col1',SYS.AnyData.ConvertNumber(99));
l_anydata:=SYS.ANYDATA.ConvertObject(l_lcr);
ENQ_PROC(l_anydata);
COMMIT;
END;
Thanks,
Rijesh -
Reg : Datapump export failing with ORA-31633 error
Hi,
I am trying to export one of the production databases (10.2.0.4.0) using datapump - backup is failing with the following error.
[UBASE2]:/backup/exports/scripts>more /backup/exports/cron/cron_UBASE_log
Export Start
Sat Oct 10 10:32:00 GMT 2009
Export: Release 10.2.0.4.0 - 64bit Production on Saturday, 10 October, 2009 10:32:00
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORA-31626: job does not exist
ORA-31633: unable to create master table "SYSTEM.FULL_UBASE"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 871
ORA-00955: name is already used by an existing object
Export End
Sat Oct 10 10:32:01 GMT 2009
I tried to attach to the existing job to kill that, but i am getting the below error -
[UBASE2]:/backup/exports/scripts>expdp attach=FULL_UBASE
Export: Release 10.2.0.4.0 - 64bit Production on Saturday, 10 October, 2009 14:31:46
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Username: / as sysdba
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
ORA-31626: job does not exist
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.KUPV$FT", line 438
ORA-31638: cannot attach to job FULL_UBASE for user SYS
ORA-31632: master table "SYS.FULL_UBASE" not found, invalid, or inaccessible
ORA-00942: table or view does not exist
As this is critical production database please help me how to resolve this.
Thanks in Advance.
Raju A
Oracle DBA.Hi,
Have you verified if your DBMS_AQ environment has been corrupted? If so, then you'll have to drop and recreate a number of queue related objects all over again. Furthermore, ORA-00942 appears to be the main problem as it is a case sensitivity error. You should change the table names to UPPERCASE and then try again.
Hope this helps.
Regards,
Naveed. -
Apply processes aborted with ORA-12805 error
After regular load on a replication system for a couple days, apply processes aborted with
ORA-12805: parallel query server died unexpectedly, and restarting of the apply processes
works but the error come back a couple days later.
I adjusted multiple apply parameters such as PARALLELISM, COMMIT_SERIALIZATION and DYNAMICSTMTS, but none of them can resolve the issue.
there are CLOB columns in replicated tables.Read the following thread.
ORA-12805: parallel query server died unexpectedly
kapil -
Creating physical standby using rman fails with ORA-19558: error de-allocat
Dear All,
We are creating physical stadnby database from 2 node RAC ( 2 node RAC to standalone physical standby).
While in the rman duplicate process we are getting below error, we were not able to sorted out..
No third party storage has been used ....
DB version : 11gR2 and the OS is RHEL5
Appreciate if any one hepl us to resolve this issue ...
Thanks in advance ...
RMAN-03009: failure of backup command on prmy1 channel at 10/05/2011 17:59:26
ORA-19558: error de-allocating device
ORA-19557: device error, device type: DISK, device name:
ORA-17627: ORA-01041: internal error. hostdef extension doesn't exist
ORA-17627: ORA-01041: internal error. hostdef extension doesn't exist
ORA-03113: end-of-file on communication channel
Edited by: 889828 on 2011/10/06 2:17 AMThe problem is well decribed in your alert log.....you are using Oracle Managed File names which means you will not be able to duplicate the database as RMAN won't be able to automatically generate new names for the files using the DB_FILE_NAME_CONVERT and LOG_FILE_NAME_CONVERT initialization parameters.
Youll have to use the SET NEWNAME command to specify the names of the database files. Done this a few times , and I don't recommend using OMF specifically beacuse of this hassle.
WARNING: OMF is enabled on this database. Creating a physical standby controlfile, when OMF is enabled on the primary database, requires manual RMAN intervention to resolve OMF
datafile pathnames.
NOTE: Please refer to the RMAN documentation for procedures describing how to manually resolve OMF datafile pathnames.
Problem handling is described in
Oracle® Database Backup and Recovery Reference
10g Release 2 (10.2)
Part Number B14194-03 -
Ora -07445 with ora-03135 error
Hi,
Sorry for asking questiob about this generic error, i shouldd contact oracle support for this. But for some tecnical reason metalink SR request page is offline. May be i get some help from you guys.
For last three days i have been getting ora-07445 error at same time, by going through the trace file it shows a sql statment fired from sql developer which caused the error.
detailed error as follows....
ORA-07445: exception encountered: core dump [kprball()+684] [SIGSEGV]
[Address not mapped to object] [0x000000238] [] []
ORA-03135: connection lost contact
Any help would be appreciated.
Thanks and Regards
JafarHi,
version - oracle 10g on solaria 9.
Metalink is working fine but for rasing TAR page is offline.
A similar issue in Oracle 10g Release 2 is seems to be fixed in 10.2.0.4 How this was fixed, by appying patch.
Thanks
Jafar -
Create a package with one function - Error Ora-00907
Hello,
I want to create a package which should store one function.
The code looks like this:
Package Header:
CREATE OR REPLACE
PACKAGE "PCK_REPORT" AS
TYPE t_varchar2 IS TABLE OF VARCHAR2(4000);
FUNCTION f_tabtostring(i_varchar2 IN t_varchar2) RETURN VARCHAR2;
END;Package Body:
CREATE OR REPLACE PACKAGE BODY "PCK_REPORT" AS
FUNCTION f_tabtostring (i_varchar2 IN t_varchar2) RETURN VARCHAR2 IS
o_string VARCHAR2(32767);
BEGIN
FOR i IN 1 .. i_varchar2.COUNT LOOP
IF i != i_varchar2.FIRST THEN
o_string := o_string || ', ';
END IF;
o_string := o_string || i_varchar2(i);
END LOOP;
RETURN o_string;
END f_tabtostring;
END;Comilation works fine, but when I try to use the function with the following example:
SELECT pck_report.f_tabtostring(CAST(COLLECT(mytable.col1) as t_varchar2)) as column1
FROM mytable;it only returns an error ORA-00902: Unknown datatype.
When I add the package name to the datatype at the cast in the sql statement, it returns an error ORA-00903.
What is my misstake?
Thanks,
Thomascreate a global type, and not in the package :
1* create or replace type t_varchar2 is table of varchar2(100)
SQL> /
Type created.
1 CREATE OR REPLACE PACKAGE "PCK_REPORT" AS
2 FUNCTION f_tabtostring(i_varchar2 IN t_varchar2) RETURN VARCHAR2;
3* END;
SQL> /
Package created.
1 CREATE OR REPLACE PACKAGE BODY "PCK_REPORT" AS
2 FUNCTION f_tabtostring (i_varchar2 IN t_varchar2) RETURN VARCHAR2 IS
3 o_string VARCHAR2(32767);
4 BEGIN
5 FOR i IN 1 .. i_varchar2.COUNT LOOP
6 IF i != i_varchar2.FIRST THEN
7 o_string := o_string || ', ';
8 END IF;
9 o_string := o_string || i_varchar2(i);
10 END LOOP;
11 RETURN o_string;
12 END f_tabtostring;
13* END;
SQL> /
Package body created.
SQL> select col1 from mytable;
COL1
test1
test2
test3
test4
test5
test6
test7
test8
test9
test10
10 rows selected.
SQL> select pck_report.f_tabtostring(cast(collect(mytable.col1) as t_varchar2)) as col1 from mytable
COL1
test1, test2, test3, test4, test5, test6, test7, test8, test9, test10 -
Expdp fail with ORA-39126 error
When i trying to export partition table it throws following error. I have tried it with newly created table also. but still it gets fail. My DB version is: 11.1.0.6.0 (RAC)
[oracle@db2 ORADATA8]$
[oracle@db2 ORADATA8]$
[oracle@db2 ORADATA8]$ ls -l
total 8
drwxr-xr-x 2 oracle oinstall 8192 Jul 1 11:16 CRESTELDATA
drwxr-xr-x 2 oracle oinstall 3896 Jul 3 11:21 DATAPUMP
drwxr-xr-x 2 oracle oinstall 3896 Feb 18 11:23 lost+found
[oracle@db2 ORADATA8]$
[oracle@db2 ORADATA8]$
[oracle@db2 ORADATA8]$ expdp CRESTELMEDIATIONPRD501/CRESTELMEDIATIONPRD501 tables=TBLINVALIDCDR:PSINVALIDCDR18APR2010 DIRECTORY=ORADATA8 PARALLEL=5 COMPRESSION=ALL DUMPFILE=INVALIDCDR_%U.dmp LOGFILE=expdpINVALIDCDR.log
Export: Release 11.1.0.6.0 - 64bit Production on Saturday, 03 July, 2010 11:24:34
Copyright (c) 2003, 2007, Oracle. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
Starting "CRESTELMEDIATIONPRD501"."SYS_EXPORT_TABLE_03": CRESTELMEDIATIONPRD501/******** tables=TBLINVALIDCDR:PSINVALIDCDR18APR2010 DIRECTORY=ORADATA8 PARALLEL=5 COMPRESSION=ALL DUMPFILE=INVALIDCDR_%U.dmp LOGFILE=expdpINVALIDCDR.log
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 3.917 GB
Processing object type TABLE_EXPORT/TABLE/TABLE
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.CREATE_OBJECT_ROWS [TABLE:"CRESTELMEDIATIONPRD501"."TBLINVALIDCDR"]
ORA-01114: IO error writing block to file 6 (block # 79240)
ORA-29701: unable to connect to Cluster Manager
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 7709
----- PL/SQL Call Stack -----
object line object
handle number name
0x21ac5fc60 18051 package body SYS.KUPW$WORKER
0x21ac5fc60 7736 package body SYS.KUPW$WORKER
0x21ac5fc60 6945 package body SYS.KUPW$WORKER
0x21ac5fc60 2519 package body SYS.KUPW$WORKER
0x21ac5fc60 8342 package body SYS.KUPW$WORKER
0x217190f58 1 anonymous block
0x217687e98 1501 package body SYS.DBMS_SQL
0x21ac5fc60 8201 package body SYS.KUPW$WORKER
0x21ac5fc60 1477 package body SYS.KUPW$WORKER
0x21ac60350 2 anonymous block
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX
Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "CRESTELMEDIATIONPRD501"."TBLINVALIDCDR":"PSINVALIDCDR18APR2010"."TER418APR2010" 36.27 MB 723142 rows
. . exported "CRESTELMEDIATIONPRD501"."TBLINVALIDCDR":"PSINVALIDCDR18APR2010"."TER218APR2010" 16.13 MB 325123 rows
. . exported "CRESTELMEDIATIONPRD501"."TBLINVALIDCDR":"PSINVALIDCDR18APR2010"."TER318APR2010" 512.3 KB 10467 rows
. . exported "CRESTELMEDIATIONPRD501"."TBLINVALIDCDR":"PSINVALIDCDR18APR2010"."TER118APR2010" 556.2 MB 12261974 rows
Master table "CRESTELMEDIATIONPRD501"."SYS_EXPORT_TABLE_03" successfully loaded/unloaded
Dump file set for CRESTELMEDIATIONPRD501.SYS_EXPORT_TABLE_03 is:
/ORADATA8/DATAPUMP/INVALIDCDR_01.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_02.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_03.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_04.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_05.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_06.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_07.dmp
/ORADATA8/DATAPUMP/INVALIDCDR_08.dmp
Job "CRESTELMEDIATIONPRD501"."SYS_EXPORT_TABLE_03" completed with 3 error(s) at 11:26:36
Please - reply
Edited by: Yuvraj on Jul 3, 2010 1:13 PMHi,
It seems that you have got a problematic disk there. There might be a problem with the disk that the datafile resides on since you are receiving I/O errors. Moreoever, there might be a problem with the CSS. check that all the process of cluster are running.
regards -
Create materialized view with ora-12054 error
Oracle 10g R2 on AIX 5.3L
I create a script (with help of EM) for a materilaized view
CREATE MATERIALIZED VIEW "BAANDB"."R2_MV"
TABLESPACE "USERS" NOLOGGING STORAGE ( INITIAL 128K) USING INDEX TABLESPACE "BAANIDX" STORAGE ( INITIAL 256K)
REFRESH FORCE ON COMMIT
ENABLE QUERY REWRITE AS
SELECT CM.ROWID c_rid, PC.ROWID p_rid, CM."T$CWOC", "T$EMNO", CM."T$NAMA", CM."T$EDTE", PC."T$PERI", PC."T$QUAN", PC."T$YEAR", PC."T$RGDT" From BAANDB.TTPPPC235201 PC RIGHT OUTER JOIN BAANDB.TTCCOM001201 CM Using (T$EMNO)
but I got error
ORA-12054: cannot set the ON COMMIT refresh attribute for the materialized view
acooding to the oerr
// *Cause: The materialized view did not satisfy conditions for refresh at
// commit time.
// *Action: Specify only valid options.
what dose it mean? both my master tables are not IOT and are locale ones. It seems that only changing to ON DEMAND works. If I use the "REFRESH FORCE START ..NEXT", it also failed.
I have created the materalized view logs with rowid on each master table. I think my script met every prequirement of ON COMMIT.
table owner has "on commit refresh" privilegeAfter googling on line, someone mentioned that for "ON COMMIT" on join tables, we have to use th old OUTER JOINT syntax (+) on WHERE. The new "outer joint" in FROM clause won't work.
I tested it, it seemed to be true.
Maybe you are looking for
-
How do I clear history/cache from safari.
I've gone to safari settings and cleared cache/history/cookies but previous pages still show up if I go back using the browser arrow., How do I clear previously viewed web pages
-
FlashBuilder: Android/Flex Components+Full Screen Graphic possible?
I'm new to flash and interested in multi-platform graphical game development. I've installed the Flash Builder Burrito test version and want to develop a full screen Android graphical game with Android-Flex components (like buttons etc.). a) Is it po
-
To stop automatic generation of excise invoice for
Dear Experts, I am creating Profroma Invoice just after Sales Order in export cycle. While saving the proforma invoice, system automatically generates excise invoice. Will you please guide me how to stop the Proforma Invoice from automatic generation
-
VC table use, best practices?
Hi, I'm updating a table in the back end with an RFC. I would like to send only the rows I've modified or added on the VC client to the RFC and not the whole table. Is this possible?
-
Depot sales and manufacturing sales
Can we do depot sales and manufacturing sales from same plant in SAP.. please help me in this.. as we are starting trading of goods from same plant where we are manufacturing goods.. can we do the setting in SAP for same plant or we need to create di