Generic query on documenting and maintaining schema changes -Oracle 10g

Hi All,
This is a generic query and i was not getting any particular forum here to put this for suggestions and help.i have put this in the documentation forum also but havent got any inputs.
Could you all please advise a good and easy way I can store all db related stuff including every detail and minutest change done.
I work as a Oracle-DB developer and it has been particularly difficult to keep track the changes very much.
We have a Development pipeline(a code base for development),Testing pipeline(another code base-for Testing)
and then comes Production Deployment(another one for clients)
Presently,we have all our DDL,SQL,etc everything scripts stored in a sort of shared location but keeping them updated with every change done
in any of the above pipelines is very difficult and I end up finding discrepencies between the stored versions and what is in Testing and Production.
I typically spend a good deal of time doing comparing the entire scripts,schema changes to try to figure out what the right and latest version of a script should be.
So,need your inputs on any particular free tool,best practises and good process for tracking easily and also maintaining db changes.
--Thanks
Dev

The problem with most configuration management systems is that they were made for files, not database objects. Files such as dlls get replaced by the new version upon deployment, but database tables do not. Tables get upgraded with alter scripts. So if you want to maintain create table scripts, you need to upgrade them with every change, as well as creating alter table scripts.
For a free configuration management system, see http://subversion.tigris.org/. Such software will also do file comparisons including version comparison.
For comparing installation scripts to existing schemas, I would create a new schema with the installation script and then compare that new schema to an existing schema using the schema comparison feature in Toad or PLSQL Developer.
Alternately, you can forget about maintaining installation scripts and just take an export without data from your production or test schema whenever you need to create a new installation. You can also extract DDL from prod using the dbms_metadata package. Embarcadero Rapid SQL was also good for extracting DDL.

Similar Messages

  • SPAU query for documentation and maintainance and transport object

    Hi All,
    I am working on upgrade using SPAU. In without modification assistant there are two nodes and objects in red- 1. maintenance and transport object 2. Documentation.
    When I click on maintenance and transport object , I get the red button for cluster maintenance SOBJ.I try to open in maintain/change mode but it is not giving any option to activate or anything. As it is maintenance it gives an option to create a new entry only.( see attached capture1 & capture2)
    What do we need to do to make it green ? I tried to search but did not get anything related to this. I have attached screen shot for the same.
    Also for documentation, what needs to be done as adopt modification ? I get the pop up for create modification when I click on data element documentation. Do I need to create modification ? what should be the template type ? (Please see the attached screen shot capture3 ).
    Also for both I get 'no version found'.
    I would really appreciate your help.
    Thanks,
    Niki

    Can anybody help/guide on this please ....

  • SQL QUERY to create new schema in Oracle 10g Express

    Can anyone provide the SQL query to create a new schema in Oracle 10g Express edition.

    Can anyone provide a SQl query to create a
    schema/user named 'test' with username as 'system'
    and password as 'manager'system user is created during database creation, it's internal Oracle admin user that shouldn't be used as schema holder.
    In Oracle database, Oracle user is schema holder there's no seperate schema name to be defined other than username.

  • How to find last executed query on database and or schema.

    hi,
    how to find last executed query on database and or schema.
    yours sincerely

    Sessionwise if you wanna see means use v$session.. Because it will show execution time also so you can analyze it easily and get sql based on SID and serial number ..
    Try :
    select * from v$session;
    Regards..

  • Give me the sql query which calculte the table size in oracle 10g ecc 6.0

    Hi expert,
    Please  give me the sql query which calculte the table size in oracle 10g ecc 6.0.
    Regards

    Orkun Gedik wrote:
    select segment_name, sum(bytes)/(1024*1024) from dba_segments where segment_name = '<TABLE_NAME>' group by segment_name;
    Hi,
    This delivers possibly wrong data in MCOD installations.
    Depending on Oracle Version and Patchlevel dba_segments does not always have the correct data,
    at any time esp. for indexes right after being rebuild parallel (Even in DB02 because it is using USER_SEGMENTS).
    Takes a day to get the data back in line (never found out, who did the correction at night, could be RSCOLL00 ?).
    Use above statement with "OWNER = " in WHERE for MCOD or connect as schema owner and use USER_SEGMENTS.
    Use with
    segment_name LIKE '<TABLE_NAME>%'
    if you like to see the related indexes as well.
    For partitioned objects, a join from dba_tables / dba_indexes to dba_tab_partitions/dba_ind_partitions to dba_segments
    might be needed, esp. for hash partitioned tables, depending on how they have been created ( partition names SYS_xxxx).
    Volker

  • Help In XML schema using  oracle 10g

    i want to give seminar in XML schema using oracle 10g. n i m very new in this topic. so help me out which topic i include & any document regarding this

    XML Schema has various aspects.
    1. Creating an XML Schema, which may be done in JDeveloper.
    2. Initializing an XML document from an XML Schema, which may also be done in JDeveloper.
    For creating and initializing an XML Schema please refer
    http://www.regdeveloper.co.uk/2007/10/01/build_xml_schema_jdeveloper/
    3. Validating an XML document with an XML Schema.
    http://www.oracle.com/technology/pub/articles/vohra_xmlschema.html

  • Porting data from Oracle8i to XML and from XML  to Oracle 10g

    Hai
    I have a client database (using oracle 8i) and a server database (oracle 10g).
    Due to lack of leased line connectivity i want to port these offline data from 8i to 10g
    using a modem(dial up connection).Is there is any way to port data from 8i to XML
    and from XML to 10g.
    thanks in advance
    dejies

    Thanks Nicolas,
    As per documentation, it seems to be difficult for export/import from Oracle8i to 10g. Is that any way to achieve this? I have to append the newly imported data with old or exisiting data into Oracle10g.
    Regards
    Nikhil

  • What is the function of _xdb and _xpt services in oracle 10g database.

    what is the function of xdb and xpt services in oracle 10g database.?

    Hi,
    If you are troubleshooting check the below link too:
    Issues installing.  Listener not working
    Best regards,
    Rafi.
    http://rafioracledba.blogspot.com/

  • How to install NW2004s abap and/or java on Oracle 10g on SLES 10 32 bit?

    Does anyone know - How to install NW2004s abap and/or java on Oracle 10g on SLES 10 32 bit?
    Does SAP offer the software for trial for this?
    Jay

    Hi Check the link page you shall get the PDF and then goto Page 50 .you shall find the details.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/3096e412-7308-2b10-4999-e16c64ce5eeb
    Thanks
    Rishi Abrol

  • Installing and configuring PHP for ORACLE 10g Release 1

    Hello Lads,
    Please can anybody help me finish PHP install...
    I have got this error when executing the following command..
    #make install
    Here is the error:
    /usr/local/php-5.1.4/sapi/cli/php: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory
    Thanks!

    I answered in your other thread... the one without the I in the title :)
    nstalling and configuring PHP for ORACLE 10g Release 1

  • How to export a user and their schema from one 10g database to another?

    Hi,
    I would like to export a user and their entire schema from one 10g database to another one. How do I do this?
    thx
    adam

    If you want to export a user and the schema owned to the user, and import to the same user in a different database, or a different user in the same database, you can use the exp and imp commands as described in the Utilities manual.
    These commands are very versatile and have a lot of options - well worth learning properly. To give you a simplistic shortcut, see below - I create a user 'test_move', create some objects in the schema, export, create a new user in the database 'new_move' and import.
    oracle@fuzzy:~> sqlplus system/?????
    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 11 21:46:54 2006
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    SQL> create user test_move identified by test_move;
    User created.
    SQL> grant create session, resource to test_move;
    Grant succeeded.
    SQL> connect test_move/test_move
    Connected.
    SQL> create table test (x number);
    Table created.
    SQL> insert into test values (1);
    1 row created.
    SQL> exit
    Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    oracle@fuzzy:~> exp system/????? file=exp.dmp owner=test_move
    Export: Release 10.2.0.1.0 - Production on Sat Mar 11 21:48:34 2006
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set
    About to export specified users ...
    . exporting pre-schema procedural objects and actions
    . exporting foreign function library names for user TEST_MOVE
    . exporting PUBLIC type synonyms
    . exporting private type synonyms
    . exporting object type definitions for user TEST_MOVE
    About to export TEST_MOVE's objects ...
    . exporting database links
    . exporting sequence numbers
    . exporting cluster definitions
    . about to export TEST_MOVE's tables via Conventional Path ...
    . . exporting table                           TEST          1 rows exported
    . exporting synonyms
    . exporting views
    . exporting stored procedures
    . exporting operators
    . exporting referential integrity constraints
    . exporting triggers
    . exporting indextypes
    . exporting bitmap, functional and extensible indexes
    . exporting posttables actions
    . exporting materialized views
    . exporting snapshot logs
    . exporting job queues
    . exporting refresh groups and children
    . exporting dimensions
    . exporting post-schema procedural objects and actions
    . exporting statistics
    Export terminated successfully without warnings.
    oracle@fuzzy:~> sqlplus system/?????
    SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 11 21:49:23 2006
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    SQL> create user new_move identified by new_move;
    User created.
    SQL> grant create session, resource to new_move;
    Grant succeeded.
    SQL> exit
    Disconnected from Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    oracle@fuzzy:~> imp system/????? file=exp.dmp fromuser=test_move touser=new_move
    Import: Release 10.2.0.1.0 - Production on Sat Mar 11 21:50:12 2006
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    Export file created by EXPORT:V10.02.01 via conventional path
    import done in AL32UTF8 character set and AL16UTF16 NCHAR character set
    . importing TEST_MOVE's objects into NEW_MOVE
    . . importing table                         "TEST"          1 rows imported
    Import terminated successfully without warnings.
    oracle@fuzzy:~>                                                       If moving between databases, remember to set the SID properly before the import. If keeping the same userid, skip the from/to stuff in the import.
    There are many variations on the theme ...
    You can simplify this. You can select tables individually. You can use a parameter file. You can transport all the constraints and data. You can skip the data and only move the definitions. You can get some help (imp/exp help=yes).
    And, if it's all 10g, there is a new and improved facility called expdp/impdp (dp = data pump) which has a lot more capability as well, including direct transfer (no intermediate file) together with suspend/restart. Also documented in the Utilities manual.

  • How get scott user database schema in oracle 10g express edition

    hi
    plz any on can tell me how to get the scott user database table details into the oracle 10g express edition
    Iam created the user as scott but but i didn't get the table details
    ...plz give me the details correctly.

    You will go into this path C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql. You can get scott.sql script yhen you need to run the script like @C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin\scott.sql. Otherwise you just copy the below script and save it into one file then run that file using @
    Rem Copyright (c) 1990 by Oracle Corporation
    Rem NAME
    REM    UTLSAMPL.SQL
    Rem  FUNCTION
    Rem  NOTES
    Rem  MODIFIED
    Rem    gdudey       06/28/95 -  Modified for desktop seed database
    Rem    glumpkin   10/21/92 -  Renamed from SQLBLD.SQL
    Rem    blinden   07/27/92 -  Added primary and foreign keys to EMP and DEPT
    Rem    rlim       04/29/91 -          change char to varchar2
    Rem    mmoore       04/08/91 -          use unlimited tablespace priv
    Rem    pritto       04/04/91 -          change SYSDATE to 13-JUL-87
    Rem   Mendels     12/07/90 - bug 30123;add to_date calls so language independent
    Rem
    rem
    rem $Header: utlsampl.sql 7020100.1 94/09/23 22:14:24 cli Generic<base> $ sqlbld.sql
    rem
    SET TERMOUT OFF
    SET ECHO OFF
    rem CONGDON    Invoked in RDBMS at build time.     29-DEC-1988
    rem OATES:     Created: 16-Feb-83
    GRANT CONNECT,RESOURCE,UNLIMITED TABLESPACE TO SCOTT IDENTIFIED BY TIGER;
    ALTER USER SCOTT DEFAULT TABLESPACE USERS;
    ALTER USER SCOTT TEMPORARY TABLESPACE TEMP;
    CONNECT SCOTT/TIGER
    DROP TABLE DEPT;
    CREATE TABLE DEPT
           (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
        DNAME VARCHAR2(14) ,
        LOC VARCHAR2(13) ) ;
    DROP TABLE EMP;
    CREATE TABLE EMP
           (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
        ENAME VARCHAR2(10),
        JOB VARCHAR2(9),
        MGR NUMBER(4),
        HIREDATE DATE,
        SAL NUMBER(7,2),
        COMM NUMBER(7,2),
        DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);
    INSERT INTO DEPT VALUES
        (10,'ACCOUNTING','NEW YORK');
    INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
    INSERT INTO DEPT VALUES
        (30,'SALES','CHICAGO');
    INSERT INTO DEPT VALUES
        (40,'OPERATIONS','BOSTON');
    INSERT INTO EMP VALUES
    (7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
    INSERT INTO EMP VALUES
    (7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
    INSERT INTO EMP VALUES
    (7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
    INSERT INTO EMP VALUES
    (7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
    INSERT INTO EMP VALUES
    (7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
    INSERT INTO EMP VALUES
    (7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
    INSERT INTO EMP VALUES
    (7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
    INSERT INTO EMP VALUES
    (7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87')-85,3000,NULL,20);
    INSERT INTO EMP VALUES
    (7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
    INSERT INTO EMP VALUES
    (7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
    INSERT INTO EMP VALUES
    (7876,'ADAMS','CLERK',7788,to_date('13-JUL-87')-51,1100,NULL,20);
    INSERT INTO EMP VALUES
    (7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
    INSERT INTO EMP VALUES
    (7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
    INSERT INTO EMP VALUES
    (7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
    DROP TABLE BONUS;
    CREATE TABLE BONUS
        ENAME VARCHAR2(10)    ,
        JOB VARCHAR2(9)  ,
        SAL NUMBER,
        COMM NUMBER
    DROP TABLE SALGRADE;
    CREATE TABLE SALGRADE
          ( GRADE NUMBER,
        LOSAL NUMBER,
        HISAL NUMBER );
    INSERT INTO SALGRADE VALUES (1,700,1200);
    INSERT INTO SALGRADE VALUES (2,1201,1400);
    INSERT INTO SALGRADE VALUES (3,1401,2000);
    INSERT INTO SALGRADE VALUES (4,2001,3000);
    INSERT INTO SALGRADE VALUES (5,3001,9999);
    COMMIT;
    SET TERMOUT ON
    SET ECHO ON

  • Nested tables and multiset operators in Oracle 10g

    Consider the following scenario:
    We have two identical relations R and S defined as:
    CREATE TABLE R(
    a INTEGER,
    b table_type)
    NESTED TABLE b STORE as b_1;
    CREATE TABLE S(
    a INTEGER,
    b table_type)
    NESTED TABLE b STORE as b_2;
    where table_typ is defined as
    CREATE TYPE table_typ AS TABLE OF VARCHAR2(8);
    Suppose we have two instances of R and S, each having one tuple as follows: R(1,table_typ('a','b')) and S(1,table_typ('b','c')).
    I would like to "merge" these two simple instances (e.g., achieve the effect of a simple SELECT * FROM R UNION SELECT * FROM S query) and obtain the following resulting instance: Result(1,table_typ('a','b','c')).
    Would this be possible in Oracle 10g? A simple UNION does not work (I got a "inconsistent datatypes: expected - got SCOTT.TABLE_TYP" error). I also took a look at the MULTISET UNION operator over nested tables available in Oracle 10g, but it doesn't seem to get me anywhere. Any help on this would be greatly appreciated.
    Thank you,
    Laura

    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    SQL> CREATE OR REPLACE TYPE table_type AS TABLE OF VARCHAR2 (8);
      2  /
    Type created.
    SQL> CREATE TABLE r(
      2    a INTEGER,
      3    b table_type)
      4    NESTED TABLE b STORE as b_1;
    Table created.
    SQL> CREATE TABLE s(
      2    a INTEGER,
      3    b table_type)
      4    NESTED TABLE b STORE as b_2;
    Table created.
    SQL> INSERT INTO r VALUES (1, table_type ('a', 'b'));
    1 row created.
    SQL> INSERT INTO s VALUES (1, table_type ('b', 'c'));
    1 row created.
    SQL> COLUMN c FORMAT A10;
    SQL> SELECT r.a, r.b MULTISET UNION DISTINCT s.b c
      2  FROM   r, s
      3  WHERE  r.a = s.a;
             A C
             1 TABLE_TYPE('a', 'b', 'c')
    SQL>

  • Displaying both Hindi and Arabic numerals in Oracle 10g PDF report

    Hi….
    Oracle experts told us to ask “In how many ways we can do it in oracle?” instead of asking “Can we do it in Oracle?” , I need ONE way to solve the following problem, it toke to much time and I don’t know if it can be solved !
    The problem:
    Can we print in - Oracle 10g reports - a PDF report with BOTH Hindi and Arabic numerals?
    Well, at design time everything is fine, you can use right-to-left, left-to-right and the print preview is showing BOTH Hindi/Arabic numerals fine, but when I tried to produce it as a PDF, unfortunately its not, means its either all Hindi or all Arabic numerals !
    I tried everything possible, environment variables: NLS_LANG, REPORTS_BIDI_ALGORITHM, and REPORTS_ARABIC_NUMERLS, setting Digit substitution to Context in windows regional settings, uifont.ali is modified properly according to metalink note, but nothing solved this issue!
    I noticed something, when I used the DESTYPE=printer and DESNAME=PDF995 (one of the PDF printers) , it worked fine , means the problem could be in the generic PDF generator of the Oracle reports server,
    But even with PDF995 you still need to feed the file name, which is not suitable for multi-user environment that need the report to be displayed via web browser.
    Does anybody face this before?
    Edited by: khaled.w on May 24, 2010 7:29 AM
    Edited by: khaled.w on May 24, 2010 7:35 AM

    Don't tell so much.
    Check the following link
    1. PDF Reports in Unicode / Arabic &amp;amp; English | Oracle Community
    2. OraFAQ Forum: Reports &amp; Discoverer &raquo; Report in Arabic(pdf) (merged)
    3. Arabic Report generated to text file giving Jun... | Oracle Community
    Hope this helps
    Hamid

  • Issue with materialized view and fast refresh between Oracle 10g and 11g

    Hi all,
    I've hit a problem when trying to create a fast-refreshable materialized view.
    I've got two databases, one 10.2.0.10, another 11.2.0.1.0, running on 32-bit Windows. Both are enterprise edition, and I'm trying to pull data from the 10g one into the 11g one. I can happily query across the database link from 11g to 10g, and can use complete refresh with no problem except the time it takes.
    On the 10g side, I've got tables with primary keys and m.v. logs created, the logs being of this form ...
    CREATE MATERIALIZED VIEW LOG ON table WITH PRIMARY KEY INCLUDING NEW VALUES
    On the 11g side, when I try to create an m.v. against that ...
    CREATE MATERIALIZED VIEW mv_table REFRESH FAST WITH PRIMARY KEY AS SELECT col1, col2 FROM table@dblink;
    ... I get an ORA-12028 error (materialized view type is not supported by master site).
    After running the EXPLAIN_MVIEW procedure it shows this;
    REFRESH_FAST_AFTER_INSERT not supported for this type mv by Oracle version at master site
    A colleague has managed to build a fast-refresh m.v. from the same source database, but pulling to a different one than I'm using; his target is also 10g, like the (common) source, so I've no idea why I'm getting the 'not supported' message whilst he isn't.
    I've been able, on previous projects, to do exactly what I'm trying to achieve but on those someone with more knowledge than me has configured the database!
    I'm now stumped. I'm also no DBA but despite that it's been left to me to install the new 11g database on the 32-bit Windows server from scratch, so there are probably a couple of things I'm missing. It's probably something really obvious but I don't really know where to look now.
    If anyone can give me any pointers at all, I'd be really grateful. This question is also duplicated in the Replication forum but hasn't had any replies as yet, so I'm reproducing it here in hope!
    Thanks in advance,
    Steve

    Hi Steve,
    You should have a look at metalink, Doc ID 1059547.1
    If that does not help, there may be something else in Mater note ID 1353040.1
    Best regards
    Peter

Maybe you are looking for