OWB 10GR2 WB AUDIT TABLE
To whom it may concern,
The Lob Name column in the WB Audit Table now stores mapping names with double quotes, in prior versions the double quotes were used only in Lob Name column belonging to detail tables. Is this a permanent change?
Thanks,
Al
Hi Georg
In order to view the contents of the view you have to execute the set_workspace procedure (for each session):
BEGIN
OWBSYS.WB_WORKSPACE_MANAGEMENT.SET_WORKSPACE('<workspace>','<workspace_owner>');
END;
Best regards,
Bruno
Similar Messages
-
OWB 10gR2 documentation on Audit Tables
I want to review the schema and any description on the details of the Runtime audit tables and reports. I did a search on the User guide and only find the Audit Tables referred to but without any detail information. Suggestions?
Jim PetersonJim,
this info is located in OWB API and Scripting Reference (look at first chapter "Public Views for the Runtime Environment"):
http://download.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/toc.htm
Oleg -
Modifying OWB audit tables?
One option we are exploring on a new project is using the OWB audit tables/views as control tables to facilitate extracting changed data from the source system.
For example
Extract all data from source table x where update_date > (select max(start_time) from all_rt_audit_map_runs where map_name = y and run_status = 'COMPLETE')
I am no terribly keen on the idea. Has anyone done this in the past? Would you consider this standard practice? I'd prefer to maintain our own control table(s).
One problem I see is that (especially in dev/testing environments) it would call for situations where there needs to be manual modification of the data in OWB audit tables, which may lead to the data in them becoming corrupt. Would updating things like start_time, end_time and run_status be an acceptable development practice? I just think that once you start updating a table like all_rt_audit_map_runs it becomes very difficult to keep corresponding tables like ALL_RT_AUDIT_STEP_RUNS also accurate.
Would appreciate others thoughts on the matter.I'd suggest maintaining your own tables, they are then in your control, there is no guarantee that the OWB audit tables will be in the same format in future releases.
-
Hi All,
Can anyone please tell me if there is a document wherein we can find a detailed design of Audit Tables and Views?
Thanks in advance...
AbhishekDo you mean this?
http://download.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/api_2runviews.htm#i699445 -
OWB 10gR2 - some enhancement requests
Hi, I've been working with OWB 10gR2 for approximately a week now, and I've come across a few (minor) bugs, as well as a list of enhancements that I think would make the tool better. I'd like to surface these in this forum so they can be either disagreed with or have workarounds suggested, as well as getting this list in front of Oracle. Also I'm new to the tool, so maybe there are ways to accomplish what I want.
p.s. as a side note - please don't take these as criticisms of the tool. I'm actually very impressed with OWB 10gR2, but just want to surface some ideas that I think would make the tool better.
Thanks,
Scott
---Bugs:
1. If I enter a quote character in one of the business description fields (i.e. for a cube or dimension), it causes the DDL scripts to blow up. It probably mentions the list of valid characters in the users guide somewhere - but if a character isn't legal, it should be flagged when I try to enter it originally not when deploying
2. I can enter illegal strings in an expression operator that fail validation there, but the whole map still passes validation. For instance, I put in an expression (for a varchar2 field) using a single quote at the start, but mistakenly with a double quote at the end. I didnt bother to validate this within the expression. The whole map validated fine, but (of course) blew up with the illegal syntax when generating the code.
3. I get the following error when trying to browse a cube (ROLAP, not MOLAP) through OWB, but I'm able to pull the cube up fine using either the excel add-in or biBeans: CubeDV_OLAPSchemaConnectionException_ENT_06952???
---Enhancement Requests:
1. Add a deploy button in control center next to the to default actions and reset actions buttons
2. Allow an option to have dimensions and cube defaults set to either deploy all, deploy data only, deploy catalog only, deploy aggregations (for cubes). Also, why is the default set to deploy data only? Does deploying the CMW2 metadata involve huge performance impacts or something? It seems like the CMW2 is almost free so it should be turned on by default. Its a pain to use the dimension wizard, but then have to go in to each dimension afterwards to set this option.
3. When using configure on dims and cubes in control center, the first time the configuration properties dialog pops up, everything is fine. However, when you try to configure the 2nd object, the background focus switches from control center back to design center. This makes navigation very slow if you have lots of items to change. I've noticed this behavior in a few other places as well.
4. Some dialogs do not have maximize buttons (i.e. dimension wizard dialogs), and default to a very small size. It is possible to have size of dialogs dynamically scaled to screen resolutions, and attempt to size columns so they fit properly. Or better yet, have each dialog remember how large it was last time, and automatically open up to that size?
5. When generating the autobind relational table while creating a dimension, it seems to be randomizing the order of the attributes within a level (although it does sort the top level attributes first, followed by lower level attributes), at least when using the dimension wizard. It would be nice if the attributes in the relational table came out sorted in the same order as they are specified in the attributes tab.
6. When using a unmapped display set there doesnt seem to be a way to refresh the set (i.e. remove the items that have since been mapped) unless you select all and then unmapped again. Would be nice if you could simply choose unmapped again and have it refresh the object
7. While doing a mapping, right click on canvas allows option to generate. Would be nice to also add the validate option to this menu
8. Validating mappings takes a decent amount of time would be nice if a busy icon was displayed to let user know that OWB hasnt locked up.
9. default size of job details dialog is too small, and even if I maximize I still have to go through and manually adjust the size of each pane. Similar to enhancement #4
10. Horizontal size of operators in mapping seems to be determined by the length of the operator name, instead of tying directly to the icon. Looks strange. Very minor
11. When displaying dimension objects in a mapping:
a. For the surrogate key columns add an icon to indicate this attribute is a surrogate key. Likewise, since its not legal to map anything to this column, remove the little arrow next to it (the one that turns gray when something is mapped to a column), or perhaps don't even show this column at all.
b. For the business key columns add some type of icon to show which attributes represent the business natural key (or make color different, etc.)
12. Similar to #11, for the cube operator in a mapping:
a. For the surrogate key columns if they cant be mapped to, then dont show them
b. For the business key columns add some type of icon to show which attributes represent the business natural key
c. Separate the measure columns from the dimension columns
13. For the Aggregation operator can you move the <None> default operator to the top of the list. At the bottom, it means you always have to scroll to use the most common operations (which are at the top of the list), i.e. sum and avg, etc.
14. In the log on prompt, if I choose SQL*Net connection, every time I start it up it defaults to the details being shown (even when I chose no detail last time), with cursor in the host box. I should be able to have the details hidden, and this dialog should ALWAYS default to having the active cursor in the password box on startup
15. When printing in a mapping, the page setup print dialog is very slow. Also, the print setup dialog shows margins, but you cant adjust them. It would be nice if this could be changed here
16. Add a print preview icon to all of the toolbars. Printer icon is there, print preview should also be.
17. In the dimension attributes, we need a way to tag an attribute as being the insert record date or the update record date. The corresponding MERGE SQL should be updated to use these attributes.
18. It would be nice if the mapping canvas defaulted to an unlimited size i.e. when I want to add new operators and the screen is already full, I either need to shrink the zoom factor down to the point where I cant read the icons anymore, or I have to pick up the new operator and drag at the bottom / right side until it scrolls enough to drop it where I want. If the canvas had an unlimited size, I could simple use the scroll bars to scroll to where I want.
19. Scroll wheel functionality to zoom in / out (and have it zoom in around the currently selected object)
20. Option to have operations automatically resize when longer attribute names are added to them (can workaround by mimimizing and then maximizing, but would be better to have the operators automatically adjust size to fit)
21. Ability to sort output attributes in an operator (just like table column sort functionality). If I create a new operator, it would be nice to group it with related operators instead of always having it at bottom.
22. re: column sort functionality drag and drop instead of up/down arrows would be nice
23. It would be nice if, when adding output attributes to (for example) the expression operator, it would choose the default data type the same way the dimension attribute wizard works (i.e. if it sees ind in name, automatically choose char(1)
24. Change the zoom in button so that it zooms in on the currently selected operator i.e. if I click on a particular table and then hit the zoom in button, it should keep the table I selected centered
25. When in a mapping, clicking on a line should highlight the attributes on both the source and target operators (to allow easier visual ID of where data is coming from / going to)
26. AWM has a feature where table attributes can be sorted so that mappings between them don't have "crossed" lines. Similar functionality in OWB would be very appreciated. It may be harder to automate this, but even manual drag and drop of attributes within an operator would be nice.if you could copy/paste this whole thing into the submission form (see feedback option under the numbers menu). The more people that request these features, the more likely we are to see them in an update or the next version.
Jason -
OWB 10gR2 : How to configure ctl and log locations for Sql*Loader mappings?
Hi all,
I'm using OWB 10gR2 to load data in tables with Sql*Loader mappings.
In my project I have a datafile module and an Oracle module.
When creating an sql*loader mapping in the oracle module, there is two properties for this mappings that I want to modify. The first is Control File Location and the second is Log File Location. Values for those properties are equal to the data file module location. When trying to change those values I can only chose "Use module configuration location".
Somebody knows how to configure those properties with different locations as the one of the flat file module?
What I want to do is to store the data file in one directory, and control file and log file in other directories.
Thank you for your help.
BernardHi,
You're right, my problem is that the dropdown only show the location associated with the flat file location even if I have other file locations created in the design repository.
The good news is that I have found the solution to solve the problem :
1) Edit the file module and in tab "Data locations", add the locations you want to use for control file and log file.
2) Open configuration window of the mapping and then the dropdown for properties Control File Location and Log File Location show new locations
I have tested my mapping after changing those properties and it's working.
Bernard -
Storing degenerate dimension info in an OWB 10gR2 cube
Hi,
I'm looking to store "degenerate dimension" information in an OWB 10gR2 cube. Typically in a DW, I'd just add a column to the fact table to hold the information. However, in OWB 10gR2, I don't see any way to add a column to a "cube" object - everything appears to either have to be a dimension surrogate key, or a measure.
Not sure the best way to proceed. We've coded all our ETL using the standard cube objects and letting OWB do all the surrogate key lookup, etc. automagically for us, so I'd hate to be forced to go back to manually loading the fact tables. Is there an easier way?
Thanks,
ScottHi Scott,
The problems I've run into with dimensions and cubes are:
Dimensions abort if there are many roles - about 4 is the limit. This is very bad for the time dimension which should have 100s of aliases. Unfortunately I can't use the Time dimension wizard because we require ISO-Weeks. My workaround is to create several Time dimensions manually and assign 4 roles to each.
Naming - when I create several time dimensions with 4 roles each (see above), in the BI layer, the foreign keys in cubes are always named something like time_dim, time_dim_1, etc rather than named for role names. I have to manually rename them in tables and then when I deploy BI objects, manually rename them again in Discoverer Administrator.
Redeploying just about anything is broken. Table upgrade plans are invalid (even after running the grant scripts that support recommended), Redeploying BI objects runs successfully but if you read the job output, it does nothing since the objects already exist - again, the upgrade option does nothing.
Column ordering is random when deploying objects so I've taken to sorting alphabetically for our BI objects. Not ideal by any means.
As for the time savings with lookups, I don't save nearly that much. Due to many composite keys in our source systems, I assign surrogate keys in our staging area. These become the "business keys" in our DW layer and consequently I end up doing lookups against the staging MAP tables - really no more or less difficult than looking up dimension keys. That is more a design choice than anything and may just be my "Kimball" habits dying hard.
I'm encouraged to hear that you are having success. I chose to utilize the Dimensions and Cubes and so far am sticking with it. I'm hoping that there will be patches and/or point releases to OWB soon! -
OWB 10gR2 - Implementation Strategy
I am trying to find what is the best strategy to install and configure a OWB environment for the following scenario on one linux server machine:
There are three Oracle databases on this machine:
database 1 = OWB repository owned by a owb_owner schema. The repository will contain all of design metadata (Source Oracle module with source tables, Target "Oracle module A" with tables, sequences, mappings and Target "Oracle module B" with tables, sequences, mappings). The ETL process is setup to transform data in two stages: 1> Source to target A 2> Target A to target B
database 2 = It will have target schema Target_A. The contents of "Oracle Module A" from the OWB repository in database 1 needs to be deployed to this "target_A" schema
database 3 = It will have target schema Target_B. The contents of "Oracle Module B" from the OWB repository in database 1 needs to be deployed to this "target_B" schema
Do I need to have OWB repository installed in database 2 and database 3 and have control center service running in each of them to facilitate execution of ETL process?
Deployment of the objects will be launched from a windows workstation via client design center / control center manager. Do I need to have control service running from client machine to facilitate deployment ? If so, would it facilitate deployment of the objects to the above two targe schemas ?
The intent is to have a process flow in OWB metadata repository of database 1 streamline the complete ETL process tied to a location owned by OWF_MGR schema in database1.
Please advice what implementation strategy will work best for the scenario. I read strategy presented in http://download.oracle.com/docs/cd/B31080_01/doc/install.102/b28224.pdf .. BUT I need more clarity on the available options.Hi.
you will need a unified repository in each database. The unified repository in OWB 10GR2 contains both the objects for the design repository (your mappings, tables etc.) and the control center repository (runtime and deployment information such as execution times of mappings etc.). In previous versions of OWB they were separate.
Database 1: Install the unified repository and just use it as your design repository. You will use this when you log in via Designer.
Database 2: Install unified repository together with Control Center Service and use as control center repository.
Database 3: Install unified repository together with Control Center Service and use as control center repository.
While it is possible to have the Control Center Service just run on a client machine , I ran into all sorts of problems in the past with this configuration, e.g. when you log off your client machine it shuts down the Control Center Service. From my experience this setup is not very stable.
In OWB Designer you can then set up locations and configurations to deploy your mappings to database 2 or database 3.
You will need owf_mgr on both database 2 and database 3 and you need to deploy your process flows to both databases. What you can't do is to run a process flow say from database 1 or database 2 across databases 2 and 3.
Can you explain in some more detail why you have a requirement to transform data across two target servers?
Regards
Uli -
I want to know is there anyway we can capture wb_rt tables in mapping. This are runtime audit tables in owb. Is there any documentation where I can get the description of this tables.
What I want to do is to get infor from audit tables to get the row count from previous mapping run and compare before loading the final target.
I am new to owb and I want to know is there any process in owb or process flow to check before loading into target like checking how many rows were loaded into staging and is it equal to no. of rows after transformation.
Is anyone doing this kind of consistency checks in there ETL process. Any kind of info will be helpful
Thnakshttp://download-east.oracle.com/docs/cd/B31080_01/doc/owb.102/b28225/toc.htm
in the second chapter -
Hi All,
We have installed the Oracle 10g2 enterprise database which has core ETL features for OWB 10gR2. We have not purchased the ETL option for OWB. Can we use Dimesions and Cubes as target table ?? Are Cubes and Dimensions only available with ETL option purchase ??
Thanks,
Sam.What are you doing with a dimension when you can only specify SCD1. nothing
To me it's a joke that Oracle says that it's possible to use dimensions when you need the ETL option to be able to use SCD2. Most dimension's I have seen the last years have been defined as SCD2 and not SCD1. So what does it help to define a dimension if you can't use it afterwards in the mappings.
Message was edited by:
Maurice Muller -
MDL files not readable in OWB 10gR2?
I have exported an MDL file in OWB 10gR2 for an entire OWB Project (using Design -> Export -> Warehouse Builder Metadata in the Design Center). I noticed that the resulting MDL file is not in readable ASCII format (unlike previous releases such as OWB 9i).
Is this the expected behaviour?
I guess it doesn't really matter what format it is in, since I was able to delete a table from the repository using the Design Center GUI and then re-create it in the repository by importing my MDL file.Alas, it seems that the export is now a binary file. This probably has some real benefits somewhere, but I for one am not keen on it. There have been scenarios where I had to alter the MDL file manually to re-import it, but should such an occation present itself again, I won't be able to.
Not that I have been able to migrate to 10gR2 yet, due to a bug, that I might be able to fix myself if I had access to plaintext MDL file ...
Borkur -
Database trigger to insert duplicated rows on audit table
Hi
It is possible to insert duplicate rows (at the moment database generate PK violation constraint for one specific table) within an audit table ?
Certain code like this is not working, always the whole transaction makes a rollback and audit table will be empty:
CREATE OR REPLACE TRIGGER USER.audit_TABLE_TRG
before INSERT ON USER.TABLE
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
declare
V_conteo number(1) := 0;
duplicate_record EXCEPTION;
begin
select count(*)
into V_conteo
from USER.TABLE
where <PK conditions>
if V_conteo > 0 then
begin
INSERT INTO USER.AUDIT_TABLE
(<>)
VALUES
(<>);
raise duplicate_record;
exception
when duplicate_record then
INSERT INTO USER.AUDIT_TABLE
(<>)
VALUES
(<>);
raise_application_error(-20019,'Duplicated column1/column2:'||:NEW.column1||'/'||:NEW.column2);
when others then
dbms_output.put_line('Error ...'||sqlerrm);
end;
end if;
end;
END;
/>
Exactly this is my problem , one only transaction (insert into audit table and try to insert into target table), the reason of this post is to know whether exists another way to insert all the intent duplicate records on target table into one audit table, you right ,maybe I can add one date column and modify the PK on audit table but my main problem still happens.
>
Can I ask you why you want to go trigger route for this if your intention is only to capture the duplicate records? Assuming that you are on at least on 10gR2, you can look at DML error table. If you go this route, there is no need for additional overhead of trigger, code failures, etc.
Oracle can automatically store the failed records in an error table which you could later on investigate and fix it or ignore it.
Simple example:
SQL> create table emp (empno number primary key, ename varchar2(10), sal number);
Table created.
SQL> insert into emp values(1010, 'Venkat', 100);
1 row created.
SQL> commit;
Commit complete.
Create error table to log the failed records
BEGIN
DBMS_ERRLOG.create_error_log (dml_table_name => 'emp');
END;
Now let's insert a duplicate record
SQL> insert into emp values(1010, 'John', 200) ;
insert into emp values(1010, 'John', 200)
ERROR at line 1:
ORA-00001: unique constraint (VENKATB.SYS_C002813299) violated
Now use the log table to capture
SQL> insert into emp values(1010, 'John', 200) LOG ERRORS INTO err$_emp ('INSERT') REJECT LIMIT UNLIMITED;
0 rows created.
Now check the error log table and do whatever you want
SQL> r
1* select ORA_ERR_MESG$, empno, ename, sal from err$_EMP
ORA_ERR_MESG$
EMPNO
ENAME
SAL
ORA-00001: unique constraint (VENKATB.SYS_C00
2813467) violated
1010
John
200
1 row selected.This will also capture when you do
INSERT INTO EMP SELECT * FROM EMP_STAGE LOG ERRORS INTO err$_emp ('INSERT') REJECT LIMIT UNLIMITED;
You can capture the whole record into the log table. All columns.
Regards
Edited : Code -
How to get the Runtime ID from Audit tables?
Hi,
I have a process flow which contains two processes. Each process has 20 mappings. after the process executes correctly, I need to pick up OWB runtime ID and store it in my own audit table. How to implement this?
Regards
Kishan.Hello,
this link is the solution to your problem: Capture RUN_ID when executing a mapping
Export the sample mapping in this link and import it in your OWB.
Regards
Franz -
How to maintain previous and record count in audit table in SQL Server 2008 r2?
Hi Experts ,
Situation :
in our database we are having few of stored procedures which will drop and recreates the tables and it is scheduled on weekly basis. when this job will run all the stored procedures will drop all the tables and recreate. Now we need to create one table which
will maintain history of the records.
my table structure is listed below
TableName CurrentReocrdCount CurrentExecutionDate PreviousReordCount PreviousExurtiondate
TEST 1000 2014-03-30 NULL NULL
Test 1500 2014-04-10 1000 2014-03-30
Test 2000 2014-04-11 1500 2014-04-10
How do i achive this .
franklinsentilYou need to create audit tables for these. The table will be populated by COUNT value inside stored procedure. Each time it clears the main table and fills new data and also logs count details to audit tables. You can use COUNT(*) to get count value
and GETDATE function to get current execution value.
So proc will look like
CREATE PROC procname
@param....
AS
--step to drop existing table
IF OBJECT_ID('tablename') IS NOT NULL
DROP TABLE <table name>
--step to fill new table
SELECT ...
INTO TableName
FROM
--Audit table fill step
INSERT AuditTable (TableName,CurrentRecordCount,CurrentExecdate,PrevRecordCount,PrevExecDate)
SELECT TOP 1 'TableName',(SELECT COUNT(*) FROM tableName),GETDATE(),CurrentRecordCount,CurrentExecDate
FROM AuditTable
ORDER BY CurrentExecDate DESC
UNION ALL
SELECT 'TableName',(SELECT COUNT(*) FROM tableName),NULL,NULL
WHERE NOT EXISTS (SELECT 1 FROM AuditTable)
GO
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Is this a bug in OWB 11.2 - importing table metadata for character columns
The Oracle® Warehouse Builder Data Modeling, ETL, and Data Quality Guide provides an overview of the data types supported.
http://docs.oracle.com/cd/E11882_01/owb.112/e10935/orcl_data_objx.htm
It says that for VARCHAR2 data type it saws (http://docs.oracle.com/cd/E11882_01/owb.112/e10935/orcl_data_objx.htm#CHDFIADI )
"Stores variable-length character data. How the data is represented internally depends on the database character set. The VARCHAR2 data type takes a required parameter that specifies a maximum size up to 4,000 characters"
That means , I guess, it says that when I import a table, any columns of type VARCHAR2(10) in the database should have its length show as characters in OWB, so a column of type Varchar2(10) in the Oracle database, should be shown as Varchar2(10) when imported into OWB table metadata via the OWB import function.
However, if I have a database that set-up as a single-byte and import a table using the OWB import function a column that has a size of e.g. 10 in the database, is imported as OWB table metadata and the size is 10. Correct, I am happy.
However, if the database is modified to support multi-byte characters, ALTUF16 encoding with the semantics set to "CHAR", then when I import the same table into OWB, OWB reports the size as 40, I guess its 40 bytes as in 10 characters @ 4 bytes per character.
Is this a bug in OWB, as the datatype in the Oracle DB is varchar2(10), should OWB after importing a table not also report the column as VARCHAR2(10) ? Currently, is shows the column as varchar2(40).I noticed that myself in our project.
Our varchars2 are defined as VARCHAR2(xxx CHAR) - OWB puts the size*4
In fact if you have special characters like umlauts (ü,ä,ö,...) it will use 4 bytes per character.
You can try it yourself. Define a Varchar2(1 CHAR) and manually change the size of the Column in your mapping inside OWB (in filters, joins or your target table).
Then shoot an umlaut through the mapping and will end up with a "too small" error.
Dont mind the size*4 issue - we totally ignored it and run without error since 4 years now.
Maybe you are looking for
-
Build distribution error - WINNT.H
When I go to build a distribution for my project I get an error for WINNT.H. It says: cviincludes.h - 20 errors "WINNT.H"[523,10) syntax error; found 'indentifier' expecting ','. In the WINNT.h it highlights a line __inline U
-
LOV with a query Bind Parameter
Hello, I am following the JHeadStart PDF tutorial over the HR Schema. On the page 45 this tutorial shows how to make a Dynamic Lookup with a Query Bind Parameter to choose the employees of a department with the expresion "p_dpt_id=#{bindings.Departme
-
I cant open a document saved in Numbers
Please help me! I cant open a document that I saved in Numbers as it says "could not be open" Why is this happening?
-
ProgressBar inside a TextField
Hi all. I would like a ProgressBar in the back of a TextField (like a browser address bar). Any ideas how I would even go about doing this? StackPane with the TextField on top but make it see through? Thanks, Nick
-
Parallel port / NT 4.0 / Labview 5.0
How can I control the parallel port i/o pins with labview 5.0 and NT 4.0 ? The sub.vi "out.port" doesn't work. Thanks for any advice Andreas