Remving CDC objects from source database

Hi,
I have a simple test area with two databases. One db is my source, the other my target. I have got CDC working fine and will be deploying to our Dev environment in anger shortly.
Im using JKM Oracle 10G Consistent (LOGMINER).
When I drop the journal, I see all the J$views get removed - Fine.
However the following tables still exist in my source 'work' schema :
SNP_CDC_OBJECTS,
SNP_CDC_SET,
SNP_CDC_SET_TABLE,
SNP_CDC_SUBS
Can someone shed any light as to why ODI doesnt clean these tables up when I drop the journal ?
I would understand if these where database objects but looking at the SNP* prefix, ODI was the only application ever going to intereact with these tables right?
I've no issue manually removing them, would like to understand if there is any reason I should keep them, they get created when I start the journal, at least in autoconfig mode = yes.
Thanks in advance,
Alastair

Hi Alistair,
I am not sure about the JKM Oracle 10G Consistent (LOGMINER), however, I worked on the JKM Oracle Simple which is a trigger based KM. In this case, it will create only one SNP table SNP_SUBSCRIBER along with J$ table, JV$, JV$D views and T$ trigger. When I stop the journal , all these CDC componets except SNP_SUBSCRIBER are dropped. So, i customized the JKM Oracle Simple KM to drop the SNP_SUBCRIBER table provided there are no recordss in this table. In the sense, there are no other subscribers in this table. I have not implemented this at my work, but I did tried it in my per sonal computer. May be this would help you!
Regards,
kk

Similar Messages

  • Insert data into fact table from source database tables

    here i try to insert data into fact table from source database tables here is the query 
    ALTER procedure [dbo].[facttable]
    as
    insert into [pp dw].dbo.Dimfact(Prod_ID,Production_ID,Material_ID,Equip_ID,WC_ID,Recipe_ID,Quantity,costprice)
    select Products.[Product ID],[Production ID],Materials.[Material ID],[Equipment ID],[Work Centre ID],[Recipy ID],Quantity,[cost price]
    from
    [PRODUCTION PLANNING 2].dbo.[Products],
    [PRODUCTION PLANNING 2].dbo.[Production Detail],
    [PRODUCTION PLANNING 2].dbo.[Material category],
    [PRODUCTION PLANNING 2].dbo.[Materials],
    [PRODUCTION PLANNING 2].dbo.[Equipment],
    [PRODUCTION PLANNING 2].dbo.[Working Centre] ,
    [PRODUCTION PLANNING 2].dbo.[Recipies]
    where
    Products.[Product ID] in (13, 14, 15, 16, 17) and
    [Production Detail].[Production ID] in (1, 2, 3) and
    [Materials].[Material ID] in (1, 2, 3, 4, 5) and
    [Equipment].[Equipment ID] in (1, 2, 3, 4) and
    [Working Centre].[Work Centre ID] in (1, 2, 3) and
    [Recipies].[Recipy ID] in (1, 2, 3) and
    [Material category].[Category ID] in (8, 9, 10, 11, 12, 13)
    and when i execute query it shows me error 
    The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Dimfact_Dimproduct". The conflict occurred in database "pp dw", table "dbo.Dimproduct", column 'Prod_ID'.
    ERD IS
    HOW TO SOLVE THIS PROBLEM?

    I cant see any join conditions in your query posted. Whats the purpose of the query above. It will just bring you a cartesian product (cross join) of tables involved subjected to filters. Are you sure this is the correct query?
    The error you're getting may be because you've not yet populated DimProduct or may be because of logic you used in popultaing DimProduct causing it to miss some records which is what query is referring to in above case.
    Please Mark This As Answer if it solved your issue
    Please Mark This As Helpful if it helps to solve your issue
    Visakh
    My MSDN Page
    My Personal Blog
    My Facebook Page

  • Can we extract blob objects from sql database to a human readable format?

    Hi All,
    I have question How can we extract
    blob objects from Sql database to human readable format ?
    Blob includes Images, text and docs.
    Thanks 
    Moug
    Best Regards Moug

    One thing you can do if its sql 2012 or later is to load the blob data to FileTable created in database. Then you would be able to physically browse to directory it points and see all files in its native format.
    see this for more details
    http://visakhm.blogspot.in/2012/07/working-with-filetables-in-sql-2012.html
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Copy Users/Permissions/objects from a database to another database

    Can anyone help me how to copy users, permissions, stored procedures, views, functions and all other objects from one database to another database.
     I need a SQL Script to get this job done. I cannot use backup restore or SSIS Package.

    There's also a transfer sqlserver objects task available in SSIS
    http://www.mssqltips.com/sqlservertip/2064/transfer-database-task-and-transfer-sql-server-objects-task-in-ssis/
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Creation of a complex object from several databases?

    Hello!
    We need to have an ability to change certain property of the record, stored in the database, without reading the full record from the database, changing the property and updating the database with this new record. As far as I know there's no way for partial access to the record data (LOB access section from FAQ), so I am thinking in a bit different way - what if we keep the information of certain record in the different databases, and when we need to update some property of the record knowing the key - we will just update the appropriate database? This looks something similar to secondary databases when the secondary key is an alias for primary record - but in this case primary key would be referenced from several databases and it would be possible to specify which data from which database to obtain using the key?
    I think it could be created based on several custom object bindings now, or something like this.

    Eugene,
    If you update properties in different combinations and there is no logical way to group them to reduce the size of the operations, then it's not worth splitting up the record. That's up to you to determine.
    JE SecondaryDatabase and SecondaryCursor methods have overloaded signatures for returning the secondary key, primary key, and primary data, all in one method call. So I think you're confused about the method signatures -- the data parameter is always used to return the primary data.
    Note that internally whenever you read via a secondary, JE does two reads: one to read the secondary index and get the primary key, and another to read the primary index.
    There is no trick to get around doing multiple reads when you have relationships between different databases. Each primary and secondary database is an index or map (conceptually the same as a java.util.Map) that can be accessed by key or by iterating. Whatever you do must be built on top of map operations.
    The best way to think about data modeling is to think about maps and their keys, and the best way to think about how to do a query is to break it down into map operations. I say this because most Java programmers are familiar with maps and map operations, because java.util.Map is commonly used.
    The DPL (persist package) makes data modeling simpler to code and understand, because annotations can be used describe relationships between indexes. When using the DPL it is very clear that for every secondary index there is a secondary key, and that entity relationships are formed via secondary keys. However, the DPL model is still based on maps and map operations.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Type of object from a database date/time column

    Hello everyone,
    I've got a concern regarding the way in which coldfusion is
    treating date/time columns in a database.
    In my opinion when I select a column that is let's say
    timestamp type - the object in a query is CF's date/time object.
    I've checked the query by getMetaData() and it looks like each
    column has its own database type (eq. varchar2, date, etc).
    My concern comes from a fact that I've heard that Coldfusion
    is treating the date-time columns in a database as strings and in
    each case it parses them. So the difference in a locale between a
    database server and a Coldfusion server may result in a wrong
    date/time object.
    Example:
    Locale of database EU: yyyy/mm/dd
    Locale of Coldfusion US: yyyy/dd/mm
    The date like 1st of February 2007 stored in a database would
    look then in Coldfusion like: 2nd of January 2007
    Could someone please confirm which version is valid?

    Johnny852 wrote:
    > In my opinion when I select a column that is let's say
    timestamp type - the
    > object in a query is CF's date/time object. I've checked
    the query by
    > getMetaData() and it looks like each column has its own
    database type (eq.
    > varchar2, date, etc).
    if you already know cf is returning a datetime from a
    datetime in the db, what's
    the question?
    > My concern comes from a fact that I've heard that
    Coldfusion is treating the
    "fact"? unless the datetime is stored as a string, that's not
    a "fact".
    > Example:
    > Locale of database EU: yyyy/mm/dd
    > Locale of Coldfusion US: yyyy/dd/mm
    btw neither of your example "locales" are in fact locales.
    > The date like 1st of February 2007 stored in a database
    would look then in
    > Coldfusion like: 2nd of January 2007
    if you pass a numeric string representation (2/1/2007 for
    instance) of a date to
    cf, it will be interpreted via the cf server's "default"
    local (ie en_US,
    month/day/year) unless you use one of the LS functions like
    LSParseDateTime() &
    specifically set the the locale (like setLocale("th_TH")) or
    make the date
    non-ambiguous (2-feb-2007) or build the date yourself from
    user input using
    createDate() or createDateTime(). you just need to convert
    the user's string
    representation to a valid cf datetime object (or i guess
    force to database to
    follow the user's locale date mask).

  • Restore single datafile from source database to target database.

    Here's my issue:
    Database Release : 11.2.0.3 across both the source and targets. (ARCHIVELOG mode)
    O/S: RHEL 5 (Tikanga)
    Database Storage: Using ASM on a stand-alone server (NOT RAC)
    Using Oracle GG to replicate changes on the Source to the Targets.
    My scenario:
    We utilize sequences to keep the primary key in tact and these are replicated utilizing GG. All of my schema tables are located in one tablespace and datafile and all of my indexes are in seperate tablespace (nothing is being partitioned).
    In the event of media failure on the Target or my target schema being completely out of whack, is there a method where I can copy the datafile/tablespace from my source (which is intact) to my target?
    I know there are possibilites of
    1) restore/recover the tablespace to a SCN or timestamp in the past and then I could use GoldenGate to run the transactions in (but this could take time depending on how far back I need to recover the tablespace and how many transactions have processed with GG) (This is not fool-proof).
    2) Could use DataPump to move the data from the Source schema to the Target schema (but the sequences are usually out of order if they haven't fired on the source, get that 'sequence is defined for this session message'). I've tried this scenario.
    3) I could alter the sequences to get them to proper number using the start and increment by feature (again this could take time depending on how many sequences are out of order).
    I would think you could
    1) back up the datafile/tablespace on the source,
    2)then copy the datafile to the target.
    3) startup mount;
    4) Newname the new file copied from the source (this is ASM)
    5) Restore the datafile/tablespace
    6) Recover the datafile/tablespace
    7) alter database open;
    Question 1: Do I need to also copy the backup piece from the source when I execute the backup tablespace on the source as indicated in my step 1?
    Question 2: Do I need to include "plus archivelog" when I execute the backup tablespace on the source as indicated in my step 1?
    Question 3: Do I need to execute an 'alter system switch logfile' on the Target when the recover in step 6 is completed?
    My scenario sounds like a Cold Backup but running with Archivelog mode, so the source could be online while the database is running.
    Just looking for alternate methods of recovery.
    Thanks,
    Jason

    Let me take another stab at sticking a fork into this myth about separating tables and indexes.
    Let's assume you have a production Oracle database environment with multiple users making multiple requests and the exact same time. This assumption mirrors reality everywhere except in a classroom where a student is running a simple demo.
    Let's further assume that the system looks anything like a real Oracle database system where the operating system has caching, the SAN has caching, and the blocks you are trying to read are split between memory and disk.
    Now you want to do some simple piece of work and assume there is an index on the ename column...
    SELECT * FROM emp WHERE ename = 'KING';The myth is that Oracle is going to, in parallel, read the index and read the table segments better, faster, whatever, if they are in separate physical files mapped by separate logical tablespaces somehow to separate physical spindles.
    Apply some synapses to this myth and it falls apart.
    You issue your SQL statement and Oracle does what? It looks for those index blocks where? In memory. If it finds them it never goes to disk. If it does not it goes to disk.
    While all this is happening the hundreds or thousands of other users on the database are also making requests. Oracle is not going to stop doing work while it tries to find your index blocks.
    Now it finds the index block and decides to use the ROWID value to read the block containing the row with KING's data. Did it freeze the system? Did it lock out everyone else while it did this? Of course not. It puts your read request into the queue and, again, first checks memory to see if it needs to go to disk.
    Where in here is there anything that indicates an advantage to having separate physical files?
    And even if there was some theoretical reason why separate files might be better ... are they separate in the SAN's cache? No. Are they definitely located on separate stripes or separate physical disks? Of course not.
    Oracle uses logical mappings (tables and tablespaces) and SANS use logical mappings so you, the DBA or developer, have no clue as to where anything physically is located.
    PS: Ouija Boards don't work either.

  • Mapping of objects from source system to BW

    Hi Experts,
      Here is a problem in my source system I declared objects as ZTECHNICAL  but while defining in BW as it will not accpet more than 9 characters so I named it as ZTECNICAL here does it matter for the mapping of the object to ZTECHNICAL to ZTECNICAL.
    ZTECHNICAL IN SOURCE SYSTEM
    ZTECNICAL IN BW.
    Thanks in Advance.
    Vassu.

    Hi Vasu,
    It deos not matter as long as you map the same info-object to the same fields from the source system.
    For example Company Code BUKRS in R/3 is always mapped to 0COMP_CODE info-object in BW.
    No issue. Go ahead.
    Bye
    Dinesh

  • Migration - dropping multiple objects from captured database

    Hi,
    I am doing some migrations from MSSQL to Oracle using SQL Developer. So far I have found it to be a great tool and very useful.
    However one area I can't seem to figure out is the step between capturing the database and converting it to the Oracle schema. I have captured my MSSQL database and can view it in the "Captured Objects" window - at this point there are a number of objects (e.g. tables and views) that I ether need to drop or rename. I can click on each one individually and do this, but this takes time and is rather laborious. If I multi-select some objects the option to drop the object disappears. Is there some way to drop multiple objects?
    Ideally I'd like to be able to open up a SQL Worksheet and point it at the captured database so I could manipulate the objects with SQL, is that possible? (I could not see a way of doing it).
    Thanks in advance.

    Hi;
    What is DB version? Is there any additional info at alert.log?
    Please see:
    Error ORA-29533 or ORA-29537 When Loading a Java Class File into the Database. [ID 98786.1]
    Regard
    Helios

  • How can I drop the java objects from a schema

    hi..good afternoon all...
    How can I drop the java objects from a database schema???
    suppose the credentials are scott/tiger@db1
    Another thing is that...I have to do this from cmd(command prompt) as there is no plsql developer or sqldeveloper installed in the machine.
    plss help...thanks in advance...

    hi...i have already tried all the options..but it is showing the error..
    ora:01435 - user does not exist
    but when i have given the command...
    select object type, object_name, status from user_objects where object_type like'%JAVA%';
    then it is showing that the java_object is present....
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    SQL>
    SQL>
    SQL>
    SQL> set linesize 200
    SQL>
    SQL>
    SQL>
    SQL> select object_type, object_name, status from user_objects where object_type
    like '%JAVA%';
    OBJECT_TYPE OBJECT_NAME
    STATUS
    JAVA CLASS javaclass1
    VALID
    JAVA SOURCE javaclass1
    VALID
    SQL> drop java source javaclass1.java;
    drop java source javaclass1.java
    ERROR at line 1:
    ORA-01435: user does not exist
    SQL>

  • Moving objects from one schema to another

    Hi,
    again as part of my learning exercise, I was trying to move objects from a schema in 10GR2 to 11GR2 database.
    I am able to use exp and imp commands to achieve this objective -
    On source database -
    $> exp userid=scott/tiger owner=(schemaname) file=data.dmp statistics=none
    Copied the dump file on target server and then
    $> imp userid=scott/tiger file=data.dmp fromuser=uname touser=scott
    And this works fine.
    What I am not able to understand is how I can achieve this by using datapump instead?
    Your help is much appreciated.
    Thanks.

    Thanks.
    Worked perfectly.
    This is what I did (in case someone is in my position)-
    On source database-
    expdp scott/tiger schemas=<source schema>directory=DATA_PUMP_DIR dumpfile=data.dmp job_name=some_job
    Copied dump file to target server.
    On target database-
    $> impdp scott/tiger directory=DATA_PUMP_DIR dumpfile=data.dmp remap_schema=<source schema>:<target schema> job_name=imp_kob

  • Loading an Image from the database and display it on browser

    I do not know if this is even possible.
    At the moment, to load an image inside an Html page you need to use the <img src=""> tag. and in the src you put the path of the image. Now I would like to save an image inside the database.
    An option to still display the image on the browser would be that my service object, would load the object from the database (saved as blob) then save it somewhere on the Server, and the still use the <img> tag to load the image from that location.
    However I was wondering wheather there is another way to do it without saving this image on the server. that is loading the bytes from the database (or a location on the server) and provided these bytes to the jsp page to display the image.
    Is this possible? or?
    regards,
    sim085

    hmm ... ok .. that sounds good .. but that means that
    a servlet must exsist at all time to display the
    required image.Servlets are usually instantiated by the servlet container upon an incoming request.

  • [SAP CRM] How to get just the hit count of objects with a database query?

    Hello,
    i need help. For performance reasons I dont want to get the query result with all the objects from the database. I just want to send a request / query to the database in order to know how many entries are there available with my search parameters.
    At the moment I load all the objects via class cl_crm_bol_dquery_service and the method get_query_result in an internal collection. And after that I call the method size in my collection object. But to gain better performance I just want to know the count. With standardized select statements I would take the select count statement, but in this case it is not possible.
    So I tried to call the retrieve_hit_count method, but I will receive the exception cx_sy_no_handler anytime.
    I would be very pleased to receive an answer <removed by moderator>.
    Thank you very much!
    Marcus
    Edited by: Thomas Zloch on Feb 16, 2011 1:45 PM - priority normalised

    It will be 0 before the call method statement and 1 during exception handling.
    The exception starts in CL_CRM_BOL_DQUERY_SERVICE=>RETRIEVE_HIT_COUNT when the system tried to perform the following statement:
      Return hit count if already available
        rv_hit_count = me->handle->get_hit_count( ).
    The handle variable seems to be empty. But why?
    Edited by: Marcus Findeisen on Feb 17, 2011 9:24 AM
    Edited by: Marcus Findeisen on Feb 17, 2011 9:27 AM

  • How to remotely control objects from transport request

    Hi all,
    I have to perform some task but can't find the way to get it done. What I have to do is:
    a) get list of transport requests for given SAP system (i.e. its import queue)
    b) let the user choose transport requests from the list
    c) get list of all objects from chosen transport requests
    d) control these objects in source and destination (from point a) ) SAP system. 
    Points a) to c) are easy and already done (using appropriate function modules and ALV objects). But I have no idea how to do things from point d). Control means comparison of dates (i.e. last modified) of objects in source and destination SAP system. The main goal of this approach is to avoid transportation of older objects from source system (DEV) and overwritting newer versions of the objects in destination system (PRD). I tried to use SAP versioning system to check versions remotely (the same way as it can be done from standard SAP transactions, e.g. SE38 for program source) with RFC and it worked fine (see function module SVRS_DISPLAY_REMOTE_DIR). But what about other objects not covered with versioning system? There are 932 objects that can be transported (at least TR_OBJECT_TABLE function module says so). Versions management system covers about 30 (program source, function module, object methods, table definitions, lock objects, and so on) of them. The problem is with the rest (900 transportable objects).
    How can I check their dates remotely in source and destination SAP system. Any clues? Manual retrieval of the information about dates of 900 various SAP elements must be very difficult (if possible at all) because so many objects must be spreaded out in many tables. Is there any universal or standard way (report, RFC function module) to get required information?
    Thanx in advance,
    Jacek Witczak

    Hi
    There is no automatic way to delete the unnecessary objects from the transport reqeust.
    1. Go to Tcode se09 and select the request which contains the unnecessary objects.
    2. Select the unnecessary objects and delete manually.
    Also if you want to delete the entire request then unlock the request in the tcode SE03 and then delete the request completely.
    Also note that if the request is released then you will not be able to delete the objects in that request.
    Hope it helps.
    Regards
    Sadeesh

  • How do you know the object is from another database through db link

    I have a table named a2z_people. I searched dba_objects, I found this is a public synonym.
    How can I know the real table name in the another database. Where is this table come from? In another words, what's the source database?
    Thanks!

    In DBA_SYNONYMS, there is a DB_LINK column that names the database link being used (assuming the real object is on a remote database). Is that what you're looking for?
    Justin

Maybe you are looking for