Posts

Showing posts with the label Utilities

Unwrap Oracle 10g/11g PLSQL

Article and Script Courtesy :  Niels Teusink The Oracle  wrap  utility can be used to obfuscate PL/SQL code, to ensure it can't be easily read. Pete Finnigan described ( pdf ) the wrapping process for Oracle 9g, but for 10g and 11g it still remains a bit of a mystery. I decided to release my Python unwrapping utility (supports 10g and 11g). The unwrapping steps for 10g are nicely described in the  Oracle Hacker's Handbook , but the actual substitution table needed to decode the package is omitted. Nobody (as far as I know) has published it. A lot of people seem to know how to do it though, there is even an  online unwrapper  available (and I'm sure everyone seriously involved in Oracle security knows how to do it). A Russian-made closed source tool is also available, but tends to upset virus scanners. So to save everyone a couple of hours of figuring it out, here it is:  unwrap.py It's easy to use (I've used the wrapped procedure from  th...

Oracle XE-Data Uploading from CSV file

Image
This is a step-by-step guide on the simplest of the simplest ways by which data can be uploaded from CSV file to Oracle table. I have done uploading using this way for as many as 10,000 records without any performance issues. It went very swiftly. Login to OracleXE first and follow the instructions below: Step 1 - Click Utilities Step 2 - Click Data Load/Unload Step 3 - Click Load Step 4 Step 5 - Click Load Spreadsheet Data Step 6 - Follow the screen Step 7 - Follow the screen Step 8 - Follow the screen Step 9 - Follow the screen Step 10 - Follow the screen

Oracle Software Patching Using OPatch

The OPatch utility is a tool that allows the application and rollback of interim patches to Oracle products. Patches are a small collection of files that are copied over an existing installation. They are associated to particular versions of Oracle Products. Patches, when applied to the correct version of an installed product, results in an upgraded version of the product.Interim patches are bug fixes that are made available to customers in response to specific bugs. They require a particular base release or patchset to be installed before they can be applied. They generally address specific bugs for a particular customer. These patches are not versioned and are generally made available in a future patchset as well as the next product release. About OPatch OPatch is an Oracle supplied utility to assist you with the process of applying interim patches to Oracle's software. OPatch is a Java-based utility which requires the Oracle Universal Installer to be installed. It is platfo...

How can I identify which index represents which primary or unique key constraint?

The connection between constraints and the indexes which are used to check these constraints for the current user can be described by this query: select --+ rule o.owner index_owner, o.object_name index_name, n.name constraint_name from sys.cdef$ c, dba_objects o, sys.con$ n where c.enabled = o.object_id and c.con# = n.con# and n.owner# = uid; If you leave away the condition and n.owner# = uid you get all the constraints. You may further limit this query to your constraint name by adding the condition and n.name = 'your_constraint_name' . Why can indexes and constraints be so different? In particular, you may use for example an index on columns (c, a, b) to enable a unique constraint on columns (a, b, c). Remember a constraint is a logical structure whereas an index is a physical one. So a unique or a primary constraint just describe the uniqueness. If (c, a, b) is unique then all other permutations are...

Tips on exp and imp

Export Tips: * Use buffer parameter while using export and import by atleast 5000000( 5MB ) which will increase the performance of exp and imp by 3 folds. (conventional path) * Take care with NLS_LANG. It must match with V$NLS_PARAMETERS.NLS_CHARACTERSET. * For Speedy Exports set parameter db_file_multiblock_read_count =128. (OS Dependent) * The Export parameter BUFFER applies only to conventional path Exports. For direct path Export, use the RECORDLENGTH parameter to specify the size of the buffer that Export uses for writing to the export file. * Use direct mode export (direct=Y). * RECORDLENGTH recommended values: Multiples of the file system I/O block size, Multiples of DB_BLOCK_SIZE Import Tips: * Use indexes=n to ignore the index importing. * Using indexfile to create the index to file, create the indexes after the importing using script file. * Using rows=n indexes=y to import index in a separate import action. Example: exp eva6004/eva6004@uwms file=ev...

Oracle SQL Developer v 1.1 Evaluation Release 3 - Known Issues

Contents General Connections Creating and Modifying Objects PL/SQL Preferences Reports Schema Diff Linux Only Issues Oracle 8.1.7 (Not Certified) 1. General Settings from previous release not migrated Extensions for SQL Developer 1.0 no longer work 1.1. You can't invoke SQL*Plus for users with TNSNAMES Connections. Query Builder Where Clause for a self referencing table is incorrect. Tables are not listed alphabetically. You can't always drag a table onto the white space. Workaround: Close and reopen the Query Builder. Two consecutive queries give an Ora error. Workaround: Add ';' to the first, before adding second query. Icons to be updated for production release. PL/SQL icons require more definition There is an error when you add External Tools. This is not causing any SQL Developer errors. You can ignore it. 2. Connections Cannot connect to remote database as OPS$ account. Import Connection: Does not permit replacing existing connections. ...