Audit of the tables - what are the best ways to do so?

Hi all

DB version: 10g.

Brief description of the problem: at the moment, I'm working on an application that has a java interface and oracle
back-end. We have no access to the java code at all. So, it's a complete black box. . I was wondering, if I could go for a trigger level diagram to know which tables columns are altered on certain measures to the interface. Or, if I know the tables specifically, let's say A tab and tab B. I should go to a level trigger line on them, instead of going a
schema level trigger. What approach will be the best? If possible, would you please point me to some code examples
for each of them.

Thank you.

http://www.Oracle.com/pls/db102/search?remark=quick_search&Word=audit&tab_id=&format=ranked

Tags: Database

Similar Questions

  • What is the best way to have an indicator that scrolls the content of a table that is updated during the execution of a program?

    I have a program that runs continuously. During this time the errors are produced and I store them in a table. What is the best way to display the table in a window that the user can scroll upwards or downwards, while the program is running?

    Thank you.

    Hi chuck,

    If allowing you to feed two tables to the table you will see also all of these channels in the table

  • What is the best way to deal with a 'Implicit coercion' in a table to a sprite?

    Hi all!

    With the continued support of this forum, I'm getting closer to have a programme of work. I can't wait to be able to help others like me once I've finished learning the ropes of AS3.

    I'll briefly explain what I want to achieve and then followed with my question.

    Background

    I created a random number of 12 x 9 grid that fills each cell with an image, based on the numeric value of each cell. I also have a random play button that makes random numbers in the grid. The problem I am running became my click event of button to erase the current images off the grid in order to allocate the new (for example by removing the objects display battery in order to place the new ones in the same places).

    Question

    My question is this: what is the best way to manage an implicit constraint from a table to a sprite? I pasted my complete code below so that you can see how the functions are supposed to work together. My sentence is apparently not being able to use a value from array with a sprite (sprite represents the real layout of the grid on the pile of display while the table starts as a number that is assigned an image that must be transmitted to the sprite).

    ============================================================================

    package
    {
    import flash.display.MovieClip;
    import flash.display.DisplayObject;
    import flash.events.MouseEvent;
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.utils.getDefinitionByName;

    SerializableAttribute public class extends MovieClip Blanko
    {
    Contains 12 * 9 grid of cells.
    var grid: Sprite;
    Maintains the shuffle button.
    var shuffleButton:Sprite;
    Is equal to 12 columns, 9 lines.
    var cols: int = 12;
    lines of the var: int = 9;
    Equal number of grid cells (108).
    cells var: int = COL * rows;
    Sets of cell width and height to 40 pixels.
    var cellW:int = 40;
    var cellH:int = 40;
    Contains 108 images of cell.
    var imageArray:Array = [];
    Contains 108 numerical values for the cells in the grid.
    var cellNumbers:Array = [];

    Constructor calls the functions "generateGrid" and "makeShuffleButton".
    public void Blanko()
    {
    generateGrid();
    makeShuffleButton();
    }

    Creates and displays the grid 12 * 9.
    private function generateGrid (): void
    {
    grid = new Sprite;
    var i: int = 0;


    for (i = 0; i < cells; i ++)
    {
    cellNumbers.push (i % 9 + 1);
    }
    trace ("before shuffle:", cellNumbers);
    shuffleCells (cellNumbers);
    trace ("after shuffle:", cellNumbers);
    var _cell:Sprite;

    for (i = 0; i < cells; i ++)
    {

    / / This line is where the implicit constraint occurs. '_cell' is a leprechaun trying

    on a temporary basis equal to a value from array.
    _cell = drawCells (cellNumbers [i]);
    _cell.x = (I % cols) * cellW;
    _cell.y = (I / COL) * cellH;

    grid.addChild (_cell);
    }
    }

    Creates a "shuffle" button and adds a mouse click event.
    private function makeShuffleButton (): void
    {
    var _label:TextField = new TextField();
    _label. AutoSize = 'center ';
    TextField (_label) .multiline = TextField (_label) .wordWrap = false;
    TextField (_label) .defaultTextFormat is new TextFormat ("Arial", 11, 0xFFFFFF, "bold");.
    _label. Text = "SHUFFLE";
    _label.x = 4;
    _label.y = 2;
    shuffleButton = new Sprite();
    shuffleButton.graphics.beginFill (0 x 484848);
    shuffleButton.graphics.drawRoundRect (0, 0, _label.width + _label.x * 2, _label.height +)
    _label.y * 2, 10);
    shuffleButton.addChild (_label);
    shuffleButton.buttonMode = shuffleButton.useHandCursor = true;
    shuffleButton.mouseChildren = false;
    shuffleButton.x = grid.x + 30 + grid.width - shuffleButton.width;
    shuffleButton.y = grid.y + grid.height + 10;
    this.addChild (shuffleButton);
    shuffleButton.addEventListener (MouseEvent.CLICK, onShuffleButtonClick);
    }

    Erase the images of the cell, mix of their numbers and then assigned these new images.
    private function onShuffleButtonClick (): void
    {
    eraseCells();
    shuffleCells (cellNumbers);
    trace ("after shuffle:", cellNumbers);


    for (var i: int = 0; i < cells; i ++)
    {
    drawCells (cellNumbers [i]);
    }
    }

    Deletes any existing cells in the battery of the display image.
    private void eraseCells(): void
    {
    While (imageArray.numChildren > 0)
    {
    imageArray.removeChildAt (0);
    }
    }

    Changes cell phones numbers (makes random table).
    private void shuffleCells(_array:Array):void
    {
    var _number:int = 0;
    var _a:int = 0;
    var _b:int = 0;
    var _rand:int = 0;

    for (var i: int = _array.length - 1; i > 0; i-)
    {
    _rand = Math.Random () * (i - 1);
    _A = _array [i];
    _B = _array [_rand];
    _ARRAY [i] = _b;
    [_Rand] _ARRAY = _a;
    }
    }

    Retrieves and sets a custom image to a cell based on its numerical value.
    private void drawCells(_numeral:int):Array
    {
    var _classRef: Class = Class (getDefinitionByName ("skin" + _numeral));
    _classRef.x = 30;
    imageArray.push (_classRef);
    imageArray.addChild (_classRef);
    return of demonstration;
    }
    }
    }

    ===========================================================================

    Any help with this is greatly appreciated. Thank you!

    If you want to have an array of Sprites that you later clear that is fine. But this does not mean that your function should return to it.

    You need your function to return the sprite so that you can add it to the display list and everything what you need.

    So just have the function get Sprite, push it in the "toBeClearedInTheFutureArray" and then return a reference to the currently acquired sprite.

  • I have been using Photoshop CS5 for some time for photos products (jewelry). What are my best options to get the last Photoshop.

    I have been using Photoshop CS5 for some time for photos products (jewelry). What are my best options to get the last Photoshop.

    Hi michaelb.

    You can subscribe to Plan photography for $9.99 a month, which will give the latest version of Photoshop CC 2015, CC 2015 Lightroom and Adobe Bridge.

    Lightroom and Photoshop | Plan of cloud of Adobe's creative photography

    Kind regards

    Mohit

  • What is the best way to refresh the table after autosubmit (10.1.3.4)

    What is the best way to refresh the table after autosubmit?

    I have a page that contains a table where if one of the fields is changed it autosubmitted where the view object changes some attributes, based on the field having been changed. I need these modified attributes that appear in the table. But without doing anything, the only way to see these values is to cause the iterator updated table.

    I've been refreshing the table is having a method in a grain of beacking called "getSystemSettingIter.getCurrentRow ();". This seems to be a bit of a hack for me and I was wondering if there is a better way to get the table to update.

    Thanks in advance!

    Have you tried setting between the two partial page refresh?
    http://www.Oracle.com/pls/as111120/lookup?ID=ADFUI385

    http://download.Oracle.com/docs/CD/E15523_01/Web.1111/b31974/web_form.htm#CACEIEEI

  • What is the best way to get a Table name in Oracle Applications: 12.1.1 (web)

    Hello friends...


    I need your help my friends...


    We are currently working on Oracle Applications: 12.1.1

    I would like to know the best way to get the name of the Table to form based on a Web...


    Concerning

    Yas.

    Hello

    Please see this thread and documents referenced in it.

    RECORD HISTORY (or) COLUMNS in R12?
    RECORD HISTORY (or) COLUMNS in R12?

    Kind regards
    Hussein

  • What is the best way to get the minimum or maximum of a table of numbers value?

    Let's say I have a table of numbers: [2,3,3,4,2,2,5,6,7,2]

    What is the best way to find the minimum or maximum value in the table?

    Now, just get the maximum, I'm a loop in the table and reset a variable to the value if it is greater than the existing value:

    What I ended up doing was sorting table (descending to MAX) upward for MIN and then grabbing the first element of the array. Works like a charm in very few lines of code.

    Thank you.

  • INTERFACE design - what is the best way to allow the user to define a kind of infusion at various times (non-periodic)?

    I want to allow the user to specify a curve like this:

    Such as some under - VI shows the A2 value when a variable of time is between R1, A1 when the time variable is between A2 and A3 when time is in the range A3.

    My design looks like this:

    With the error checking that looks like this:

    My question is, is the approach of the table according to optimal? Otherwise, how could combat this?

    I think I can summarize the conversation on this point as a response to the original question (what is the best way...) -to start writing code, to think about what you want to accomplish and write it down (otherwise known as 'Write the first Documentation').  One of the points of a good User Interface is that it is not allow users to "stupid mistakes" - it leads the user "by hand", limiting the entries to the "legal values" and demanding that the entries be made logically.

    If you were going to have a list of Infusions to enter, it is therefore logical to decide or not to enter into time intervals (which are always > 0) or order the times (which, logically) are still growing.  You can (and should) decide that you (or you may have a control that allows the user decide, but maybe it's too flexible) and then apply your "rules".

    Let's say you've decided on "Intervals" (which seems to me to be more User Friendly).  After the user has entered the intervals (and you've provided a nice plot of perfusion vs. time), pouvez allow you the user to an interval of 'split', 'Delete' an interval, or "Edit the Infusion" interval, or you can decide to have a choice more simple "accept or start again" - If you have only a few intervals, the last would be the simplest (and therefore best) design choice.

    Spend more time thinking before coding usually pays Big dividends!

    (Speaking of sad experience) Bob Schor

  • What is the "best way" to see all the 'hooks' that affect the database?

    Hi all

    I'm responsible for exporting all schemas using the data pump and then re - import the scehmas, yet once so we can reorganize the real table spaces.

    I know that this can be done using grid 12 c, but I'm not sure I want to use this feature for this task.

    Anyone who has used the feature of grids to 'keep the tables' and then re - organize them while they are still online?

    I'll have to finally make it to the PROD database and I am concerned about the "break" out of jobs, items, ect, ect.

    What is the "best way" to do a proper verification of all database objects and or work, that the export/import might pipe upward?

    As I did for example, a simple count on all objects and of course excludes "SYS and SYSTEM" and the County was in close 60 000 objects.

    How do I know all 'hooks' that are inside the database? What is the way that do you?

    Thank you

    Lady Allora.

    Hi, Justin.

    I think that's what I'm going the way of...

    Select os_username, username, OWNER, dba_audit_trail SQL_TEXT

    where rownum<>

    where username <> 'SYSTEM '.

    and also have different variations all asking questions them the same point of view...

    Modes of verification do you find useful?

    Also I'm using something like this as well.

    Select "check standard", sessionid,

    proxy_sessionid statementid, entryid, extended_timestamp, global_uid,

    username, client_id, null, os_username, userhost, os_process, terminal,

    instance_number, owner, obj_name, null, new_owner,

    new_name, action, action_name, audit_option, transactionid, returncode,

    SNA, comment_text, sql_bind, sql_text,

    obj_privilege, sys_privilege, admin_option, dealer, priv_used,.

    ses_actions, logoff_time, logoff_lread, logoff_pread, logoff_lwrite,

    logoff_dlock, session_cpu

    Of

    dba_audit_trail

    where rownum<>

    order extended_timestamp;

    Thank you

    Lady Allora.

  • What is the best way to store the RCS for an insert/update in this rec

    Oracle on Win 64 non-conteneur 12.1.0.2

    When a record in one table is inserted or updated, what would be the best way to store the RCS for this record in this folder.

    I thought of a line after trigger, but did not know if this trigger to store the current_scn would still fire that trigger again (recursive trigger).

    Someone at - he a good idea of what the best way is to do?  The devs don't want to store the pk and the SNA in yet another table...

    Yes, row_dependencies would be the best way to go.  But mgmt doesn't recreate all tables for this.

    3rd party applications retrieve data from tables (all data).  We are looking for a way for them to just pull what is new or updated updated since their last sweater.

    I suggest that you try again and give all OF THE REQUIREMENTS.

    You have rejected ANY answer given and he justified using 'hidden' on what knowledge management or the devs want or do not want to. Stop making us guess what are the requirements and constraints. If you want a real answer then tell us ALL the news.

    When a record in one table is inserted or updated, what would be the best way to store the RCS for this record in this folder.

    Solomon answered repeatedly. If you want to add a column to a table to store the then "best" SNA is to let the Oracle to do this for you automatically by using the DEPENDENCY LINE.

    As he says also re-create the table to add this clause will be MUCH MORE EFFECTIVE that everything THAT you can do it manually. It will be also more accurate because Oracle will fill the value ORA_ROWSCN with the SNA at the time the line was committed. You, as long as user, can't fill a column in function when a line is engaged since real VALIDATION belongs to a transaction, not the line or the trigger that you use.

    Yes - there are two drawbacks to this method:

    1. you need to re-create the table

    2. you cannot add an index to this "hidden" column

    The devs don't want to store the pk and the SNA in yet another table...

    Then? Who cares what the devs want to do? You want the BEST solution? Next, you will need to put aside personal preferences and determine what is the 'best' solution. Why it is important that certain dev wants to do this or not?

    OK, the problem of biz is now, 3rd party external users are an all-wheel drive large number of tables in the database via the API that we wrote.  That was obviously interrupted OLTP during the day.  To reduce to the minimum, we want for them just to extract data that has been inserted/updated since their last sweater.

    It is the definition of a "replica" DB Then why don't you consider a real replicated DB? You can use DataGuard and have replicated DB which is read only that can be used to generate reports. Oracle does ALL the work to keep ALL the tables in sync. You and your developers do NOTHING!

    We thought that store the RCS higher their last sweater would allow the API to extract only data with YVERT higher than their last data pull CHN.

    OK - except you keep rejecting solutions actually do. Ask you questions about the SNA stored in the same table, but then reject the solution that does this. And then you add your "devs" don't want to store the info in a new table either.

    Then your solutions must ONLY use the replication or Log Miner. The REDO logs have all changes, if you want to extract yourself. Replication (e.g., DataGuard) will use these logs for you to maintain a replicated database.

    We thought about it, but recreate all tables in production with ROWDEPENDENCIES as well as dealing with CF and other dependencies idea this was shot.

    Well you NEVER mentioned you "thought that" and rejected it. And you NEVER mentioned anything about FKs and other dependencies. What is FKs and other dependencies which prevents this working solution? Tell us! Give us ALL the information.

    Wouldn't a trigger AFTER LINE capture the commit YVERT?  Or is after really not after validation?

    No - a trigger has NOT one commit. A trigger runs as a step in a transaction. Validation applies to the entire transaction. Until you, or Oracle, issues a commit, there is NO "committed SNA" to be stored as ORA_ROWSCN.

    You can easily see that for yourself. Create a simple table with dependencies of the line and then update two different sessions.

    create the table emp_scn rowdependencies in select * from emp where rownum<>

    Select empno, emp_scn ora_rowscn

    Update emp_scn set work = 'b' where empno = 7499

    commit;

    The first SELECT statement will show you that each row has the same SNA.

    EMPNO, ORA_ROWSCN

    7369,70622201

    7499,70622201

    7521,70622201

    Now, do the update (but no commit), then SELECT it

    EMPNO, ORA_ROWSCN

    7369,70622201

    7499,

    7521,70622201

    Where is the value of 7499? This session will NOT see a value for the changed lines in the current transaction. Other sessions will still see the old value.

    Now do the validation, then SELECT

    EMPNO, ORA_ROWSCN

    7369,70622201

    7499,70622301

    7521,70622201

    7499 now has a new and different value than the other lines. It will not be this new value until the validation occurs.

    Yes, row_dependencies would be the best way to go.  But mgmt doesn't recreate all tables for this.

    Well, you got the answer you want. You ask the best way. Now, you say that you were told the best way. But now you don't like the answer.

    How is it our fault? Your question has been answered wasn't she?

    Here are the facts:

    1 oracle creates a history of changes - the REDO log files

    2. you can use Log Miner to extract these changes

    3. you can create your own change log by adding a log file of MV to your table.

    4. you can then write a custom code to use this MV log file to determine which rows to "reproduce".

    So far reject you all THE POSSIBLE solutions.

    Accept it or change the requirements to allow one of the solutions proposed to be used.

    Personally, if I HAD to use a customized solution, I would use a MV journal to record the ROWID of the lines that have changed (for tables ROWID cannot be changed). I would then extract the appropriate lines by pulling on the lines corresponding to these row ID.

    Even that has problems since a line can be changed several times and children lines can also be amended several times - these questions FK you mentioned.

    I suggest you read this entire thread on AskTom a dozen years ago. It addresses ALL these issues.

    https://asktom.Oracle.com/pls/Apex/f?p=100:11:0:P11_QUESTION_ID:16998677475837

    Then in your next reply on this topic give us a summary of where some things with your question and what help you further expect.

  • What is the best way to get a customized version # from an ESXi host?

    Each quarter, we generate a sequence of updates (including patches and security scripts) which are performed manually on our 5.0 ESXi hosts. I don't have an internet connection and so I have to do it this way.  I would like to be able to identify the last quarterly update that has been run on the vCenter servers and/or Client VI.

    Right now, I think adding the quarter, example 1 Q 13 on the DCUI message, then help PowerCLI, vCenter to retrieve the message DCUI, crawled and paste the quarter in the field host Annotations on vCenter.

    Kind of ugly, but I cannot find a cool way to get data like this outside of the host.  I don't want to rely on my user manually set to nothing, for example the field of Annotations on vCenter that is also subject to errors.

    I really want something that can also be seen on the VI Client, too, as the annotations are only on vCenter.

    I have ideas about the best approach to tackle this problem.

    Thank you

    Not sure if this is the best way, but that's what I ended up doing.   It feels like there should be a better way.

    I've updated my quarterly script to add the version number at the bottom of the file, / etc/vmware/welcome, whenever it is run on an ESXi host (e.g. myScript version: v1.0 Date: 04June2013).  This file appears under the banner DCUI.

    Then, I wrote a script powerCLI to roughly the following:

    foreach ($vmHostObj in Get-VMHost-name *) {}

    # Get the full message of DCUI in/etc/vmware/welcome

    $msgObj = echo $vmHostObj | Get-VMHostAdvancedConfiguration-name Annotations.WelcomeMessage

    # Convert a hash of a string table welcome message

    $msgTxt = echo $msgObj.Item ("Annotations.WelcomeMessage")

    # find the clue for the string containing my script information, which is at the end of the welcome message.

    # This is important because the substring below function will extract everything after the index.

    $idx = $msgTxt.IndexOf ("version myScript :")

    If ($idx - gt 0) {}

    $label = $msgTxt.Substring ($idx)

    Set Annotation - remarks on the entity $vmHostObj - CustomAttribute - value $label

    }

    }

    This replaces the Notes field for each host, one day I can go back and make it more user-friendly where it replaces the version leaving the rest of the field notes intact.

  • What is the best way to check the data

    What is the best way to check the actual changes in the data, i.e., to be able to see each insert, update, delete on a given line, when it happened, who did it, and what looked like to the front row and after the change?

    Currently, we have implemented our own audit infrastructure where we generate standard triggers and an audit table to store the OLD (values at the beginning of the Timekeeping point row before) and NEW (values at the beginning of the point of timing after line) values for each change.

    I put this strategy due to the performance impact there (important say least) and because it's something that a developer (confession, I'm the developer) came with, rather than something is a database administrator came with. I looked in the audit of the Oracle, but it doesn't seem like we would be able to go back and see what a line looked like at some point in time. I also watched flashbacks, but this seems like it would take a monumental amount of storage just to be able to go back a week, much less the years currently keep us these data.

    Thank you
    Matt Knowles

    Published by: mattknowles on January 10, 2011 08:40

    mattknowles wrote:
    What is the best way to check the actual changes in the data, i.e., to be able to see each insert, update, delete on a given line, when it happened, who did it, and what looked like to the front row and after the change?

    Currently, we have implemented our own audit infrastructure where we generate standard triggers and an audit table to store the OLD (values at the beginning of the Timekeeping point row before) and NEW (values at the beginning of the point of timing after line) values for each change.

    You can either:
    1. set up your own audit custom (as you do now)
    2 flashback Data Archive (11 g). Application for licence.
    3 version check your tables with Workspace Manager.

    >

    I put this strategy due to the performance impact there (important say least) and because it's something that a developer (confession, I'm the developer) came with, rather than something is a database administrator came with. I looked in the audit of the Oracle, but it doesn't seem like we would be able to go back and see what a line looked like at some point in time. I also watched flashbacks, but this seems like it would take a monumental amount of storage just to be able to go back a week, much less the years currently keep us these data.

    Unfortunately, the audit of data always takes a lot of space. You should also consider the performance, as custom triggers and Workspace Manager will perform much slower than the FDA if there is heavy DML on the table.

  • What is the best way to display a large number of records?

    I have about 12000 registry to commit to dababase.
    What is the best way to do it?

    Which depends on?

    Today I can't commit so many registry... The dabatase seems hanged!

    Thanks in advance

    Xavi says:

    Today I can't commit so many registry

    It should be possible to insert tens of thousands of lines in a few seconds using an insert even with a complex query as the view object and validation at the end.

    SQL> create table t as select * from all_objects where 0 = 1;
    
    Table created.
    
    Elapsed: 00:00:00.03
    SQL> insert into t select * from all_objects;
    
    32151 rows created.
    
    Elapsed: 00:00:09.01
    SQL> commit;
    
    Commit complete.
    
    Elapsed: 00:00:00.00
    

    I meant RECORDS instead of REGISTERS.

    Maybe that's where you're going wrong, records are to put on the turntables.

  • What is the best way to consolidate e-mail messages in the e-mail program, before deleting?

    I have an iMac with a capacity to 1.11 - 679,49 GB available. With the software updated.

    Model name: I

    I have emails out of my different accounts in a "random" folder, but is not free up space. If I move an email in "Archives" and then it always remains in the e-mail account, apparently duplicate email in two places. "

    ERGO: the question is...

    What is the best way to consolidate e-mail messages in the e-mail program, before deleting?

    (I hope I've inserted which may be useful, but I'm not sure about that.)

    Thank you

    ilenefrombaltimore

    Archive messages or move them to some other local mailboxes or mailboxes on the server. Don't know what you are trying to do because it appears that you have 2/3 of your hard disk.

    Why do you think archiving emails in 2 places? Where are you trying to save space to?

  • What is the best way to sync contacts with a host of webdav?

    I use Thunderbird and Contacts Android as of client applications with an owncloud 8 hosted remotely. I have activated the application Contacts on Owncloud and now I want to sync the contacts between these systems. What is the best way to do it?

    I try to get sorted first Thunderbird. I tried Addressbooks Synchronizer, but currently, it gives me a message telling me that my credentials are wrong or is sitting silently, do nothing. I am aware that it is a file synchronization, the method of synchronization not saved, so it is not ideal, in any case.

    Is there a better, good timing, method I can use? I refuse to the thing that he is an unreasonable request or that no one asked before me, but I can't seem to find the answer.

    Thanks, Martin

    WebDAV my initial reaction was sogo connector.
    These guys recommend the same http://kb.mozillazine.org/Sharing_address_books

    Here http://www.sogo.nu/english/downloads/frontends.html

  • What is the best way to ensure that there is no virus

    Hi guys,.

    Thanks for your reply,
    I believe that my laptop has a virus or spyware. It is slow and take ages to get up. Also during the use of internet Explorer is very slow in browsing the internet.

    During the use of msn chat voice sometimes it freezes.

    What is the best way to be sure that there are no viruses.
    I already have Norton 2007 with the last update.

    Thank you

    Hello

    > What is the best way to ensure that there are no viruses?

    The best way is to use an Antivirus application and some Anti-malware and Trojan applications.
    You already use the Norton Antivirus program. It is very good. Remember that this application is always up-to-date.
    Additionally, you could install Adaware. It is freeware tool and it scans your operating system for malware.

    But the virus or malware is not always a reason for a BONE of freezing.
    Please check your processes that are run in the context of the BONE. You can also use the application called CNettoyez.
    It scans you BONES of this situation and repair the registry.

    Maybe it helps

Maybe you are looking for