Nested Relational Model in Oracle Database
Hi
I was wondering if Oracle database has a facility to hold and manipulate the Nested relational model. In other words, are the nested tables equivalents to Nested Relational model, i.e. hierarchical representation.
Thanks.
Well it seems like the problems has a simple explanation. The Forte assigns a default table name (<entityName>EJBTable) when creating an entity bean from an existsing table in DB (which is not the same as the one it was created from !!!). Also, for reason unknown, when you deploy these entity beans, it doesn't even create the new table under its new name (even if instructed to).
So using the Forte we managed to use successfuly only entity beans that were created "from scretch" (when deployed their tables are created).
Does anyone know how to change the default name the Forte uses, and make it work properly with entity beans created from an existsing table (without going over the xml's) ?
Similar Messages
-
Ojdbc14.jar API and Oracle Database Version
Hi
Im using ojdbc14.jar for accessing an oracle 10G database.
Im trying to troubleshoot an exception -
java.sql.SQLException: Parameter Type Conflict
that seems to get thrown by the method -
OraclePreparedStatament.processCompletedBindRow
I have a couple of questions:
1. Is the documentation/source available for ojdbc14.jar in order that I can try and find out what this method is supposed to be doing?
2. Also, can anyone confirm if the jar Im using is the correct version of drivers for accessing a 10G database?
3. When I go to the JDBC support center at Oracle(http://www.oracle.com/technology/docs/tech/java/sqlj_jdbc/index.html) any support documentation/APIs refer only to the Oracle db version and dont mention Java versions. Im using ojdbc14.jar which I guess is for use with Java version 1.4 onwards - how does this relate to the Oracle database versions?
Thnaks very much in advance to anyone who can give me any suggestions on the above. This issue has stumped me for days now. Ive checked and double checked my code, and the Oracle Java types I have generated from the database, and they all seem to be fine.
Jonunzip it, and look at the MANIFEST.MF file in META-INF
If you do not know the version, you can just download appropriate one from oracle site.
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html -
on page 88 of the "Backup and Recovery User's Guide 12c Release 1 (12.1) E17630-13", the example 5-1 SHOW ALL Command is the same of the "Backup and Recovery User's Guide 11g Release 2 (11.2) E10642-06" on page 82 and that output is related to a Oracle Database 11g version (the 10g doesn't print the first line "RMAN configuration parameters for database with db_unique_name PROD1 are:").
My test cases here:
Database administrator workshop: Differences in default RMAN configuration settings between 12c and 11g
{code}[oracle@vsi08devpom ~]$ export ORACLE_SID=CDB001
[oracle@vsi08devpom admin]$ sqlplus system/oracle@CDB001
SQL*Plus: Release 12.1.0.1.0 Production on Thu Sep 26 09:10:50 2013
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Last Successful login time: Tue Jul 16 2013 13:43:48 +02:00
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> show con_name
CON_NAME
CDB$ROOT
[oracle@vsi08devpom ~]$ rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Thu Sep 26 09:12:42 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates. All rights reserved.
connected to target database: CDB001 (DBID=4134963396)
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name CDB001 are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/app/oracle/product/12.1.0/db_1/dbs/snapcf_CDB001.f'; # default{code}
{code}
[oracle@localhost orcl]$ rman target /
Recovery Manager: Release 11.2.0.2.0 - Production on Wed Sep 25 08:12:17 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1229390655)
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/app/oracle/product/11.2.0/dbhome_2/dbs/snapcf_orcl.f'; # default
{code} -
Unable to Create Entity Model from existing oracle database
Hi,
I am using Visual Studio 2013, .net framework 4.5, entity framework 5.0 and oracle 11g database.
Issue Description: I need to develop WCF service to exposing the account information which needs to get the data from 20 oracle tables. Trying to create entity model from existing oracle database. first i tried creating just two tables it
was created but it took more than 30 minutes. then i selected remaining few tables it took more than a days but nothing created just showing spinning the wheel. then i tried with fresh project and selected all the tables but same issue nothing created and
also there is no error. during this process i checked database query monitoring there is a big sql statement collection tables metadata. i don't know what was wrong the query taking too much time to complete the process.
we tried multiple machine and different oracle database all are same issue.
Sql server database -looks good no issues.
Any help/tips/ideas welcome to overcome this issue.Hi Sakthimp,
Welcome to MSDN forum.
Your issue is out of support range of VS General Question forum which mainly discusses the usage of Visual Studio IDE such as
WPF & SL designer, Visual Studio Guidance Automation Toolkit, Developer Documentation and Help System
and Visual Studio Editor.
Because your issue only occurred with oracle database, moreover Oracle developed the Entity Framework for Oracle itself, I suggest that you can consult your issue on Oracle forum/community:
you will get better solution and support there.
Best regards,
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Refresh whole relational model from database
Version 3.2.09 - Build MAIN-09.30
Hi,
I have created a model of my database in SQL Developer using the Data Modeller component by dragging all the table objects from the Tables tree onto the relational and logical panes. As I make changes to the database is it possible to refresh the model. I have used the following method whereby I delete the table graphic in the Relational_x view and then dragging the object from the object browsing tree back into the relational diagram, but is there a button that I can push that will just rip through and refresh my relationship diagram as a whole?
BenYes, on the main toolbar, there's a blue button that points to the LEFT. Read more about that here.
By the way, there's another way to add the tables/views from your database, might be easier than doing the drag and drop. Use File > Data Modeler > Import > Data Dictionary. -
Uninstalling the entire oracle database related components in oel5
Hi,
i need to uninstall oracle database 10g and related to its all components please provide me the steps and also the needed comments to uninstall it from the oel51. shutdown immediate -- stop the database.
2. Run the oracle universal installer and remove the oracle software.
If step 2 is not possible then
Remove all the datafiles,controlfiles and redologfiles for the database.
Remove all the directories under ORACLE_HOME.
3. Remove /etc/oratab
Regards
Asif Kabir
45 (43 unresolved)
-- If helps, mark your answer as correct/helpful. -
Where is the documentation for Oracle Spatial Relational Model?
Hi,
I'm working with Oracle Spatial for my schema model. In the documentation "Oracle Spatial User's Guide and Reference" there is a note about what this is in OTN but i don't find it!!
Can anybody help me, where I find the "Oracle Spatial Relational Model Guide and Reference"?Thanks! But just i have read this information. And in the documentation for spatial 9.0.1 there is one document only, and in this document there is a Note that reference to nonexistent document with title "Oracle Spatial Relational Model Guide and Reference" this is the document that i'm searching.
Thank you for your help! -
Related with Oracle Database port no.
Hello everbody!
Is there a way to know the port no of my Oracle Database.
I want to connect it in my java application but not sure about the port no.
Regards,
Manoj PaulPaul M. wrote:
But where will I type the command $lsnrctl status ?At OS prompt, but without the dollar sign, which is the standard OS prompt for Unix/Linux.Thank you so much for the kind help..
It's very helpful.
Thank you all too for your kind cooperation.
Regards,
Manoj Paul -
Working with Object Relational model and Eclipse
Hello,
I have mad some types and typed tables in a schema on oracle 10g.
My database respects the Object Relational model, in which I work with VARRAY, TYPES, NESTED TABLES, PL/SQL,...
I have already install Enterprise Pack for Eclipse, and also have the Weblogic server, And I can generate tables. But the problem is that it gives to me this tables with wrong types, until they contains in fact other tables as Objet column, and also the types are not supported.
Please need a help !
Thank's in advance :)nhauge wrote:
Hi,
I want to make sure I understand the problem but will try to give you some information as well. So you have an Oracle 10g database in which you are using the object-relational database model with VARRAY's, etc. You say you are also trying to generate tables, but the generation is not working correctly. Are you using the "Generate tables from entities..." functionality? What is the source of the generated tables? I assume you generating from some type of JPA entity? Could you give a small example of the source you are generating from?
In order to generate proper tables of this type, you would need to be using special TopLink/EclipseLink annotations such as @Array so the persistence provider would know that they are "special" and not just regular entities that would create standard relational tables.
Neil
Thank you for your replay,
well I'm generating that with "Generate tables from entities" of eclipse link.
this is an example of what I have in the database:
[DB-SCRIPT|http://www.mediafire.com/view/?n3knwz1o4ggk50n]
and this is what is generated(eclipselink-orm.xml):
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="1.2" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_1_2.xsd">
<entity class="model.Chefterritoire" access="VIRTUAL">
<attributes>
<id name="idChef" attribute-type="long">
<column name="ID_CHEF"/>
</id>
<basic name="lesterritoires" attribute-type="Object">
</basic>
<basic name="nomChef" attribute-type="String">
<column name="NOM_CHEF"/>
</basic>
<basic name="tel" attribute-type="java.math.BigDecimal">
</basic>
</attributes>
</entity>
<entity class="model.Client" access="VIRTUAL">
<attributes>
<id name="idClient" attribute-type="long">
<column name="ID_CLIENT"/>
</id>
<basic name="adresseClient" attribute-type="String">
<column name="ADRESSE_CLIENT"/>
</basic>
<basic name="dateP" attribute-type="java.util.Date">
<column name="DATE_P"/>
<temporal>DATE</temporal>
</basic>
<basic name="lescommandes" attribute-type="Object">
</basic>
<basic name="nomClient" attribute-type="String">
<column name="NOM_CLIENT"/>
</basic>
<basic name="profession" attribute-type="String">
</basic>
<basic name="refrepresentant" attribute-type="Object">
</basic>
<basic name="telClient" attribute-type="java.math.BigDecimal">
<column name="TEL_CLIENT"/>
</basic>
</attributes>
</entity>
<entity class="model.Commande" access="VIRTUAL">
<attributes>
<id name="idCommande" attribute-type="long">
<column name="ID_COMMANDE"/>
</id>
<basic name="dateCommande" attribute-type="java.util.Date">
<column name="DATE_COMMANDE"/>
<temporal>DATE</temporal>
</basic>
<basic name="dateLivraison" attribute-type="java.util.Date">
<column name="DATE_LIVRAISON"/>
<temporal>DATE</temporal>
</basic>
<basic name="refreleve" attribute-type="Object">
</basic>
<basic name="refrepresentant" attribute-type="Object">
</basic>
<basic name="refvehicule" attribute-type="Object">
</basic>
<basic name="reprise" attribute-type="String">
</basic>
</attributes>
</entity>
<entity class="model.Constructeur" access="VIRTUAL">
<attributes>
<id name="idConstructeur" attribute-type="long">
<column name="ID_CONSTRUCTEUR"/>
</id>
<basic name="adresseConstructeur" attribute-type="String">
<column name="ADRESSE_CONSTRUCTEUR"/>
</basic>
<basic name="lesreleves" attribute-type="Object">
</basic>
<basic name="nomConstructeur" attribute-type="String">
<column name="NOM_CONSTRUCTEUR"/>
</basic>
<basic name="refvehucule" attribute-type="Object">
</basic>
</attributes>
</entity>
<entity class="model.LesccommandesN" access="VIRTUAL">
<table name="LESCCOMMANDES_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LescommandessN" access="VIRTUAL">
<table name="LESCOMMANDESS_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LescommandesN" access="VIRTUAL">
<table name="LESCOMMANDES_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LesoptionsN" access="VIRTUAL">
<table name="LESOPTIONS_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LesrepresentantsN" access="VIRTUAL">
<table name="LESREPRESENTANTS_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LessclientsN" access="VIRTUAL">
<table name="LESSCLIENTS_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LesscommandesN" access="VIRTUAL">
<table name="LESSCOMMANDES_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LesterritoiresN" access="VIRTUAL">
<table name="LESTERRITOIRES_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.LesvehiculesN" access="VIRTUAL">
<table name="LESVEHICULES_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.Modele" access="VIRTUAL">
<attributes>
<id name="idModele" attribute-type="long">
<column name="ID_MODELE"/>
</id>
<basic name="couleurExterieure" attribute-type="String">
<column name="COULEUR_EXTERIEURE"/>
</basic>
<basic name="couleurInterieure" attribute-type="String">
<column name="COULEUR_INTERIEURE"/>
</basic>
<basic name="lesoptions" attribute-type="Object">
</basic>
<basic name="lesvehicules" attribute-type="Object">
</basic>
<basic name="prix" attribute-type="double">
</basic>
</attributes>
</entity>
<entity class="model.Option" access="VIRTUAL">
<table name="OPTIONS"/>
<attributes>
<id name="idOption" attribute-type="long">
<column name="ID_OPTION"/>
</id>
<basic name="nomOption" attribute-type="String">
<column name="NOM_OPTION"/>
</basic>
<basic name="refmodele" attribute-type="Object">
</basic>
</attributes>
</entity>
<entity class="model.Rapportvisite" access="VIRTUAL">
<attributes>
<id name="idRapport" attribute-type="long">
<column name="ID_RAPPORT"/>
</id>
<basic name="dateVisite" attribute-type="java.util.Date">
<column name="DATE_VISITE"/>
<temporal>DATE</temporal>
</basic>
<basic name="frais" attribute-type="double">
</basic>
<basic name="refclient" attribute-type="Object">
</basic>
<basic name="refrepresentant" attribute-type="Object">
</basic>
<basic name="resultat" attribute-type="String">
</basic>
</attributes>
</entity>
<entity class="model.Releve" access="VIRTUAL">
<attributes>
<id name="idReleve" attribute-type="long">
<column name="ID_RELEVE"/>
</id>
<basic name="dateDebut" attribute-type="java.util.Date">
<column name="DATE_DEBUT"/>
<temporal>DATE</temporal>
</basic>
<basic name="dateFin" attribute-type="java.util.Date">
<column name="DATE_FIN"/>
<temporal>DATE</temporal>
</basic>
<basic name="lescommandes" attribute-type="Object">
</basic>
<basic name="refconst" attribute-type="Object">
</basic>
</attributes>
</entity>
<entity class="model.RelevesN" access="VIRTUAL">
<table name="RELEVES_N"/>
<attributes>
</attributes>
</entity>
<entity class="model.Remise" access="VIRTUAL">
<attributes>
<id name="idRemise" attribute-type="long">
<column name="ID_REMISE"/>
</id>
<basic name="remise" attribute-type="double">
</basic>
</attributes>
</entity>
<entity class="model.Representant" access="VIRTUAL">
<attributes>
<id name="idRepresentant" attribute-type="long">
<column name="ID_REPRESENTANT"/>
</id>
<basic name="lesclients" attribute-type="Object">
</basic>
<basic name="lescommandes" attribute-type="Object">
</basic>
<basic name="nomRepresentant" attribute-type="String">
<column name="NOM_REPRESENTANT"/>
</basic>
<basic name="refterritoire" attribute-type="Object">
</basic>
<basic name="typeRep" attribute-type="String">
<column name="TYPE_REP"/>
</basic>
</attributes>
</entity>
<entity class="model.Territoire" access="VIRTUAL">
<attributes>
<id name="idTerritoire" attribute-type="long">
<column name="ID_TERRITOIRE"/>
</id>
<basic name="lesrepresentants" attribute-type="Object">
</basic>
<basic name="nomTerritoire" attribute-type="String">
<column name="NOM_TERRITOIRE"/>
</basic>
<basic name="refchef" attribute-type="Object">
</basic>
</attributes>
</entity>
<entity class="model.Vehicule" access="VIRTUAL">
<attributes>
<id name="idVehicule" attribute-type="long">
<column name="ID_VEHICULE"/>
</id>
<basic name="lescommandes" attribute-type="Object">
</basic>
<basic name="nomVehicule" attribute-type="String">
<column name="NOM_VEHICULE"/>
</basic>
<basic name="refavoir" attribute-type="Object">
</basic>
<basic name="refmodele" attribute-type="Object">
</basic>
</attributes>
</entity>
<entity class="model.Visiteav" access="VIRTUAL">
<attributes>
<id name="idVisiteav" attribute-type="long">
<column name="ID_VISITEAV"/>
</id>
<basic name="dateDebut" attribute-type="java.util.Date">
<column name="DATE_DEBUT"/>
<temporal>DATE</temporal>
</basic>
<basic name="dateFin" attribute-type="java.util.Date">
<column name="DATE_FIN"/>
<temporal>DATE</temporal>
</basic>
<basic name="refclient" attribute-type="Object">
</basic>
<basic name="refrepresentant" attribute-type="Object">
</basic>
</attributes>
</entity>
</entity-mappings> -
How to find the level of each child table in a relational model?
Earthlings,
I need your help and I know that, 'yes, we can change'. Change this thread to a answered question.
So: How to find the level of each child table in a relational model?
I have a relacional database (9.2), all right?!
O /* This is a child who makes N references to each of the follow N parent tables (here: three), and so on. */
/↑\ Fks
O"O O" <-- level 2 for first table (circle)
/↑\ Fks
"o"o"o" <-- level 1 for middle table (circle)
↑ Fk
"º"Tips:
- each circle represents a table;
- red tables no have foreign key
- the table in first line of tree, for example, has level 3, but when 3 becomes N? How much is N? This's the question.
I started thinking about the following:
First I have to know how to take the children:
select distinct child.table_name child
from all_cons_columns father
join all_cons_columns child
using (owner, position)
join (select child.owner,
child.constraint_name fk,
child.table_name child,
child.r_constraint_name pk,
father.table_name father
from all_constraints father, all_constraints child
where child.r_owner = father.owner
and child.r_constraint_name = father.constraint_name
and father.constraint_type in ('P', 'U')
and child.constraint_type = 'R'
and child.owner = 'OWNER') aux
using (owner)
where child.constraint_name = aux.fk
and child.table_name = aux.child
and father.constraint_name = aux.pk
and father.table_name = aux.father;Thinking...
Let's Share!
My thanks in advance,
Philips
Edited by: BluShadow on 01-Apr-2011 15:08
formatted the code and the hierarchy for readbilityJustin,
Understood.
Nocycle not work in 9.2 and, even that would work, would not be appropriate.
With your help, I decided a much simpler way (but there is still a small problem, <font color=red>IN RED</font>):
-- 1
declare
type udt_roles is table of varchar2(30) index by pls_integer;
cRoles udt_roles;
begin
execute immediate 'create user philips
identified by philips';
select granted_role bulk collect
into cRoles
from user_role_privs
where username = user;
for i in cRoles.first .. cRoles.count loop
execute immediate 'grant ' || cRoles(i) || ' to philips';
end loop;
end;
-- 2
create table philips.root1(root1_id number,
constraint root1_id_pk primary key(root1_id)
enable);
grant all on philips.root1 to philips;
create or replace trigger philips.tgr_root1
before delete or insert or update on philips.root1
begin
null;
end;
create table philips.root2(root2_id number,
constraint root2_id_pk primary key(root2_id)
enable);
grant all on philips.root2 to philips;
create or replace trigger philips.tgr_root2
before delete or insert or update on philips.root2
begin
null;
end;
create table philips.node1(node1_id number,
root1_id number,
node2_id number,
node4_id number,
constraint node1_id_pk primary key(node1_id)
enable,
constraint n1_r1_id_fk foreign key(root1_id)
references philips.root1(root1_id) enable,
constraint n1_n2_id_fk foreign key(node2_id)
references philips.node2(node2_id) enable,
constraint n1_n4_id_fk foreign key(node4_id)
references philips.node4(node4_id) enable);
grant all on philips.node1 to philips;
create or replace trigger philips.tgr_node1
before delete or insert or update on philips.node1
begin
null;
end;
create table philips.node2(node2_id number,
root1_id number,
node3_id number,
constraint node2_id_pk primary key(node2_id)
enable,
constraint n2_r1_id_fk foreign key(root1_id)
references philips.root1(root1_id) enable,
constraint n2_n3_id_fk foreign key(node3_id)
references philips.node3(node3_id) enable);
grant all on philips.node2 to philips;
create or replace trigger philips.tgr_node2
before delete or insert or update on philips.node2
begin
null;
end;
create table philips.node3(node3_id number,
root2_id number,
constraint node3_id_pk primary key(node3_id)
enable,
constraint n3_r2_id_fk foreign key(root2_id)
references philips.root2(root2_id) enable);
grant all on philips.node3 to philips;
create or replace trigger philips.tgr_node3
before delete or insert or update on philips.node3
begin
null;
end;
create table philips.node4(node4_id number,
node2_id number,
constraint node4_id_pk primary key(node4_id)
enable,
constraint n4_n2_id_fk foreign key(node2_id)
references philips.node2(node2_id) enable);
grant all on philips.node4 to philips;
create or replace trigger philips.tgr_node4
before delete or insert or update on philips.node4
begin
null;
end;
-- out of the relational model
create table philips.node5(node5_id number,
constraint node5_id_pk primary key(node5_id)
enable);
grant all on philips.node5 to philips;
create or replace trigger philips.tgr_node5
before delete or insert or update on philips.node5
begin
null;
end;
-- 3
create table philips.dictionary(table_name varchar2(30));
insert into philips.dictionary values ('ROOT1');
insert into philips.dictionary values ('ROOT2');
insert into philips.dictionary values ('NODE1');
insert into philips.dictionary values ('NODE2');
insert into philips.dictionary values ('NODE3');
insert into philips.dictionary values ('NODE4');
insert into philips.dictionary values ('NODE5');
--4
create or replace package body philips.pck_restore_philips as
procedure sp_select_tables is
aExportTablesPhilips utl_file.file_type := null; -- file to write DDL of tables
aExportReferencesPhilips utl_file.file_type := null; -- file to write DDL of references
aExportIndexesPhilips utl_file.file_type := null; -- file to write DDL of indexes
aExportGrantsPhilips utl_file.file_type := null; -- file to write DDL of grants
aExportTriggersPhilips utl_file.file_type := null; -- file to write DDL of triggers
sDirectory varchar2(100) := '/app/oracle/admin/tace/utlfile'; -- directory \\bmduhom01or02
cTables udt_tables; -- collection to store table names for the relational depth
begin
-- omits all referential constraints:
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'REF_CONSTRAINTS', false);
-- omits segment attributes (physical attributes, storage attributes, tablespace, logging):
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SEGMENT_ATTRIBUTES', false);
-- append a SQL terminator (; or /) to each DDL statement:
dbms_metadata.set_transform_param(dbms_metadata.session_transform, 'SQLTERMINATOR', true);
-- create/open files for export DDL:
aExportTablesPhilips := utl_file.fopen(sDirectory, 'DDLTablesPhilips.pdc', 'w', 32767);
aExportReferencesPhilips := utl_file.fopen(sDirectory, 'DDLReferencesPhilips.pdc', 'w', 32767);
aExportIndexesPhilips := utl_file.fopen(sDirectory, 'DDLIndexesPhilips.pdc', 'w', 32767);
aExportGrantsPhilips := utl_file.fopen(sDirectory, 'DDLGrantsPhilips.pdc', 'w', 32767);
aExportTriggersPhilips := utl_file.fopen(sDirectory, 'DDLTriggersPhilips.pdc', 'w', 32767);
select d.table_name bulk collect
into cTables -- collection with the names of tables in the schema philips
from all_tables t, philips.dictionary d
where owner = 'PHILIPS'
and t.table_name = d.table_name;
-- execution
sp_seeks_ddl(aExportTablesPhilips,
aExportReferencesPhilips,
aExportIndexesPhilips,
aExportGrantsPhilips,
aExportTriggersPhilips,
cTables);
-- closes all files
utl_file.fclose_all;
end sp_select_tables;
procedure sp_seeks_ddl(aExportTablesPhilips in utl_file.file_type,
aExportReferencesPhilips in utl_file.file_type,
aExportIndexesPhilips in utl_file.file_type,
aExportGrantsPhilips in utl_file.file_type,
aExportTriggersPhilips in utl_file.file_type,
cTables in out nocopy udt_tables) is
cDDL clob := null; -- colletion to save DDL
plIndex pls_integer := null;
sTableName varchar(30) := null;
begin
for i in cTables.first .. cTables.count loop
plIndex := i;
sTableName := cTables(plIndex);
* Retrieves the DDL and the dependent DDL into cDDL clob *
* for the selected table in the collection, and writes to file.*
begin
cDDL := dbms_metadata.get_ddl('TABLE', sTableName, 'PHILIPS');
sp_writes_ddl(aExportTablesPHILIPS, cDDL);
exception
when dbms_metadata.object_not_found then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('REF_CONSTRAINT', sTableName, 'PHILIPS');
sp_writes_ddl(aExportReferencesPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('INDEX', sTableName, 'PHILIPS');
sp_writes_ddl(aExportIndexesPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('OBJECT_GRANT', sTableName, 'PHILIPS');
sp_writes_ddl(aExportGrantsPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
begin
cDDL := dbms_metadata.get_dependent_ddl('TRIGGER', sTableName, 'PHILIPS');
sp_writes_ddl(aExportTriggersPhilips, cDDL);
exception
when dbms_metadata.object_not_found2 then
null;
end;
end loop;
end sp_seeks_ddl;
procedure sp_writes_ddl(aExport in utl_file.file_type,
cDDL in out nocopy clob) is
pLengthDDL pls_integer := length(cDDL);
plQuotient pls_integer := null;
plRemainder pls_integer := null;
begin
* Register variables to control the amount of lines needed *
* for each DDL and the remaining characters to the last row. *
select trunc(pLengthDDL / 32766), mod(pLengthDDL, 32766)
into plQuotient, plRemainder
from dual;
* Join DDL in the export file. *
* ps. 32766 characters + 1 character for each line break. *
-- if the size of the DDL is greater than or equal to limit the line ...
if plQuotient >= 1 then
-- loops for substring (lines of 32766 characters + 1 break character):
for i in 1 .. plQuotient loop
utl_file.put_line(aExport, substr(cDDL, 1, 32766));
-- removes the last line, of clob, recorded in the buffer:
cDDL := substr(cDDL, 32767, length(cDDL) - 32766);
end loop;
end if;
* If any remains or the number of characters is less than the threshold (quotient = 0), *
* no need to substring. *
if plRemainder > 0 then
utl_file.put_line(aExport, cDDL);
end if;
-- record DDL buffered in the export file:
utl_file.fflush(aExport);
end sp_writes_ddl;
begin
-- executes main procedure:
sp_select_tables;
end pck_restore_philips;<font color="red">The problem is that I still have ...
When creating the primary key index is created and this is repeated in the file indexes.
How to avoid?</font> -
Error in import : tabular model with Oracle
Hi there,
I seems to be getting very strange error.
I am trying to build tabular model over oracle db. I get test successfull for connection, able to validate the query, and in query designer, if i execute it shows me data too. But when i press finish, it gives me error while importing.
ERROR from import screen
OLE DB or ODBC error: ORA-01033: ORACLE initialization or shutdown in progress.
A connection could not be made to the data source with the DataSourceID of '8ffdbfd9-e21f-442d-9040-b66dc074c87d', Name of 'XXXXXXX'.
An error occurred while processing the partition 'XXX_3fc019fa-4d1a-4d39-9317-3dcde3297579' in table 'XXXXXX'.
The current operation was cancelled because another operation in the transaction failed.
I cant figure this out,Even in Execl powerpivot i am able to pull the data in.
Any idea..TIA
Rahul Kumar, MCTS, India, http://sqlserversolutions.blogspot.com/Hi Rahul,
Based on my research, for the error “OLE DB or ODBC error: ORA-01033: ORACLE initialization or shutdown in progress.
A connection could not be made to the data source with the DataSourceID of '8ffdbfd9-e21f-442d-9040-b66dc074c87d', Name of 'XXXXXXX'.”
It seems that it related to Oracle database, here are some links about how to troubleshoot this issue, please see:
ERROR - ORA-01033 oracle initialization or shutdown in progress
ERROR - ORA-01033 oracle initialization or shutdown in progress
If the issue persists, since I am not an expert on Oracle database, you can post the question on the Oracle forum, so that you can get more help.
Regards,
Charlie Liao
If you have any feedback on our support, please click
here.
Charlie Liao
TechNet Community Support -
Delete Rules between Logical Model and Relational Model are different
Relation Properties in Logical model has three Delete Rules: "RESTRICT", "NO_ACTION", "SET NULL".
1. "RESTRICT" and "NO_ACTION" are same
2. "CASCADE" is missing.
However, Foreign Key Properties in Physical model has three Delete Rules: "RESTRICT", "NO_ACTION", "CASCADE".
1. "RESTRICT" and "NO_ACTION" are same
2. "SET NULL" is missing in this case.
They are supposed to have "NO_ACTION or RESTRICT", "SET NULL", and "CASCADE".
Please fix this ASAP. It is really annoying in Engineering process. Modeler creates duplicate wrong relationships while it engineers.
Thanks.
Edited by: hayangae on Oct 9, 2012 1:01 PM
Edited by: hayangae on Apr 3, 2013 4:08 PMHi,
it seems you are not using the latest version 3.3. In earlier versions - delete rule set on relationship was used only in some cases to set delete rule on related foreign key. Now delete rule is transferred to FK as it's defined on relationship.
I assume you are using Oracle database - "Restrict" doesn't appear anymore for Oracle.
2. "SET NULL" is missing in this case.Most likely the foreign key is set as mandatory thus you cannot use "set null" as option.
Modeler creates duplicate wrong relationships while it engineers.Can you elaborate on that - example?
Philip -
Engineer between Logical Model and Relational Model
I am trying to update changes from one model to the other but there are dublicate entries generated instead of updates.
The Logical Model was imported from Oracle Designer, the Relational Model was imported from data dictionary.
Our rule is, that the name of Entities/Tables and Attribute/Columns are identical.
So I changed the Naming Standard of the Logical Model in Preferences
from Separator = Space to Separator = Character with char = Underline.
If the entity is not existing, it is created with the correct name.
If the entity exists, a new entity is created with Namev1.
The same happens when I try to update changes in the other direction.
How can I achieve that the existing entity (or table) is updated and not a new one is created?
Or in other words, is there a way to link entities to corresponding tables?
WalterHi Walter,
The Logical Model was imported from Oracle Designer, the Relational Model was imported from data dictionaryit's good to import entities and related tables from Designer repository together. Data Modeler will import the link between them and use that link in synchronization between logical and relational model. After that you can import details for physical model from database.
If you don't have tables in Designer repository and keep the same names for entities, attributes, tables and columns then you can engineer logical model to relational and import details from database.
Philip -
Strange mapping of Boolean from Logical to DB2 Relational model
Hi guys,
Using most recent version of Data Modeler (3.3.0.747) I notice strange behavior:
Attribute, declared as Boolean in Logical model is engineered to a column, with type CHAR(1) in Relational Model, when "RDBMS Type" is Oracle, but when "RDBMS Type" is "DB2", column type is CHAR(254)
Is this a bug or a feature?
Is there any way, where I can control type mapping between logical and relational model?
Well, I can just go and change CHAR(254) to CHAR(1) all over my Relational Model, but this is pretty frustrating.
MfG,
Stoyan TsonevHi Stoyan,
Is there any way, where I can control type mapping between logical and relational model?In fact mapping is between logical data type and database native types - Tools>Types Administration.
You need to change mapping for Boolean logical data type - check "size" check box and put value in text field to define default size. Default size will be used when there is no explicitly defined size in column/domain definition.
Philip -
Issue with Engineer Multidimensional Model from Oracle Model
Here is the scenario:
1. Created logical star schema model including a dimension with nested subtypes (SuperTypeEntity1 -> Subtype 1 -> Nested Subtype 2)
2. Forward engineer to Relational model using Single Table implementation
3. Create Oracle 11g physical model definitions for the star
4. Define dimension, levels, and hierarchy in physiclal model
5. Create new multidimensional model, right click menu and execute "Engineer from Oracle Model"
Result:
Model and diagram built with correct dimension, levels, level attributes, hierarchy
Problem: The entity that the dimension levels are related to is the subtype entity that appears first alphabetically! What it should do is be related to the SuperTypeEntity since I used the Single Table implementation (IMO). I can manually change the property to pick the SuperType but then it loses the assignments for the Level Key and the Descriptive Attributes (which were defined in the physcial miodel) so I have to manually repopulate those properties.
Associated problem: Since I tend to do things incrementally (define a few dimensions at a time), everytime I re-run the engineering utility, it resets the dimension back to the wrong subtype everytime. (I like the fact that I can rebuild the multidimensional model iteratively to incorporate changes, but in this case it would be nice to "lock in" my manual changes).
My only work around at this point is to either only run the engineering utility once (which is pretty impractical) or temporarily prefix my super type entity with an "A" so it always comes up first in the list until I am done with all my iterations.Hi Kent,
dimensional model is not well suited to use entity hierarchies.
I can manually change the property to pick the SuperType but then it loses the assignments for the Level Key and the Descriptive Attributes (which were defined in the physcial miodel) so I have to manually repopulate those properties.It seems all your key and descriptive attributes are in SuperTypeEntity1 (the root of hierarchy). How to proceed if some attributes (key +descriptive) are in subtypes, should SuperType be set as level entity again?
Philip
Maybe you are looking for
-
I have a brand new iphone 4s unlocked version from singapore and I am experiencing constant network fluctuations on my iphone , no service, call failed, invalid sim, sim failure, bars fluctuating from 5 - 3 - 2 - 1, no signal/bars searching etc... If
-
Creative 5200 inspire 5.1 speakers connection to my onida 5.1 dvd player
Hey guys i have a onida 5.1 channel dvd player and a set of creative 5200 inspire 5.1 speaker set. As per your instuctions shown on the site i bought 3 pcs of single stereo to dual rca cables and attached it to the 5.1 output as per your picture show
-
My macbook pro's headphone jack doesn't work anymore
Every time when I plug in my headphones they almost fall out, and I just don't know what to do.
-
Same user id in two ipads?
I own two ipads, and created two different user ids for each one of them. Now I want to keep just one of those ids in both of the devices, how can I do that? If i do so, what happens with the apps I have already purchased? Thanks in advance for your
-
Hello guys, I am writing to know if anyone can help me with iMovie .. I like to mount small sports videos that I practice with imovie but do not know him very thoroughly .. these days a friend gave me some movies made with his GoPro Hero 3 Silver edi