Expoting/Importing Oracle BLOB, CLOB, Nested Tables datatypes
I am trying to export the database containing BLOB, Nested Tables etc. and wants to import the same. But i am getting an error. Pleease help as to how i will proceed with it. This is something very urgent. please reply . i will be very thankful to you
I believe this error is only associated with LONG data type. I have been using data pump to export/import table with LOB type without any problem.
Data pump been having issue with LONG type check this bug
Bug 5598333 - EXPDP/IMPDP corrupts the data for a LONG column
Doc ID: Note:5598333.8
It's fixed in 11.1.0.6
Similar Messages
-
How to Export/Import Composite Objects(CLOB,Nested Table)
I am trying to export the database containing BLOB, Nested Tables etc. and wants to import the same. But i am getting an error. Pleease help as to how i will proceed with it. This is something very urgent. please reply . i will be very thankful to you
The only solution I've found so far as a workaround is rather convoluted.
1. I took an export using datapump's expdp of SCHEMA1 (in 10g it will skip the table with the xmltype).
2. I imported the data to my empty schema (SCHEMA2) using impdp. To avoid the error that the type already exists with another OID, I used the TRANSFORM=oid:n parameter e.g.
impdp user/pwd dumpfile=noxmltable.dmp logfile=importallbutxmltable.log remap_schema=SCHEMA1:SCHEMA2 TRANSFORM=oid:n directory=MYDUMPDIR
3. I then manually created my xmltype table in the SCHEMA2 and did a select into to load it (make sure you have the select privileges to do so):
INSERT INTO SCHEMA2.XMLTABLE2 SELECT * FROM SCHEMA1.XMLTABLE1;
4. I am still taking an export with exp of the xmltable as well even though I'm not sure I can do anything with it.
Thanks!
Edited by: stacyz on Jul 28, 2009 9:49 AM -
Persisting Oracle BLOBs & CLOBs from a CMP Bean
Can someone tell me how to persist Oracle BLOBs and CLOBs from a CMP Bean?
Thanks,
AbelA link to the answer might be helpful.
Dave
"Abel Rosnovski" <[email protected]> wrote in message
news:[email protected]..
>
> -
Multi-level nested tables for repeatable XML Elements
Hi there,
Suppose we have a XML Schema „ASchema“ like this (XMLDB schema annotations are left out for simplicity):
<xs:schema xmlns:xs=" .... " />
<xs:element name=“A“>
<xs:complexType>
<xs:sequence>
<xs:element name=“B“ maxOccurs=“unbounded“/>
<xs:complexType>
<xs:sequence>
<xs:element name = “C“ maxOccurs=“unbounded“/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
After registering this schema in Oracle, I can define a table like this:
CREATE TABLE ATable
id NUMBER,
doc XMLTYPE
XMLTYPE COLUMN doc
XMLSCHEMA “ASchema“ ELEMENT “A“
VARARRAY doc.“XMLDATA“.“B“ STORE AS TABLE “BTable“
((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX)
This creates a nested table "BTable" within the table "ATable". So far so good, I can use this nested table to gain faster access on every possible subelement of Element B when I set an appropriate index.
I now want to create another nested table for element “C“ like this:
DROP TABLE ATable;
CREATE TABLE ATable
id NUMBER,
doc XMLTYPE
XMLTYPE COLUMN doc
XMLSCHEMA “ASchema“ ELEMENT “A“
VARARRAY doc.“XMLDATA“.“B“ STORE AS TABLE “BTable“
((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX)
VARARRAY doc.“XMLDATA“.“B“.“C“ STORE AS TABLE “CTable“
((PRIMARY KEY (NESTED_TABLE_ID, SYS_NC_ARRAY_INDEX$)) ORGANIZATION INDEX)
But this statement fails with the error message something like „ ... no such attribute ... „
And here's my question: is it possible to create nested tables for repeatable XML Elements that are subelements of other repeatable XML Elements ? And if so, how can I do it ?
Thank you very much in advance
JanFound a (partial) solution myself:
If you add the attribute xdb:storeVarrayAsTable="true" to the root element of the XML schema, Oracle XMLDB generates nested tables for all repeatable XML Elements while registering the XML schema.
Unfortunately, the names of these nested tables are system-generated, hence it's a bit uncomfortable to set indices on them. You can find out the names of these nested tables as follows:
select table_name, parent_table_name, parent_table_column from user_nested_tables;
Further information on that subject is supplied in the following thread:
Re: default tables for elements with maxoccurs > 1
It would be nice if there was a way to name the generated nested tables via appropriate XMLDB schema annotations.
regards
Jan -
Nested Table Partitioning in 11gR2
[ Partitioning Concepts for 11gR2|http://download.oracle.com/docs/cd/E11882_01/server.112/e10837/partition.htm] says that Oracle will partition the nested table of a partitioned parent table, automatically:
"If you partition a table that has a nested table, Oracle Database uses the partitioning scheme of
the original base table as the basis for how the nested table is partitioned. This partitioning of
one base table partition for each nested table partition is called equipartitioning. By default,
nested tables are automatically partitioned when the base table is partitioned."
Here is some DDL to create a partitioned table with a nested table column:
CREATE OR REPLACE TYPE ExampElement AS OBJECT (name VARCHAR2(32), val VARCHAR2(4000))
sho err;
CREATE OR REPLACE TYPE ExampTableType AS TABLE OF ExampElement
sho err;
CREATE TABLE examp (
uida VARCHAR2(64) NOT NULL,
idx NUMBER NOT NULL,
offset SMALLINT DEFAULT -1 NOT NULL ,
elements ExampTableType,
CONSTRAINT pk_examp PRIMARY KEY (uida, idx) )
ORGANIZATION INDEX COMPRESS
PARTITION BY LIST(uida) (PARTITION IDA_0 values ('xxxxxxxxxxxxxxx') )
NESTED TABLE elements
STORE AS elements_tab((constraint pk_elts PRIMARY KEY (nested_table_id, name))
ORGANIZATION INDEX
RETURN AS LOCATOR
sho err;
I can't find any evidence that Oracle partitioned my nested table. The following do not show any entries corresponding to elements_tab or pk_elts:
SELECT table_name FROM user_part_tables ;
SELECT table_name FROM user_part_indexes ;
My question is, how can I prove to myself that the nested table has been partitioned?
Thanks,
HughThe only data dictionary entry that I can find for the elements_tab is in user_nested_tables, but it does not appear that the partitioning is visible to us.
SCOTT@orcl_11gR2> CREATE OR REPLACE TYPE ExampElement AS OBJECT (name VARCHAR2(32), val VARCHAR2(4000));
2 /
Type created.
SCOTT@orcl_11gR2> CREATE OR REPLACE TYPE ExampTableType AS TABLE OF ExampElement;
2 /
Type created.
SCOTT@orcl_11gR2> CREATE TABLE examp (
2 uida VARCHAR2(64) NOT NULL,
3 idx NUMBER NOT NULL,
4 offset SMALLINT DEFAULT -1 NOT NULL ,
5 elements ExampTableType,
6 CONSTRAINT pk_examp PRIMARY KEY (uida, idx) )
7 ORGANIZATION INDEX COMPRESS
8 PARTITION BY LIST(uida) (PARTITION IDA_0 values ('xxxxxxxxxxxxxxx') )
9 NESTED TABLE elements
10 STORE AS elements_tab((constraint pk_elts PRIMARY KEY (nested_table_id, name))
11 ORGANIZATION INDEX
12 )
13 RETURN AS LOCATOR
14 /
Table created.
SCOTT@orcl_11gR2> SELECT table_name FROM user_part_tables
2 /
TABLE_NAME
EXAMP
1 row selected.
SCOTT@orcl_11gR2> SELECT table_name FROM user_part_indexes
2 /
TABLE_NAME
EXAMP
1 row selected.
SCOTT@orcl_11gR2> SELECT table_name FROM user_tab_partitions
2 /
TABLE_NAME
EXAMP
1 row selected.
SCOTT@orcl_11gR2> SELECT table_name FROM user_nested_tables
2 /
TABLE_NAME
ELEMENTS_TAB
1 row selected.
SCOTT@orcl_11gR2> -
***Unable to import table which consists of nested tables
Dear all;
I have a problem on migrating my Oracle 8.1.7 database from windows nt environment into the ibm aix 4.3.3 environment. I have been using the import export utility. Exporting the data from the database does not produce any error but importing the export file produces the error as below;
Connected to: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
Export file created by EXPORT:V08.01.07 via conventional path
import done in WE8ISO8859P1 character set and WE8ISO8859P1 NCHAR character set
. importing IIMS's objects into IIMS
IMP-00017: following statement failed with ORACLE error 2331:
"CREATE TABLE "CMGC_CURRENCY" ("CODE" VARCHAR2(10) NOT NULL ENABLE, "DESCP" "
"VARCHAR2(60) NOT NULL ENABLE, "X_RATE" NUMBER(10, 6) NOT NULL ENABLE, "X_DA"
"TE" VARCHAR2(10), "REMARK" VARCHAR2(255), "YEAR" NUMBER(4, 0) NOT NULL ENAB"
"LE, "BANK_AC" VARCHAR2(20) NOT NULL ENABLE, "NSTBL_LEDG" "NSTBL_LEDGLIST" N"
"OT NULL ENABLE, "NSTBL_XRATE" "NSTBL_XRATELIST" NOT NULL ENABLE) PCTFREE 1"
"0 PCTUSED 40 INITRANS 1 MAXTRANS 255 LOGGING STORAGE(INITIAL 65536) TABLESP"
"ACE "IIMS" NESTED TABLE "NSTBL_LEDG" STORE AS "NSTBL_LEDGLIST_LIST" RETURN "
"AS VALUE NESTED TABLE "NSTBL_XRATE" STORE AS "NSTBL_XRATELIST_LIST" RETURN"
" AS VALUE "
IMP-00003: ORACLE error 2331 encountered
ORA-02331: cannot create constraint on column of datatype Named Table Type
Import terminated successfully with warnings.
It seems that the error only occur when importing tables which consists on nested tables. I have done exporting and importing from windows NT into windows NT and from windows NT into AIX but the problem still arises. Please help.
NSTBL_LEDG and NSTBL_XRATE are the nested tables with NSTBL_LEDGLIST and NSTBL_XRATELIST as the datatype accordingly.
Thanks in advance;
andrewHi Sayak,
This means we need to installed Oracle client to resolve this problem. Can you please share if you have some knowledge regarding the same.
Thanks,
Mohit -
Import a blob from Olite to Oracle
Hi,
I'm trying to make a java program who will import an Olite database to our Oracle Server. Everything works except for BLOB datatype.
I'm not able to get the blob columns from olite and then insert it into Oracle server.
I have examples where we insert a blob in the database from a File but I'm not able to get it work when the source is Olite and the destination is oracle.
Is anyone can give me an example.
Thank you.Importing BLOB objects into the main oracle database is a bit odd as you cannot do a direct insert, you need to load it using an update statement.
The below is the import procedure we use to load a blob column from a server file. There is some extraneous bits in there, but basically and insert with an EMPTY_BLOB, and then an update statement to load from the read in file. If the data record is already there, you can skip the insert statement, but just do the update
PROCEDURE pr_load_file
System : FUSION
Module Name : pr_load_file
Description : Main call. Create a new pda_applications record, and impost the specified fiel into it
Copyright(c) : NHBC 2004
Version History:
Vers. Author Date Reason
1.0 G Wilkinson 03/02/2006 Initial Version.
(PA_VERSION IN NUMBER
,PA_FILENAME IN VARCHAR2
,PA_PDAAT_CODE IN VARCHAR2
,PA_PART_NO IN NUMBER DEFAULT 1
,PA_DEPLOY IN VARCHAR2 DEFAULT 'Y')
IS
l_FileLocator BFILE;
l_blobLocator BLOB;
l_seq NUMBER;
l_location VARCHAR2(20);
no_params EXCEPTION;
call_fail EXCEPTION;
BEGIN
-- Throw error if required details not present
IF pa_version IS NULL
OR pa_filename IS NULL
OR pa_pdaat_code IS NULL THEN
RAISE no_params;
END IF;
-- Initialize the character locator for writing. Note that we have
-- to select a blob from a table FOR UPDATE. This locks the row,
-- and is a requirement for LOADFROMFILE.
SELECT pdaa_id_seq.nextval
INTO l_seq
FROM dual;
-- First create the application record (file is imported by update, not insert
INSERT INTO pda_applications
(ID,PDAAT_CODE,VERSION,PART_NO,FILE_OBJECT,DEPLOY_APPLICATION_YN)
VALUES (l_seq,pa_pdaat_code,pa_version,pa_part_no,EMPTY_BLOB(),pa_deploy);
-- Lock record for update to import the file
SELECT file_object INTO l_blobLocator
FROM pda_applications
WHERE id=l_seq
FOR UPDATE;
-- Initialize the BFILE locator for reading.
l_FileLocator := BFILENAME('CDP_FILE_UPLOAD', pa_filename);
DBMS_LOB.FILEOPEN(l_FileLocator, DBMS_LOB.FILE_READONLY);
-- Load the entire file into the character LOB.
-- This is necessary so that we have the data in
-- character rather than RAW variables.
DBMS_LOB.LOADFROMFILE(l_blobLocator, l_FileLocator
,DBMS_LOB.GETLENGTH(l_FileLocator)
,src_offset => 1);
-- Clean up.
DBMS_LOB.FILECLOSE(l_FileLocator);
-- Create download records for each user associated with the application for sending to the PDA's
-- to install the software
IF pa_deploy = 'Y' then
IF fn_deploy (pa_pdaa_id => l_seq
,pa_pdaat_code => pa_pdaat_code) != 'SUCCESS' THEN
RAISE call_fail;
END IF;
END IF;
EXCEPTION
WHEN no_params THEN
pkg_appm.pr_log_message( pa_mdl_name => g_module_name
, pa_mdl_version => fn_get_body_version
, pa_error_code => SQLCODE
, pa_location => l_location
, pa_text => 'Missing parameters'
, pa_severity => 'E'
WHEN OTHERS THEN
DBMS_LOB.FILECLOSE(l_FileLocator);
pkg_appm.pr_log_message( pa_mdl_name => g_module_name
, pa_mdl_version => fn_get_body_version
, pa_error_code => SQLCODE
, pa_location => l_location
, pa_text => SQLERRM
, pa_severity => 'E'
END pr_load_file;
-- -
Nested tables and multiset operators in Oracle 10g
Consider the following scenario:
We have two identical relations R and S defined as:
CREATE TABLE R(
a INTEGER,
b table_type)
NESTED TABLE b STORE as b_1;
CREATE TABLE S(
a INTEGER,
b table_type)
NESTED TABLE b STORE as b_2;
where table_typ is defined as
CREATE TYPE table_typ AS TABLE OF VARCHAR2(8);
Suppose we have two instances of R and S, each having one tuple as follows: R(1,table_typ('a','b')) and S(1,table_typ('b','c')).
I would like to "merge" these two simple instances (e.g., achieve the effect of a simple SELECT * FROM R UNION SELECT * FROM S query) and obtain the following resulting instance: Result(1,table_typ('a','b','c')).
Would this be possible in Oracle 10g? A simple UNION does not work (I got a "inconsistent datatypes: expected - got SCOTT.TABLE_TYP" error). I also took a look at the MULTISET UNION operator over nested tables available in Oracle 10g, but it doesn't seem to get me anywhere. Any help on this would be greatly appreciated.
Thank you,
LauraOracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> CREATE OR REPLACE TYPE table_type AS TABLE OF VARCHAR2 (8);
2 /
Type created.
SQL> CREATE TABLE r(
2 a INTEGER,
3 b table_type)
4 NESTED TABLE b STORE as b_1;
Table created.
SQL> CREATE TABLE s(
2 a INTEGER,
3 b table_type)
4 NESTED TABLE b STORE as b_2;
Table created.
SQL> INSERT INTO r VALUES (1, table_type ('a', 'b'));
1 row created.
SQL> INSERT INTO s VALUES (1, table_type ('b', 'c'));
1 row created.
SQL> COLUMN c FORMAT A10;
SQL> SELECT r.a, r.b MULTISET UNION DISTINCT s.b c
2 FROM r, s
3 WHERE r.a = s.a;
A C
1 TABLE_TYPE('a', 'b', 'c')
SQL> -
Why can't I import a nested table?
My Operation system is Win NT 4.0 (Package 6)
data base is oracle 8.1.6
now, I craete a table TAB01 nested table TAB02NT.
All operation such as delete ,insertion goes no well.
I have export the table TAB01 without any warings and errors
But a error occured when I import the exported table TAB01
the error below :
IMP-00017
IMP-00003
ORA-02304
IMP-00063
why ?Yanxiang,
If you have a customer ID, you can go to
http://metalink.oracle.com to file an iTAR with test case to
reproduce your error.
Regards,
Geoff
My Operation system is Win NT 4.0 (Package 6)
data base is oracle 8.1.6
now, I craete a table TAB01 nested table TAB02NT.
All operation such as delete ,insertion goes no well.
I have export the table TAB01 without any warings and errors
But a error occured when I import the exported table TAB01
the error below :
IMP-00017
IMP-00003
ORA-02304
IMP-00063
why ? -
Import tables with nested table : ORA-00600
In Oracle 9.2
Create object, type as table, and table with nested table (store as syms_ntab) are successfully.
Also its export.
In process of import on another server (also 9.2, 'fromuser=one touser=two') shows errors:
. . importing table "SYMS_NTAB"
IMP-00058: ORACLE error 600 encountered
ORA-00600: internal error code, arguments: [kokeeafi1], [2], [2], [], [], [], [], []
IMP-00075: Warning: The nested table may contain partial rows or duplicate rows
But for all that table is created and error occur on phase inserting strings.
What is this?
In Oracle 8.0.5 i perform similar operation without error.From Oracle error messages and codes manual:
ORA-00600 internal error code, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
Cause: This is the generic internal error number for Oracle program exceptions. It indicates that a process has encountered a low-level, unexpected condition. Causes of this message include:
* timeouts
* file corruption
* failed data checks in memory
* hardware, memory, or I/O errors
* incorrectly restored files
The first argument is the internal message number. Other arguments are various numbers, names, and character strings. The numbers may change meanings between different versions of Oracle.
Action: Report this error to Oracle Support Services after gathering the following information:
* events that led up to the error
* the operations that were attempted that led to the error
* the conditions of the operating system and databases at the time of the error
* any unusual circumstances that occurred before receiving the ORA-00600 message
* contents of any trace files generated by the error
* the relevant portions of the Alter files
Note: The cause of this message may manifest itself as different errors at different times. Be aware of the history of errors that occurred before this internal error. -
Data pump import error with nested tables
So the problem is somewhat long :)
Actually the problems are two - why and how oracle are treating OO concept and why data pump doesn't work?
So scenario for the 1st one:
1) there is object type h1 and table of h1
2) there is unrelated object type row_text and table of row_text
3) there is object type h2 under h1 with attribute as table of row_text
4) there is table tab1 with column b with data type as table of h1. Of course column b is stored as nested table.
So how do you think - how many nested tables Oracle will create? The correct answer is 2. One explicitly defined and one hidden with system
generated name for the type h2 which is under type h1. So the question is WHY? Why if I create an instance of supertype Oracle tries to adapt
it for the subtype as well? Even more if I create another subtype h3 under h1 another hidden nested table appears.
This was the first part.
The second part is - if I do schema export and try to import it in another schema I got error saying that oracle failed to create storage table for
nested table column b. So the second question is - if Oracle has created such a mess with hidden nested tables how to import/export to another
schema?
Ok and here is test case to demonstrate problems above:
-- creating type h1 and table of it
SQL> create or replace type h1 as object (a number)
2 not final;
3 /
Type created.
SQL> create or replace type tbl_h1 as table of h1;
2 /
Type created.
-- creating type row_text and table of it
SQL> create or replace type row_text as object (
2 txt varchar2(100))
3 not final;
4 /
Type created.
SQL> create or replace type tbl_row_text as table of row_text;
2 /
Type created.
-- creating type h2 as subtype of h1
SQL> create or replace type h2 under h1 (some_texts tbl_row_text);
2 /
Type created.
SQL> create table tab1 (a number, b tbl_h1)
2 nested table b
3 store as tab1_nested;
Table created.
-- so we have 2 nested tables now
SQL> select table_name, parent_table_name, parent_table_column
2 from user_nested_tables;
TABLE_NAME PARENT_TABLE_NAME
PARENT_TABLE_COLUMN
SYSNTfsl/+pzu3+jgQAB/AQB27g== TAB1_NESTED
TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H2")."SOME_TEXTS"
TAB1_NESTED TAB1
B
-- another subtype of t1
SQL> create or replace type h3 under h1 (some_texts tbl_row_text);
2 /
Type created.
-- plus another nested table
SQL> select table_name, parent_table_name, parent_table_column
2 from user_nested_tables;
TABLE_NAME PARENT_TABLE_NAME
PARENT_TABLE_COLUMN
SYSNTfsl/+pzu3+jgQAB/AQB27g== TAB1_NESTED
TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H2")."SOME_TEXTS"
SYSNTfsl/+pz03+jgQAB/AQB27g== TAB1_NESTED
TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H3")."SOME_TEXTS"
TAB1_NESTED TAB1
B
SQL> desc "SYSNTfsl/+pzu3+jgQAB/AQB27g=="
Name Null? Type
TXT VARCHAR2(100)OK let it be and now I'm trying to export and import in another schema:
[oracle@xxx]$ expdp gints/xxx@xxx directory=xxx dumpfile=gints.dmp logfile=gints.log
Export: Release 11.2.0.1.0 - Production on Thu Feb 4 22:32:48 2010
<irrelevant rows skipped>
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "GINTS"."TAB1" 0 KB 0 rows
. . exported "GINTS"."SYSNTfsl/+pz03+jgQAB/AQB27g==" 0 KB 0 rows
. . exported "GINTS"."TAB1_NESTED" 0 KB 0 rows
. . exported "GINTS"."SYSNTfsl/+pzu3+jgQAB/AQB27g==" 0 KB 0 rows
Master table "GINTS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************And now import. In order to create types transformation of OIDs is applied and also remap_schema
Although it fails to create the table.
[oracle@xxx]$ impdp gints1/xxx@xxx directory=xxx dumpfile=gints.dmp logfile=gints_imp.log remap_schema=gints:gints1 transform=OID:n
Import: Release 11.2.0.1.0 - Production on Thu Feb 4 22:41:48 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Release 11.2.0.1.0 - Production
Master table "GINTS1"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "GINTS1"."SYS_IMPORT_FULL_01": gints1/********@xxx directory=xxx dumpfile=gints.dmp logfile=gints_imp.log remap_schema=gints:gints1 transform=OID:n
Processing object type SCHEMA_EXPORT/USER
ORA-31684: Object type USER:"GINTS1" already exists
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39083: Object type TABLE:"GINTS1"."TAB1" failed to create with error:
ORA-02320: failure in creating storage table for nested table column B
ORA-00904: : invalid identifier
Failing sql is:
CREATE TABLE "GINTS1"."TAB1" ("A" NUMBER, "B" "GINTS1"."TBL_H1" ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ORA-39083: Object type INDEX_STATISTICS failed to create with error:
ORA-01403: no data found
ORA-01403: no data found
Failing sql is:
DECLARE I_N VARCHAR2(60); I_O VARCHAR2(60); c DBMS_METADATA.T_VAR_COLL; df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; BEGIN DELETE FROM "SYS"."IMPDP_STATS"; c(1) := DBMS_METADATA.GET_STAT_COLNAME('GINTS1','TAB1_NESTED',NULL,'TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H2")."SOME_TEXTS"',1); DBMS_METADATA.GET_STAT_INDNAME('GINTS1','TAB1_NESTED',c,1,i_o,i_n); INSERT INTO "
ORA-39083: Object type INDEX_STATISTICS failed to create with error:
ORA-01403: no data found
ORA-01403: no data found
Failing sql is:
DECLARE I_N VARCHAR2(60); I_O VARCHAR2(60); c DBMS_METADATA.T_VAR_COLL; df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; BEGIN DELETE FROM "SYS"."IMPDP_STATS"; c(1) := DBMS_METADATA.GET_STAT_COLNAME('GINTS1','TAB1_NESTED',NULL,'TREAT(SYS_NC_ROWINFO$ AS "GINTS"."H3")."SOME_TEXTS"',1); DBMS_METADATA.GET_STAT_INDNAME('GINTS1','TAB1_NESTED',c,1,i_o,i_n); INSERT INTO "
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "GINTS1"."SYS_IMPORT_FULL_01" completed with 4 error(s) at 22:41:52So any idea how to make export/import of such tables?
TIA
GintsTom Kyte has said it repeatedly ... I will repeat it here for you.
The fact that Oracle allows you to build object tables is not an indication that you should.
Store your data relationally and build object_views on top of them.
http://www.morganslibrary.org/reference/object_views.html
If you model properly, and store properly, you don' have any issues. -
Problems with Whitespace using nested tables from eclipse dtp oracle plugin
Hi,
sending from eclipse to oracle xe fails if whitespace is used:
Example1: Nested table in nested table
adress_table_typ has another nested table in it
that works
CREATE TABLE x (
i INTEGER PRIMARY KEY,
adressen adress_table_typ
) NESTED TABLE adressen STORE AS adressen_nt (NESTED TABLE tels STORE AS tels_nt);
inserting a newline fails
CREATE TABLE x (
i INTEGER PRIMARY KEY,
adressen adress_table_typ
) NESTED TABLE adressen STORE AS adressen_nt
(NESTED TABLE tels STORE AS tels_nt);
Example2:
Two nested tables
CREATE TABLE x (
i INT PRIMARY KEY,
l_table_typ,
m_table_typ
) NESTED TABLE laptops STORE AS laptop_nt NESTED TABLE interessen STORE AS interessen_nt;
and then an insert
INSERT INTO x VALUES (123456,
l_typ(laptop_typ('123', 'netop'),
laptop_typ('234', 'thinkpad'),
laptop_typ('345', 'iBook')),
m_typ('a', 'b', 'c')
which fails. Note that the INSERT works when copy&pasted to sqlplus. It also works if there is
just one nested table.
Am I doing somethig wrong or is this a bug in the eclipse data tools plugin?
Regards
- Peter
PS; It is rather difficult to insert whitespace in that forum editor. Any possibility to have ascii?
For a "whitespace" question rather important...A bit of an update on the original post. I was playing around with the plug-in xml file (e.g. eclipse\plugins\org.eclipse.jst.server.generic.oc4j_1.5.100.v20070608\buildfiles\oracle.10.1.3.xml). I changed the following from "deploy" to "redeploy" and it seems to be working once the applicatoin is initial deployed. Of course, I have to change it back to "deploy" if it is the first time the application is being deployed. However; I would still would like to resolve this if there is something out there that fixes this problem. Or if everything points to an enviornment problem, I can continue to play with it.
<target name="deploy.j2ee.ear" depends="check.skip.ear.deploy" unless="skip.deploy">
<antcall target="package.module.ear"/>
<oracle:redeploy
deployerUri="${deployer.uri}"
userId="${oc4j.admin.user}"
password="${oc4j.admin.password}"
file="${server.publish.dir}/${module.name}.ear"
deploymentName="${module.name}"
bindAllWebApps="${oc4j.bind.website}"/>
</target> -
Unable to retrieve data from a nested table in Oracle 8i from JSP
How do i retrieve data from a nested table in Oracle 8i from my JSP code?
When i try to execute the query , a general error is thrown.
Kindly advice as soon as possible.How do i retrieve data from a nested table in Oracle 8i from my JSP code?
When i try to execute the query , a general error is thrown.
Kindly advice as soon as possible. -
MERGE using nested table doesn't work on Oracle 9i
Hi,
Oracle 9i Enterprise Edition Release 9.2.0.4.0 on Red hat Linux
SQL> create table PERSONS (
2 ID number(9)
3 ,SURNAME varchar2(50)
4 ,constraint PERSONS_PK primary key (ID)
5 );
Table created.
SQL> create or replace type T_NUMBER_ARRAY as table of number;
2 /
Type created.
SQL> create or replace procedure P_MRGTS2 (P_ID PERSONS.ID%type)
2 is
3 L_IDS T_NUMBER_ARRAY;
4 begin
5 L_IDS := T_NUMBER_ARRAY(P_ID);
6 merge into PERSONS P using (select * from table(L_IDS)) D on (
7 P.ID = D.COLUMN_VALUE
8 )
9 when matched then update
10 set SURNAME = 'Updated'
11 when not matched then
12 insert (
13 ID
14 ,SURNAME
15 )
16 values (
17 D.COLUMN_VALUE
18 ,'Inserted'
19 );
20 end;
21 /
Procedure created.
SQL> exec P_MRGTS2(1)
BEGIN P_MRGTS2(1,'Avi'); END;
ERROR at line 1:
ORA-22905: cannot access rows from a non-nested table item
ORA-06512: at "OPS$AABRAMI.P_MRGTS2", line 9
ORA-06512: at line 1However, the same code on Oracle 10g Release 10.2.0.1.0 on SUN Solaris 9 works.
Is there any way to make it work on Oracle 9i?
One way I found is the following:
procedure P_MRGTST (P_ID PERSONS.ID%type)
is
L_IDS T_NUMBER_ARRAY;
begin
L_IDS := T_NUMBER_ARRAY(P_ID);
forall I in L_IDS.first..L_IDS.last
merge into PERSONS P using DUAL D on (
P.ID = L_IDS(I)
when matched then update
set SURNAME = 'Updated'
when not matched then
insert (
ID
,SURNAME
values (
L_IDS(I)
,'Inserted'
end;On Oracle 10g there is negligible difference in time taken to execute both procedures, as displayed in SQL*Plus when issuing:
set timing onIs there something that makes one of the procedures preferrable over the other?
Thanks,
Avi.Is there any way to make it work on Oracle 9i?
michaels> select * from v$version
BANNER
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
PL/SQL Release 9.2.0.8.0 - Production
CORE 9.2.0.8.0 Production
TNS for HPUX: Version 9.2.0.8.0 - Production
NLSRTL Version 9.2.0.8.0 - Production
michaels> create table persons (
id number(9)
,surname varchar2(50)
,constraint persons_pk primary key (id) )
Table created.
michaels> create or replace type t_number_array as table of number;
Type created.
michaels> create or replace procedure p_mrgts2 (p_id persons.id%type)
is
l_ids t_number_array;
begin
l_ids := t_number_array (p_id);
merge into persons p
using (select * from table (cast (l_ids as t_number_array))) d
on (p.id = d.column_value)
when matched then
update set surname = 'Updated'
when not matched then
insert (id, surname) values (d.column_value, 'Inserted');
end p_mrgts2;
Procedure created.
michaels> exec p_mrgts2(1)
PL/SQL procedure successfully completed.
michaels> select * from persons
ID SURNAME
1 Inserted
1 row selected. -
About nested tables in oracle 8i
hello,
actually i am working with oracle 8.1.5 's nested tables
concept...
here is a description of my tables
create type parameterranges
parameter_name varchar2(20),
min_value number(10),
max_value number(10)
create type parameter_ran as table of parameterranges
create table material_details
mat_type varchar2(20),
parameter_ranges parameter_ran
okay...
now my doubt is how do i place constraints on the nested table fields i.e on min_value etc...(especially NOT NULL
constraint)
DOUBT NO 2
=============
I have a query to find out the mat_type,partno from material_details table Based on the parameter value and its min_value ,i.e based on some name value pairs which I am achieving as below .
select m.mat_type,m.partno
from material_details m,table(m.parameter_ranges) p
where p.parameter ='THICKNESS' and p.min_value = '1'
and m.mat_type='STEEL'
intersect
select m.mat_type, m.partno
from material_details m,table(m.parameter_ranges) p
where p.parameter ='STANDARD' and p.min_value = 'SAE1010'
and m.mat_type='STEEL';
Now I want this to be in a cursor..i.e I want to use the same set of rows returned by the above in another query involving another table .
That is using the multiple mat_type and partno returned from above I want to find out
Other fields (company,plant) from another table part_details which also has a nested table in it
How do I go about this???Actually I want to use these in a PLSQL procedure where we can have row by row control of the rows returned ,that is why I want a cursor.......
could u think about this too...and if possible mail me at my yahoo id ..
thanx once again
please reply to my id
[email protected]
thanx
nullI don't understand exactly your problem. Can you send me a mail which expresses your problem??
Maybe you are looking for
-
All Enterprise Keyword options are greyed out
I just did a migration from SPO to SP13 on-prem. When I go in, I can see the keywords have been moved over, but the area to add them is greyed out. I went into the options for one of the libraries, and checked the Enterprise Keyword settings, and it
-
Native SQL "Table does not exist in database"
Hi Developers, I'm doing a database connection to an Oracle db and trying to read data using native SQL - I keep getting the runtime error "table does not exist in database" on the statement Fetch Next Cursor. The following is the code snippet (I've
-
How do i add to a published site?
i am defeated... how do i access an iWeb site i have published to add another page? i launched iWeb and the "visit a published site" is grayed out. i can only find my site by clicking on the link in an e-mail i sent announcing it, and then i am only
-
How to change the billing qty directly during VF01 in AFS?
Dear experts: Can anyone advise how we can change the billing qty directly during VF01 in AFS? Can anybody tell me why i can modify the billing qty in SAP R/3 ECC6.0, but it fail to in AFS, why? The operation was: 1.I have to done one customising
-
I'm trying to send a song which has been downloaded from i-tunes to my phone via bluetooth, but my phone doesn't have an mp4 player on it, and ive tried converting it but even when I thought I did, i still cant play it on my phone, therefore does any