Sunday, May 18, 2008

How DDL and DML commands work in Oracle

What happens in the background when we execute DDL or DML commands?

First, Oracle parses the statement and ensures that the statement is syntactically correct and semantically correct. Next, Oracle verifies that the user has permissions to perform the statement. If the user can execute the statement, Oracle obtains all locks necessary for the statement to complete. Once the locks have all been obtained, Oracle executes the statement. In some cases, results are returned. If results are returned from the statement, Oracle fetches those results and places the result set in an area called a 'cursor'. The cursor is passed back to the application.

That's the basics anyway! There are variations depending on the exact command being given.


SOURCE : http://searchoracle.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid41_gci1309863,00.html?track=NL-390&ad=638910&asrc=EM_NLT_3601016&uid=5766966

Solving common Oracle errors

TABLE OF CONTENTS
Resources for working with errors
ORA-00000 - ORA-01999
ORA-02000 - ORA-03999
ORA-04000 - ORA-05999
ORA-06000 - ORA-07999
ORA-08000 - ORA-11999
ORA-12000 - ORA-13999
ORA-14000 - ORA-23999
ORA-24000 - ORA-25999
ORA-26000 - ORA-27999
ORA-28000 - ORA-30100
Other error messages
For more information
Oracle9i Database Error Messages
Release 2 (9.2)

Part Number A96525-01

http://download-west.oracle.com/docs/cd/B10501_01/
server.920/a96525/toc.htm





  • Where to get a complete list of all ORA errors
  • Capturing errors from merge statement
  • Perform a check or wait for an error?
  • What should monitoring reports identify
  • Oracle alert log miner
  • Logging the command that caused server error
  • Catching error code that arises in PL/SQL
  • Advanced error checking using a trigger



  • ORA-00000 - ORA-01999
    [ Return to Table of Contents ]

    ORA-00054: resource busy and acquire with NOWAIT specified
    Solutions:

  • Is there a way to stop a rollback?
  • Error trying to rebuild index after cancelled transaction
  • How long does a rollback take?
  • Identifying locks to resolve ORA-01658 and ORA-00054 errors
  • ORA-00054 error with shell scripts

    ORA-00060: deadlock detected while waiting for resource
    Solutions:

  • Deadlock error when a specific batch process runs in parallel

    ORA-00200: controlfile could not be created
    Solutions:

  • Avoiding Oracle errors
  • ORA-00235: controlfile fixed table inconsistent due to concurrent update
    Solutions:

  • Using the RMAN level 0 hot backup process

    ORA-00312: online log string thread string: 'string'
    Solutions:

  • Errors causing Oracle instance to shut down
  • Receiving ORA-313 and ORA-312 errors when trying to open database

    ORA-00313: open failed for members of log group string of thread string
    Solutions:

  • Receiving ORA-313 and ORA-312 errors when trying to open database

    ORA-00320: can not read file header from log 1 thread 1
    Solutions:

  • Getting Oracle errors -- database and Web site are down
  • ORA-00321: ORACLE_HOME Redo1.log
    Solutions:

  • Getting Oracle errors -- database and Web site are down
  • Errors causing Oracle instance to shut down

    ORA-00396: error string required fallback to single-pass recovery
    Solutions:

  • ORA-00396 and ORA-00397 while loading data

    ORA-00397: lost write detected for file string, block string
    Solutions:

  • ORA-00396 and ORA-00397 while loading data

    ORA-00406: COMPATIBLE parameter needs to be string or greater
    Solutions:

  • ORA-00406 when trying to create a function index
  • ORA-00439: feature not enabled: string
    Solutions:

  • Creating a table partition
  • Managed standby error in ARCHIVE MODE
  • Problems with installation of Partitioning

    ORA-00510: internal limit restriction exceeded
    Solutions:

  • Is the number of processes causing listener error?
  • ORA-00600: internal error
    Solutions:

  • System timing out writing to control file
  • Error when updating table in Oracle 8i
  • "Disconnection forced" message
  • ORA-00604: error occurred at recursive SQL level string
    Solutions:

  • Table update fails at recursive SQL level 2
  • Recursive SQL error when using Web app
  • Errors executing Oracle recursive query
  • Getting ORA-00604 error when connecting to database user
  • ORA-00604: error with recursive SQL
  • Unexplained daily errors

    ORA-00903: invalid table name
    Solutions:

  • Trigger error in SQL*Plus
  • ORA-00904: invalid column name
    Solutions:

  • Error accessing all SQL Server fields in Oracle environment
  • Getting invalid column name without access to system tables
  • Error viewing records in table that has abstract column datatype
  • "Invalid column name" error
  • Error on "select timestamp" command
  • SQL execution error ORA-00904

    0RA-00922: missing or invalid option
    Solutions:

  • Substitution variables
  • ORA-00932: inconsistent datatypes
    Solutions:

  • Help creating a script from a view
  • UNION of two Oracle8i views with CLOBs
  • How to get the lengths of values in "long" datatype
  • Unexplained daily errors

    ORA-00942: table or view does not exist
    Solutions:

  • Export errors on Solaris
  • Export errors on Linux
  • Oracle9i R1 allows any user to access any table
  • Errors with export command
  • Unable to select or drop a table

    ORA-00955: name is already used by exsisting object
    Solutions:

  • Installing the recovery catalog from RMAN prompt
  • ORA-00959: tablespace 'string' does not exist
    Solutions:

  • Importing a table that contains LOB segments
  • ORA-00980: synonym translation is no longer valid
    Solutions:

  • Information on ORA-00980
  • ORA-01000: Maximum open cursors exceeded
    Solutions:

  • Errors executing Oracle recursive query
  • ORA-01000 errors on Windows XP

    ORA-01002: fetch out of sequence
    Solutions:

  • ORA-01002 error when trying to describe a table
  • Resolving the ORA-01002 error #1
  • Resolving the ORA-01002 error #2
  • ORA-01017: Invalid username/password
    Solutions:

  • Error when trying to restore a specific table
  • "Invalid username/password" error
  • ORA-01017 error when connecting through Windows XP client
  • Unable to log in to database from desktop

    ORA-01031: insufficient privileges
    Solutions:

  • Trouble inserting large CLOB
  • Password file generation
  • Creating a function-based index
  • "Insufficient privileges" error
  • Logging in to a test database
  • ORA-01031: insufficient privileges trying to restore a database

    ORA-01033: ORACLE initialization or shutdown in progress
    Solutions:

  • Database stopped, showing multiple error messages
  • Getting ORA-01033 when logging in to 9i application
  • Restoring default database in 8i
  • Encountering error while cloning a production database
  • Initialization or shutdown in progress
  • ORA-01033 error when taking backup

    ORA-01034: ORACLE not available
    Solutions:

  • After starting SQL*Plus after 9i install
  • On Linux Fedora Core 2
  • When rebooting 9i
  • Errors during reboot
  • Error accessing database after migration to 9.2.0.3
  • Errors connecting Oracle through SQL*Plus
  • Domain name changes causing error
  • Trouble getting two database instances running
  • Error when starting Oracle
  • Resolving the ORA-01034 error
  • Oracle not available after installing 8i on WinXP Pro
  • ORA-01034 after upgrading to version 9.2
  • ORA-01034: Oracle not available error
  • Resolving the "ORA-01034: ORACLE not available" error
  • "Oracle not available" error
  • Can't log in to database from SQL*Plus
  • Error with tnsping
  • ORA-01034 and ORA-27101 on trying to log in to database
  • Receiving "Oracle is not available" error after restart
  • Receiving ORA-01034 error while connecting
  • Suddenly getting ORA-01034 and ORA-27101
  • Unable to connect to server with Oracle8i
  • Why won't the mount and open happen automatically?

    ORA-01039: insufficient privilege on underlying objects of the view
    Solutions:

  • Insufficient privileges error ORA-01039

    ORA-01053: user storage address cannot be read
    Solutions:

  • ORA-1053 error after 8i installation on Windows 2003

    ORA-01078: failure in processing system parameters
    Solutions:

  • Help with error ORA-01078
  • ORA-01081: cannot start already-running ORACLE - shut it down first
    Solutions:

  • Problems starting one of two databases on same server

    ORA-01089: immediate shutdown in progress - no operations are permitted
    Solutions:

  • When opening database
  • Cause of ORA-1089 error
  • Error when stopping/starting Oracle SID
  • ORA-01092: Oracle instance terminated. Disconnection forced
    Solutions:

  • Database Configuration Assistant not executing
  • Oracle installed, but error when creating db
  • ORA-01092 error during 9i installation
  • ORA-01092 error while executing database creation command
  • ORA-01092 on creating a new database

    ORA-01110: data file string: 'string'
    Solutions:

  • Database stopped, showing multiple error messages
  • Input/output errors
  • ORA-01110 error when not in archive log mode
  • ORA-01113 and ORA-01110 errors on restarting database
  • Too many open files error message

    ORA-01113: file n needs media recovery
    Solutions:

  • ORA-01113 and ORA-01110 errors on restarting database

    ORA-01115: IO error reading block from file string (block # string)
    Solutions:

  • Database stopped, showing multiple error messages
  • User datafile needs media recovery
  • Input/output errors
  • Too many open files error message

    ORA-01122: database file string failed verification check
    Solutions:

  • Database crash during hot backup
  • ORA-1122 error and huge TEMP tablespace

    ORA-01157: cannot identify/lock data file string - see DBWR trace file
    Solutions:

  • ORA-01033 error when taking backup

    ORA-01158: database %s already mounted
    Solutions:

  • Cloning a production database into a development server

    ORA-01403: no data found
    Solutions:

  • Errors during import of a dump file

    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
    Solutions:

  • ORA-1452 error after export/import

    ORA-01501: CREATE DATABASE failed
    Solutions:

  • Avoiding Oracle errors
  • ORA-01503: CREATE CONTROLFILE failed
    Solutions:

  • Cloning a production database into a development server

    ORA-01535: rollback segment 'name' already exists
    Solutions:

  • Errors when importing from same version
  • ORA-01543: tablespace 'TEMP' already exists
    Solutions:

  • Errors when importing from same version
  • ORA-01555: snapshot too old: rollback segment number string with name "string" too small
    Solutions:

  • Help with ORA-01555: snapshot too old
  • Help with ORA-01555 during export
  • Exporting a table that is constantly updated
  • RBS monitor to catch ORA-01555 errors
  • Can't escape ORA-01555 error!
  • Cause of "snapshot too old" error
  • Errors and slowness during export

    ORA-01593: rollback segment optimal size (string blks) is smaller than the computed initial size (string blks)
    Solutions:

  • Errors and slowness during export

    ORA-01594: attempt to wrap into rollback segment (string) extent (string) which is being freed
    Solutions:

  • Errors and slowness during export

    ORA-01630: max # extents (string) reached in temp segment in tablespace string
    Solutions:

  • Resolving the ORA-01630 error
  • ORA-01650: unable to extend rollback segment string by string in tablespace string
    Solutions:

  • Errors and slowness during export

    ORA-01652: unable to extend temp segment by string in tablespace string
    Solutions:

  • Help with ORA-01652 error -- unable to extend temp segment
  • Solving ORA-1652 error
  • High IO program is throwing ORA-01652 errors
  • ORA-01652: add or resize datafile?
  • Resolving errors ORA-01652 and ORA-04031
  • Errors during building of tables
  • ORA-01652 error when running query to delete large amount of data
  • Questions about ORA-1652 error

    ORA-01653: unable to extend table xxx by xxx
    Solutions:

  • Action can't be handled

    ORA-01658: unable to create INITIAL extent for segment in tablespace string
    Solutions:

  • Identifying locks to resolve ORA-01658 and ORA-00054 errors

    ORA-01756: quoted string not properly terminated
    Solutions:

  • Error inserting data into customer table
  • Error inserting single quote into string

    ORA-01758: table must be empty to add mandatory (NOT NULL) column
    Solutions:

  • Adding a new NOT NULL field to an existing table
  • ORA-01940: cannot drop a user that is currently connected
    Solutions:

  • Deleting a user from a tablespace


    ORA-02000 - ORA-03999
    [ Return to Table of Contents ]

    ORA-02019: connection description for remote database not found
    Solutions:

  • Why am I getting the ORA-02019 error?

    ORA-02035: illegal bundled operation combination
    Solutions:

  • When does 02035 error occur?

    ORA-02085: database link string connects to string
    Solutions:

  • Problem with dblink: ORA-02085
  • Setting GLOBAL_NAMES to false to use dblink
  • Error after creating DBLink

    ORA-02201: sequence not allowed here
    Solutions:

  • Can triggers be applied to sequence objects?
  • ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    Solutions:

  • Truncate tables using PL/SQL
  • ORA-02449: unique/primary keys in table referenced by foreign keys
    Solutions:

  • Error when dropping objects
  • Find all the 'son' constraints
  • ORA-03001: unimplemented feature
    Solutions:

  • Solving ORA-03001
  • ORA-03113: end-of-file on communication channel
    Solutions:

  • Whenever the client is idle for five minutes
  • When trying to start up
  • ORA-03113 when running a query
  • Error when creating a queue table
  • Problem installing Oracle on Red Hat Linux
  • Failure installing 9i Database Configuration Assistant Tool on Win2000
  • Getting end of communication error when submitting a query
  • Solving error ORA-03113
  • Archive log files generating quickly
  • ORA-03113 error when querying table
  • ORA-03113 trying to rebuild indexes
  • What is the ORA-03113 error?
  • ORA-03114: not connected to ORACLE
    Solutions:

  • During the initializing database step
  • Resolving the ORA-03114 error
  • ORA-03121: no interface driver connected
    Solutions:

  • ORA-03121 while attaching database
  • What is the solution of the ORA-03121 error?

    ORA-03232: unable to allocate an extent of x blocks from tablespace x
    Solutions:

  • ORA-03232 error


    ORA-04000 - ORA-05999
    [ Return to Table of Contents ]

    ORA-04030: out of process memory
    Solutions:

  • Help with ORA-04030 -- out of process memory
  • RMAN process ran out of memory
  • ORA-04030: Out of process memory

    ORA-04031: unable to allocate string bytes of shared memory ("string","string","string","string")
    Solutions:

  • In the job queue process
  • Recursive SQL error when using Web app
  • Consistently getting ORA-04031 error
  • Error during patch installation
  • Need fixes for ORA-04031
  • Help with ORA-4031 error
  • Resolving errors ORA-01652 and ORA-04031
  • Error when trying to reduce temp tablespace
  • Resolving a 04031 error
  • Resolving the ORA-04031 error
  • Minimizing generation of archive logs

    ORA-04043: object string does not exist
    Solutions:

  • Workaround for ORA-04043: Can't describe object using db_link
  • ORA-04052: error occurred when looking up remote object name
    Solutions:

  • Error creating database link
  • ORA-04076: invalid NEW or OLD specification
    Solutions:

  • How to solve ORA-04076 error?

    ORA-04091: table string.string is mutating, trigger/function may not see it
    Solutions:

  • Selecting rows from the same table in the trigger
  • Resolving ORA-04091
  • Workaround for the ORA-04091 error when checking ranges
  • Resolving an ORA-04091 error
  • Timestamping all rows of some tables on insert and update
  • Writing an ON INSERT trigger without encountering mutating table error
  • ORA-04098: trigger 'SYSTEM.LOG_ERRORS_TRIG' is invalid and failed re-validation
    Solutions:

  • Trigger error in SQL*Plus



  • ORA-06000 - ORA-07999
    [ Return to Table of Contents ]

    ORA-06401: NETCMN: invalid driver designator
    Solutions:

  • When trying to connect from Dreamweaver
  • When using SQL*Plus on host computer
  • Password creation in Oracle Developer 6i
  • Error using JDBC to query local database
  • Error trying to insert record through database link
  • Resovling the ORA-06401 error
  • ORA-06508: PL/SQL: could not find program unit being called
    Solutions:

  • Resolving the ORA-06508 error
  • ORA-06512: Backtrace message as the stack is unwound by unhandled exceptions
    Solutions:

  • What is ORA-06512?
  • Errors during import of a dump file
  • Problems with exp utility after migration

    ORA-06532: Subscript outside of limit
    Solutions:

  • New user error
  • Determining the reason for the error message
  • ORA-06544: PL/SQL: internal error, arguments: [string], [string], [string], [string], [string], [string], [string], [string]
    Solutions:

  • How to resolve ORA-06544
  • ORA-06550: line string, column string:string
    Solutions:

  • Error when calling stored procedure
  • Help with ORA-06550 error
  • Resolving error ORA-06550
  • Cause of ORA-06550 error
  • Error during export of database
  • Error when executing procedures
  • Receiving error at export command
  • Receiving ORA-06550 error
  • Ways to handle an error on an INSERT statement

    ORA-06553: PLS-string: string
    Solutions:

  • Error calling stored procedure from Java
  • Removing Services entries, fixing ORA-06553
  • Problems with exporting database after modifying database characterset

    ORA-06554: package DBMS_STANDARD must be created before using PL/SQL
    Solutions:

  • Help with ORA-06554 regarding package DBMS_STANDARD
  • ORA-07445: exception encountered: core dump [10]
    Solutions:

  • SQL subquery errors



  • ORA-08000 - ORA-11999
    [ Return to Table of Contents ]

    ORA-10033: sort run information (SRD*/SRS*)
    Solutions:

  • ORA-10033 error won't let me connect

    ORA-10902: disable seghdr conversion for ro operation
    Solutions:

  • Cause of ORA-10902 error


    ORA-12000 - ORA-13999
    [ Return to Table of Contents ]

    ORA-12154: TNS-12154: TNS:could not resolve service name
    Solutions:

  • No connection to run Forms
  • Copying tables from one DB to another via database link
  • Configuring the TNSNAMES.ORA file
  • Connecting to 10g database after rebooting server

    ORA-12203: TNS-12203: TNS:unable to connect to destination
    Solutions:

  • On home computer
  • After installing 7.3
  • Unable to install Developer 2000
  • Unable to connect to destination
  • Resolving the PDE-POCO11 ORA-12203 error
  • Problem connecting to a remote database
  • Database crash during hot backup
  • Problems connecting to database after installing Forms

    ORA-12502: TNS-12502: TNS:listener received no CONNECT_DATA from client
    Solutions:

  • Resolving the TNS-12502 error
  • ORA-12505: TNS-12505: TNS:listener could not resolve SID given in connect descriptor
    Solutions:

  • Resolving the ORA-12505 TNS error
  • ORA-12514: TNS-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor
    Solutions:

  • When trying to create db link
  • Error connecting through SQL*Plus
  • Resolving the ORA-12514 TNS listener error
  • Resolving the ORA-12514
  • Accessing an Oracle instance with SQL*Plus
  • ORA-12514 error when connecting through SQL*Plus
  • Problems accessing 10g through SQL*Plus and Enterprise Manager
  • Problems connecting after installation of 10g

    ORA-12528: TNS:listener: all appropriate instances are blocking new connections
    Solutions:

  • ORA-12528 after shutting down and restarting instance

    ORA-12531: TNS-12531: TNS:cannot allocate memory
    Solutions:

  • No new connections allowed

    ORA-12533: TNS-12533: TNS:illegal ADDRESS parameters
    Solutions:

  • ORA-12533 during installation
  • ORA-12535: TNS-12535: TNS:operation timed out
    Solutions:

  • Timed out error and slow computer performance
  • Error since converting to 9.2
  • Getting ORA-12535 since upgrade
  • "TNS: Operation timed out" error
  • Error in ODBC connections
  • TNS-12535 error connecting to remote machine

    ORA-12537: TNS connection closed
    Solutions:

  • "TNS:connection closed" error
  • ORA-12537 error when trying to connect

    ORA-12541: TNS: no listener
    Solutions:

  • Causes
  • Connecting to database through forms builder
  • No listener error when logging in to Oracle8
  • No listener error after install on XP
  • Receiving ORA-12541 error trying to connect through Forms/Reports
  • ORA-12542: TNS: address already in use
    Solutions:

  • Error affecting nightly batch jobs
  • ORA-12545: TNS-12545: Connect failed because target host or object does not exist
    Solutions:

  • Error accessing 9i on Linux
  • Error in Oracle connection
  • Resolving error ORA-12545
  • Resolving error ORA-12545
  • Error message ORA-12545 during remote connect
  • ORA-12545 error trying to open forms in Oracle 8i on Windows 2000
  • ORA-12545 error when connecting to database via client

    ORA-12546: TNS: permission denied
    Solutions:

  • DBA cannot connect to database
  • Help with listener error
  • ORA-12560: TNS-12560: TNS:protocol adapter error
    Solutions:

  • When connecting to Oracle 9.0.2 on Win2K
  • When logging in to svrmgr after install
  • When connecting over dial-up
  • When installing 8.1.7 on Windows 2000
  • When creating new database
  • When running exp
  • Trouble connecting to listener after install
  • Error running a form in a browser
  • Connection problem with Forms/Reports
  • Resolving ORA-12560 error
  • Uninstalling Oracle9i
  • "TNS:Could not resolve Service name" error
  • Oracle 9i login error
  • Receiving "TNSListener protocol adapter error" during installation
  • Unable to connect to 9i on Windows 98
  • Unable to log in after installing Oracle Client 9i

    ORA-12571: TNS-12571: TNS:packet writer failure
    Solutions:

  • Resolving the "ORA-12571: TNS:Packet writer failure" error
  • ORA-12571 error with Oracle 8i on Windows XP

    ORA-12638: Credential retrieval failed
    Solutions:

  • Another Oracle server from a different LAN
  • "TNS: Operation timed out" error
  • ORA-12638 and ORA-01031 on Windows cluster
  • Problems with Oracle applications after upgrading to XP

    ORA-12640: TNS-12640: Authentication adapter initialization failed
    Solutions:

  • Backup batch jobs not running
  • Error creating database link
  • Database link works for a few days, then ORA-12640
  • ORA-12663: TNS-12663: Services required by client not available on the server
    Solutions:

  • Error using DESC across dblink
  • ORA-12801: error signaled in parallel query server string
    Solutions:

  • Errors during building of tables


    ORA-14000 - ORA-23999
    [ Return to Table of Contents ]

    ORA-1650: unable to extend rollback segment R05 by 512 in tablespace RBS Failure to extend rollback segment 6 because of 1650 condition.
    Solutions:

  • Solving the ORA-1650 error message



  • ORA-24000 - ORA-25999
    [ Return to Table of Contents ]

    ORA-24008: queue table string.string must be dropped first
    Solutions:

  • How to drop the example schemas from Oracle9i
  • ORA-24801: illegal parameter value in OCI lob function
    Solutions:

  • Export/import on table with clob datatype column

    ORA-25143: default storage clause is not compatible with allocation policy
    Solutions:

  • Error inserting new record in table
  • ORA-25150: ALTERING of extent parameters not permitted
    Solutions:

  • Error inserting new record in table



  • ORA-26000 - ORA-27999
    [ Return to Table of Contents ]

    ORA-27038: skgfrcre: file exists
    Solutions:

  • Avoiding ORA-27038 when creating a tablespace in 8i
  • Avoiding Oracle errors
  • ORA-27041: unable to open file
    Solutions:

  • Errors causing Oracle instance to shut down
  • Too many open files error message

    ORA-27072: skgfdisp: I/O error
    Solutions:

  • Database stopped, showing multiple error messages
  • Input/output errors

    ORA-27091: skgfqio: unable to queue I/O
    Solutions:

  • Getting Oracle errors -- database and Web site are down
  • Errors causing Oracle instance to shut down
  • Input/output errors

    ORA-27101: shared memory realm does not exist
    Solutions:

  • When trying to connect to the database
  • Errors during reboot
  • Unable to login after installation
  • Trouble getting two database instances running
  • Error when starting Oracle
  • "Oracle not available" error
  • Can't log in to database from SQL*Plus
  • ORA-01034 and ORA-27101 on trying to log in to database
  • ORA-27101 error after moving DB to new domain
  • Suddenly getting ORA-01034 and ORA-27101
  • Why won't the mount and open happen automatically?

    ORA-27123: unable to attach to shared memory segment
    Solutions:

  • Error accessing database after migration to 9.2.0.3
  • Error after upgrading to 9i Data Server patch set
  • ORA-27123 while trying to create database after Red Hat Linux installation
  • ORA-27125: unable to create shared memory segment
    Solutions:

  • When creating Oracle database on Fedora Core 2



  • ORA-28000 - ORA-30100
    [ Return to Table of Contents ]

    ORA-28030: Server encountered problems accessing LDAP directory service
    Solutions:

  • Using dblink to access a different server

    ORA-28547: connection to server failed, probable Net8 admin error
    Solutions:

  • ORA-28547 trying to set up practice database

    ORA-29516: Aurora assertion failure: string
    Solutions:

  • Hit an error
  • "Aurora assertion failure" error
  • ORA-30036: unable to extend segment by string in undo tablespace 'string'
    Solutions:

  • Error loading data into target
  • ORA-30036 error when executing update query


    Other error messages
    [ Return to Table of Contents ]

    SQL*Plus error messages

    SP2-0678: Column or attribute type can not be displayed by SQL*Plus
    Solutions:

  • What is error SP2-0678?

    Import error messages

    IMP-00009: abnormal end of export file Solutions:

  • Dump file error
  • Error during import from 9i to 10g
  • Errors during import of dump file

    IMP-00010: not a valid export file, header failed verification
    Solutions:

  • Create tablespace to resolve IMP-00010 error?

    IMP-00015: following statement failed because the object already exists
    Solutions:

  • Which IMP messages are warnings and which are errors?

    IMP-00022: failed to process parameters, type 'IMP HELP=Y' for help
    Solutions:

  • Which IMP messages are warnings and which are errors?

    IMP-00028: partial import of previous table rolled back
    Solutions:

  • Dump file error
  • Error during import from 9i to 10g
  • Errors during import of dump file

    Export error messages

    EXP-00002: error in writing to export file
    Solutions:

  • Errors with character set in export

    ORADIM command syntax errors

    DIM-00019: Create Service Error
    Solutions:

  • "Create service" error when starting DBCA


    SOURCE : http://searchoracle.techtarget.com/news/article/0,289142,sid41_gci933283,00.html?mo=1&Offer=PRbur0506fg

  • Oracle's Master Data Management (MDM) program

    The five essential elements of MDM

    At the core is the data hub, which is built in one of three styles: a persistent hub, which stores all of the critical data from each source system in one place; a registry-style hub, which stores only the directory information and the foreign keys; and the hybrid, a mixture of both.

    In addition, every MDM initiative relies on some form of middleware to synchronize the data going in and out of the hub.



    "Not synchronizing your data quality improvements back into your source systems can defeat the whole purpose of the program," Power said.

    That, of course, demands a data quality initiative, which could mean using a homegrown tool or buying packaged software.

    MDM also depends on external data sources.

    "You probably have D&B or something like it in your data warehouse," Power said. "But if you're building a central repository, don't just leave it there."

    Finally, and perhaps most important, an MDM initiative demands a data governance program. The business side of the organization is not going to accept an MDM initiative unless they're driving the project, and the way they drive the project is through data governance, Power said.

    "Bringing together all these different technology elements and designs is hard enough without a data governance organization," he said. "However you arrange this, think about it from the beginning. I would say don't go back to your business and launch an MDM initiative; launch a data governance initiative."

    Ten MDM best practices

    1. Secure active involvement and executive sponsorship.

      "This can only be driven from the top down," Power said. "Bottom-up projects tend to run out of steam and don't work. You may not need to have [executive sponsors] at every meeting, but you do need them in your corner when the going gets tough."

    2. Business has to own the data, data governance and MDM. It does not work when IT is pushing it.

      If the business side doesn't want to own it, have them own the data governance side and IT own the technology component. One technique Power advised is tying compensation or bonuses to the project.

    3. Be prepared for the skeptics.

      "There are anti-champions," Power warned. "These opponents kick up a lot of angst. If you're prepared, then when those champions of the status quo start to throw stones, they won't be able to do any harm."

    4. Take a holistic approach. What matters is the end result, Power said. Tie financial and time investments to the end result.

      "Harley Davidson tied $70 million in increased revenue and decreased cost to MDM," he said. "I don't think [that project] has any problem getting funding. It's intangible and fuzzy enough that if you don't publish it, people don't believe it."

    5. Be ongoing and repeatable.

      "A lot of people still treat this as a project that goes live and is done," Power said. "It's not like that. You're going to be creating and updating data as long as you're in business. From the beginning, plan for a way of life and not a project."

    6. Dedicate a team of data stewards.

      At Tektronix, the data stewards have been involved from the beginning and are closely monitored. Data management is part of their annual review process.

      "We have data managers and they own and are responsible for it," said Tektronix's Hughes. "Plus they have me, Mother Oracle. They hear from me sometimes nicely and sometimes not so nicely."

    7. Create a data model.
    8. Resist the urge to customize.

      "It's getting easier because these hubs are getting more mature," Power said. "If you do [customize], do it carefully. Make sure they're documented and easily upgradeable. Sometimes it's easier to push the vendor to improve further releases."

    9. Plan for at least one upgrade during the implementation.

      "There's nothing worse than contacting support and hearing this problem is fixed in the next release but you can't apply it for months or years," Power said.

    10. Test.

      "[In] real estate, it's all about location -- in software it's about testing," Power said. "Vendors are getting better at testing and QA, but the burden is on you and your testing team."

    SOURCE : http://searchoracle.techtarget.com/news/article/0,289142,sid41_gci1312492,00.html?track=NL-338&ad=640846&Offer=ORunsc0514mdm&asrc=EM_USC_3644577&uid=5766966

    Maximizing Export Performance

    Many DBAs are faced with the challenge of speeding up utility functions such as export. Typically, an organization has only a small window for maintenance, and utility jobs must complete within that timeframe. Fortunately, there are a few things a DBA can do to expedite exports. These include:


    • Use Direct Path – Direct path exports (DIRECT=Y) allow the export utility to skip the SQL evaluation buffer, whereas the conventional path export executes SQL SELECT statements. With direct path, the data is read from disk into the buffer cache, returning rows directly to the export client. This can offer substantial performance gains, depending on the actual data. When using the direct path, the recordlength parameter should also be used to optimize performance.

    • Use Subsets – By subsetting the data using the QUERY option, the export process is only executed against the data that needs to be exported. If tables have old rows that are never updated, the old data should be exported once, and from that point only the newer data subsets should be exported. Subsets cannot be specified with direct path exports since SQL is necessary to create the subset.

    • Use a Larger Buffer – For conventional path exports, a larger buffer will increase the number of rows that are processed between each physical write to the export file. Fewer physical writes equals greater performance. The following formula can be used to determine a proper buffer size:

    buffer size = rows in array * max row size

    • Separate Tables – Separate those tables that require consistent=y from those that don’t, in order to expedite the export. This way, the performance penalty will only be incurred for those tables that actually require it.

    For the table with one million rows, the following benchmark tests were performed using the different export options.


    Table 4.1- Benchmark tests performed using the different export options.

    The table above reveals a small improvement in performance was obtained by increasing the buffer size on a conventional export. Using direct=y offered no performance boost over conventional, until it was accompanied by recordlength, which reduced the elapsed time by 25 percent.

    Once data has been successfully copied to an export file, it can then be used by the import utility, as described in the next section.

    SOURCE : http://www.remote-dba.net/teas_rem_util11.htm

    Hypercharge Oracle data load speed

    Techniques for improving the speed of Oracle import (imp or impdp) and Oracle SQL*Loader (sqlldr) jobs.

    For professionals only

    Of all of the performance techniques for database loading, the most important is the nologging operation, and the undocumented parameter _disable_logging=TRUE.

    Note this discussion where Oracle expert Mark Bobak notes that you cannot re-start a failed instance when using _disable_logging=true, and Don Burleson notes that _disable_logging should only be used after taking a full, recoverable backup:

    "The main things to consider about NOLOGGING:

    - Supported feature of Oracle
    - Works only with direct load insert
    - Still maintains minimal logging, i.e., space transactions, extent invalidation records for loaded extents, etc.

    Contrast with _disable_logging=TRUE:

    - Undocumented, unsupported parameter
    - all redo writes to log buffer still happen
    - writes of redo buffer down to disk are disabled.
    - Not limited to direct load insert. All operations are no longer protected by redo on disk.

    The big difference is, if your instance dies, (crash or shutdown abort) there's no data in the online redo logs to even do instance recovery. This is very bad. Your database could suffer a corruption from which you can't recover."

    All experienced DBA's know that You MUST get approval from Oracle Technical Support for all usage of undocumented parameters, but in the hands of a well-trained DBA, the hidden parameters are often a Godsend, especially for speeding-up rebuilds during tight maintenance windows with limited downtime.

    The backup sandwich:

    • Take a dump (full system backup)

    • Load everything I can in PARALLEL NOLOGGONG mode (ONLY during a scheduled downtime window).

    • Take a dump. Take a full system backup right before bringing the system online.


    Most DBA's call this high-speed maintenance a "backup sandwich", it's quite common in my world where you have super-tight maintenance windows and every second counts.

    Remember, unless you take a full backup after your maintenance, using _disable_logging=TRUE, an instance crash or a shutdown abort WILL trash your Oracle database.

    Next, lets examine tips and techniques to improve the performance of all types of data loading, including data pump import (impdp), sql*Loader and SQL INSERT DML.

    Maximizing Oracle Insert Performance

    Regardless of which options were used when the data was exported, it has no influence on how the data is imported. For example, it is irrelevant to the import process whether it was a direct path export or not, since it is a plain export file, be it generated from direct or conventional means.

    Unfortunately, there is no direct option available for imports (only for export and SQL*loader). The import process has more tuning limitations than other utilities. The DBA should consider the following when trying to optimize import performance:

    Analyze once after the load - Set analyze=n and analyze with dbms_stats after the load has completed.

    Use Solid-state disk - For a fully-tuned import job, only faster devices can speed-up import rates. Many large companies used partitioned tables, and keep the current partition on SSD for fast imports.

    Increase recordlength - Many set recordlength to 64k, but it needs to be a multiple of your I/O chunk size and db_block_size (or your multiple block size, e.g. db_32k_block_size).

    Set commit=n – For tables that can afford not to commit until the end of the load, this option provides a significant performance increase. Larger tables may not be suitable for this option due to the required rollback/undo space.

    Dedicate a single, large rollback segment - Many professionals create a single large rollback segment and take all others offline during theimport.

    Set indexes=n – Index creation can be postponed until after import completes, by specifying indexes=n. If indexes for the target table already exist at the time of execution, import performs index maintenance when data is inserted into the table. Setting indexes=n eliminates this maintenance overhead. You can also Use the indexfile parm to rebuild all the indexes once, after the data is loaded.

    Defer CBO stats - Using impdp with the parameter exclude=statistics will greatly improve the import speed, but statistics will need to be re-analyzed or imported later.

    Use the buffer parameter – By using a larger buffer setting, import can do more work before disk access is performed.

    Disable logging - You can also use the hidden parameter _disable_logging = true to reduce redo, but beware that the resulting import will be unrecoverable.

    Import Option

    Elapsed Time (Seconds)

    Time Reduction

    commit=y

    120

    -

    commit=y
    buffer=64000

    100

    17%

    commit=n
    buffer=30720

    72

    40%

    commit=N
    buffer = 64000

    67

    44%

    Also see Metalink Note 155477.1 on improving importing speed:

    You may be able to improve performance by increasing the value of the RECORDLENGTH parameter when you invoke a direct path Export.

    Your exact performance gain depends upon the following factors:

    - DB_BLOCK_SIZE

    - the types of columns in your table

    - your I/O layout (the drive receiving the export file should be separate from the disk drive where the database files reside)

    For example, invoking a Direct path Export with a maximum I/O buffer of 64kb can improve the performance of the Export with almost 50%.

    This can be achieved by specifying the additional Export parameters DIRECT and RECORDLENGTH. e.g.:

    exp userid=system/manager full=y direct=y recordlength=65535 file=exp_full.dmp log=exp_full.log

    imp userid=system/manager full=y recordlength=65535 file=exp_full.dmp log=imp_full.log


    Maximizing SQL*Loader Performance

    Oracle SQL*Loader is flexible and offers many options that should be considered to maximize the speed of data loads. These include:

    1. Use Direct Path Loads - The conventional path loader essentially loads the data by using standard insert statements. The direct path loader (direct=true) loads directly into the Oracle data files and creates blocks in Oracle database block format. The fact that SQL is not being issued makes the entire process much less taxing on the database. There are certain cases, however, in which direct path loads cannot be used (clustered tables). To prepare the database for direct path loads, the script $ORACLE_HOME/rdbms/admin/catldr.sql.sql must be executed.

    2. Disable Indexes and Constraints. For conventional data loads only, the disabling of indexes and constraints can greatly enhance the performance of SQL*Loader.

    3. Use a Larger Bind Array. For conventional data loads only, larger bind arrays limit the number of calls to the database and increase performance. The size of the bind array is specified using the bindsize XE "bindsize" parameter. The bind array's size is equivalent to the number of rows it contains (rows=) times the maximum length of each row.

    4. Use ROWS=n to Commit Less Frequently. For conventional data loads only, rows specifies the number of rows per commit. Issuing fewer commits will enhance performance.

    5. Use Parallel Loads. Available with direct path data loads only, this option allows multiple SQL*Loader jobs to execute concurrently.

    $ sqlldr control=first.ctl parallel=true direct=true

    $ sqlldr control=second.ctl parallel=true direct=true

    6. Use Fixed Width Data. Fixed width data format saves Oracle some processing when parsing the data. The savings can be tremendous, depending on the type of data and number of rows.

    7. Disable Archiving During Load. While this may not be feasible in certain environments, disabling database archiving can increase performance considerably.

    8. Use unrecoverable. The unrecoverable option (unrecoverable load data) disables the writing of the data to the redo logs. This option is available for direct path loads only.


    Optimizing Oracle INSERT performance

    When using standard SQL statements to load Oracle data tables, there are several tuning approaches:

    a - Manage segment header contention for parallel inserts - Make sure to define multiple freelist (or freelist groups) to remove contention for the table header. Multiple freelists add additional segment header blocks, removing the bottleneck. You can also use Automatic Segment Space Management (bitmap freelists) to support parallel DML, but ASSM has some limitations.

    b - Parallelize the load - You can invoke parallel DML (i.e. using the PARALLEL hint) to have multiple inserts into the same table. For this INSERT optimization, make sure to define multiple freelists or freelist groups.
    Mark Bobak notes that if you submit parallel jobs to insert against the table at the same time, using the APPEND hint may cause serialization, removing the benefit of parallel jobstreams.

    c - APPEND into tables - By using the APPEND hint, you ensure that Oracle always grabs "fresh" data blocks by raising the high-water-mark for the table. If you are doing parallel insert DML, the Append mode is the default and you don't need to specify an APPEND hint. Mark Bobak notes "Also, if you're going w/ APPEND, consider putting the table into NOLOGGING mode, which will allow Oracle to avoid almost all redo logging."

    insert /*+ append */ into customer values ('hello',';there');

    d - Use a large blocksize - By defining large (i.e. 32k) blocksizes for the target table, you reduce I/O because more rows fit onto a block before a "block full" condition (as set by PCTFREE) unlinks the block from the freelist.

    e - Disable/drop indexes - It's far faster to rebuild indexes after the data load, all at-once. Also indexes will rebuild cleaner, and with less I/O if they reside in a tablespace with a large block size.

    Using SSD for insert tablespaces

    For databases that require high-speed loads, some shops define the insert table partition on solid-state disk (later moving it to platter disk). Mike Ault notes in his book "Oracle Solid-State Disk Tuning", a respectable 30% improvement in load speed:

    “In the SSD verses ATA benchmark the gains for insert and update processing as shown in the database loading and index build scenarios was a respectable 30%.

    This 30% was due to the CPU overhead involved in the insert and update activities.

    If the Oracle level processing for insert and update activities could be optimized for SSD, significant performance gains might be realized during these activities."


    NOTE : Also see my notes on tuning and improving Oracle export (expdp) performance speed.

    SOURCE : http://dba-oracle.com/oracle_tips_load_speed.htm