How to Compare Two Oracle 10g Form(FMB) file.
Hi,
One developer had done some changes in one file called N004 version 2. I have done some changes in N004 version 3. If I like to see difference between two Oracle Form Version(FMB) then How can we see them..?
Thanks,
Div
I'd convert it to xml before, as you can't be sure that two fmb's which are exact the same could look different in a text editor; first form got compiled with forms compiler and the second not => should not differ in functional way but I'm pretty sure that the files itself look diffrerent.
regards
Similar Messages
-
How to compare two oracle database schemas
hi all,
i want to compare and find out differences between two oracle databases. The comparison should be made on between table definition,table data,primary and foreign keys, packages and functions.
Is there any management console or tool embedded in the oracle enterprise manger?
it is really appreciate if anyone can point me towards wright direction asap.Hi ,
This script would help u a lot in comparing 2 schemas and generate a report on them.
Script:
This script will compare two Oracle schemas and generate a report of
discrepencies and this script has been used against Oracle 7.3.4, 8.0.5,
REM and 8.1.7 databases, but it should also work with other versions.
REM
REM Please note that the following schema object types and attributes are
REM not compared by this script at this time:
REM
REM cluster definitions
REM comments on tables and columns
REM nesting, partition, IOT, and temporary attributes of tables
REM snapshots/materialized views, logs, and refresh groups
REM foreign function libraries
REM object types
REM operators
REM indextypes
REM dimensions
REM auditing information
REM new schema attributes added for Oracle 9i
REM
REM Version 02-04-2002
REM
PROMPT
PROMPT Schema Comparison
PROMPT =================
PROMPT
PROMPT Run this script while connected to one Oracle schema. Enter the Oracle
PROMPT username, password, and SQL*Net / Net8 service name of a second schema.
PROMPT This script will compare the two schemas and generate a report of
PROMPT differences.
PROMPT
PROMPT A temporary database link and table will be created and dropped by
PROMPT this script.
PROMPT
ACCEPT schema CHAR PROMPT "Enter username for remote schema: "
ACCEPT passwd CHAR PROMPT "Enter password for remote schema: " HIDE
ACCEPT tnssvc CHAR PROMPT "Enter SQL*Net / Net8 service for remote schema: "
PROMPT
ACCEPT report CHAR PROMPT "Enter filename for report output: "
SET FEEDBACK OFF
SET VERIFY OFF
CREATE DATABASE LINK rem_schema CONNECT TO &schema IDENTIFIED BY &passwd
USING '&tnssvc';
SET TRIMSPOOL ON
SPOOL &report
SELECT SUBSTR (RPAD (TO_CHAR (SYSDATE, 'mm/dd/yyyy hh24:mi:ss'), 25), 1, 25)
"REPORT DATE AND TIME"
FROM SYS.dual;
COL local_schema FORMAT a35 TRUNC HEADING "LOCAL SCHEMA"
COL remote_schema FORMAT a35 TRUNC HEADING "REMOTE SCHEMA"
SELECT USER || '@' || C.global_name local_schema,
A.username || '@' || B.global_name remote_schema
FROM user_users@rem_schema A, global_name@rem_schema B, global_name C
WHERE ROWNUM = 1;
SET PAGESIZE 9999
SET LINESIZE 250
SET FEEDBACK 1
SET TERMOUT OFF
PROMPT
REM Object differences
REM ==================
COL object_name FORMAT a30
PROMPT SUMMARY OF OBJECTS MISSING FROM LOCAL SCHEMA
SELECT object_type, COUNT (*)
FROM
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects@rem_schema
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects
GROUP BY object_type
ORDER BY object_type;
PROMPT SUMMARY OF EXTRANEOUS OBJECTS IN LOCAL SCHEMA
SELECT object_type, COUNT (*)
FROM
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects
WHERE object_type != 'DATABASE LINK'
OR object_name NOT LIKE 'REM_SCHEMA.%'
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects@rem_schema
GROUP BY object_type
ORDER BY object_type;
PROMPT OBJECTS MISSING FROM LOCAL SCHEMA
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects@rem_schema
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects
ORDER BY object_type, object_name;
PROMPT EXTRANEOUS OBJECTS IN LOCAL SCHEMA
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects
WHERE object_type != 'DATABASE LINK'
OR object_name NOT LIKE 'REM_SCHEMA.%'
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects@rem_schema
ORDER BY object_type, object_name;
PROMPT OBJECTS IN LOCAL SCHEMA THAT ARE NOT VALID
SELECT object_name, object_type, status
FROM user_objects
WHERE status != 'VALID'
ORDER BY object_name, object_type;
REM Table differences
REM =================
PROMPT TABLE COLUMNS MISSING FROM ONE SCHEMA
PROMPT (NOTE THAT THIS REPORT DOES NOT LIST DISCREPENCIES IN COLUMN ORDER)
SELECT table_name, column_name, 'Local' "MISSING IN SCHEMA"
FROM user_tab_columns@rem_schema
WHERE table_name IN
SELECT table_name
FROM user_tables
MINUS
SELECT table_name, column_name, 'Local' "MISSING IN SCHEMA"
FROM user_tab_columns
UNION ALL
SELECT table_name, column_name, 'Remote' "MISSING IN SCHEMA"
FROM user_tab_columns
WHERE table_name IN
SELECT table_name
FROM user_tables@rem_schema
MINUS
SELECT table_name, column_name, 'Remote' "MISSING IN SCHEMA"
FROM user_tab_columns@rem_schema
ORDER BY 1, 2;
COL schema FORMAT a15
COL nullable FORMAT a8
COL data_type FORMAT a9
COL data_length FORMAT 9999 HEADING LENGTH
COL data_precision FORMAT 9999 HEADING PRECISION
COL data_scale FORMAT 9999 HEADING SCALE
COL default_length FORMAT 9999 HEADING LENGTH_OF_DEFAULT_VALUE
PROMPT DATATYPE DISCREPENCIES FOR TABLE COLUMNS THAT EXIST IN BOTH SCHEMAS
SELECT table_name, column_name, 'Remote' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns@rem_schema
WHERE (table_name, column_name) IN
SELECT table_name, column_name
FROM user_tab_columns
MINUS
SELECT table_name, column_name, 'Remote' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns
UNION ALL
SELECT table_name, column_name, 'Local' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns
WHERE (table_name, column_name) IN
SELECT table_name, column_name
FROM user_tab_columns@rem_schema
MINUS
SELECT table_name, column_name, 'Local' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns@rem_schema
ORDER BY 1, 2, 3;
REM Index differences
REM =================
COL column_position FORMAT 999 HEADING ORDER
PROMPT INDEX DISCREPENCIES FOR INDEXES THAT EXIST IN BOTH SCHEMAS
SELECT A.index_name, 'Remote' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes@rem_schema A, user_ind_columns@rem_schema B
WHERE A.index_name IN
SELECT index_name
FROM user_indexes
AND B.index_name = A.index_name
AND B.table_name = A.table_name
MINUS
SELECT A.index_name, 'Remote' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes A, user_ind_columns B
WHERE B.index_name = A.index_name
AND B.table_name = A.table_name
UNION ALL
SELECT A.index_name, 'Local' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes A, user_ind_columns B
WHERE A.index_name IN
SELECT index_name
FROM user_indexes@rem_schema
AND B.index_name = A.index_name
AND B.table_name = A.table_name
MINUS
SELECT A.index_name, 'Local' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes@rem_schema A, user_ind_columns@rem_schema B
WHERE B.index_name = A.index_name
AND B.table_name = A.table_name
ORDER BY 1, 2, 6;
REM Constraint differences
REM ======================
PROMPT CONSTRAINT DISCREPENCIES FOR TABLES THAT EXIST IN BOTH SCHEMAS
SET FEEDBACK OFF
CREATE TABLE temp_schema_compare
database NUMBER(1),
object_name VARCHAR2(30),
object_text VARCHAR2(2000),
hash_value NUMBER
DECLARE
CURSOR c1 IS
SELECT constraint_name, search_condition
FROM user_constraints
WHERE search_condition IS NOT NULL;
CURSOR c2 IS
SELECT constraint_name, search_condition
FROM user_constraints@rem_schema
WHERE search_condition IS NOT NULL;
v_constraint_name VARCHAR2(30);
v_search_condition VARCHAR2(32767);
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_constraint_name, v_search_condition;
EXIT WHEN c1%NOTFOUND;
v_search_condition := SUBSTR (v_search_condition, 1, 2000);
INSERT INTO temp_schema_compare
database, object_name, object_text
VALUES
1, v_constraint_name, v_search_condition
END LOOP;
CLOSE c1;
OPEN c2;
LOOP
FETCH c2 INTO v_constraint_name, v_search_condition;
EXIT WHEN c2%NOTFOUND;
v_search_condition := SUBSTR (v_search_condition, 1, 2000);
INSERT INTO temp_schema_compare
database, object_name, object_text
VALUES
2, v_constraint_name, v_search_condition
END LOOP;
CLOSE c2;
COMMIT;
END;
SET FEEDBACK 1
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Remote' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints@rem_schema A, temp_schema_compare B
WHERE A.table_name IN
SELECT table_name
FROM user_tables
AND B.database (+) = 2
AND B.object_name (+) = A.constraint_name
MINUS
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Remote' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints A, temp_schema_compare B
WHERE B.database (+) = 1
AND B.object_name (+) = A.constraint_name
UNION ALL
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Local' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints A, temp_schema_compare B
WHERE A.table_name IN
SELECT table_name
FROM user_tables@rem_schema
AND B.database (+) = 1
AND B.object_name (+) = A.constraint_name
MINUS
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Local' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints@rem_schema A, temp_schema_compare B
WHERE B.database (+) = 2
AND B.object_name (+) = A.constraint_name
ORDER BY 1, 4, 2;
REM Database link differences
REM =========================
PROMPT DATABASE LINK DISCREPENCIES
COL db_link FORMAT a40
SELECT db_link, 'Remote' schema, username, host
FROM user_db_links@rem_schema
MINUS
SELECT db_link, 'Remote' schema, username, host
FROM user_db_links
UNION ALL
SELECT db_link, 'Local' schema, username, host
FROM user_db_links
WHERE db_link NOT LIKE 'REM_SCHEMA.%'
MINUS
SELECT db_link, 'Local' schema, username, host
FROM user_db_links@rem_schema
ORDER BY 1, 2;
REM Sequence differences
REM ====================
PROMPT SEQUENCE DISCREPENCIES
SELECT sequence_name, 'Remote' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences@rem_schema
MINUS
SELECT sequence_name, 'Remote' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences
UNION ALL
SELECT sequence_name, 'Local' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences
MINUS
SELECT sequence_name, 'Local' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences@rem_schema
ORDER BY 1, 2;
REM Private synonym differences
REM ===========================
PROMPT PRIVATE SYNONYM DISCREPENCIES
SELECT synonym_name, 'Remote' schema, table_owner, table_name, db_link
FROM user_synonyms@rem_schema
MINUS
SELECT synonym_name, 'Remote' schema, table_owner, table_name, db_link
FROM user_synonyms
UNION ALL
SELECT synonym_name, 'Local' schema, table_owner, table_name, db_link
FROM user_synonyms
MINUS
SELECT synonym_name, 'Local' schema, table_owner, table_name, db_link
FROM user_synonyms@rem_schema
ORDER BY 1, 2;
REM PL/SQL differences
REM ==================
PROMPT SOURCE CODE DISCREPENCIES FOR PACKAGES, PROCEDURES, AND FUNCTIONS
PROMPT THAT EXIST IN BOTH SCHEMAS
SELECT name, type, COUNT (*) discrepencies
FROM
SELECT name, type, line, text
FROM user_source@rem_schema
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects
MINUS
SELECT name, type, line, text
FROM user_source
UNION ALL
SELECT name, type, line, text
FROM user_source
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects@rem_schema
MINUS
SELECT name, type, line, text
FROM user_source@rem_schema
GROUP BY name, type
ORDER BY name, type;
PROMPT SOURCE CODE DISCREPENCIES FOR PACKAGES, PROCEDURES, AND FUNCTIONS
PROMPT THAT EXIST IN BOTH SCHEMAS (CASE INSENSITIVE COMPARISON)
SELECT name, type, COUNT (*) discrepencies
FROM
SELECT name, type, line, UPPER (text)
FROM user_source@rem_schema
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects
MINUS
SELECT name, type, line, UPPER (text)
FROM user_source
UNION ALL
SELECT name, type, line, UPPER (text)
FROM user_source
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects@rem_schema
MINUS
SELECT name, type, line, UPPER (text)
FROM user_source@rem_schema
GROUP BY name, type
ORDER BY name, type;
REM Trigger differences
REM ===================
PROMPT TRIGGER DISCREPENCIES
SET FEEDBACK OFF
TRUNCATE TABLE temp_schema_compare;
DECLARE
CURSOR c1 IS
SELECT trigger_name, trigger_body
FROM user_triggers;
CURSOR c2 IS
SELECT trigger_name, trigger_body
FROM user_triggers@rem_schema;
v_trigger_name VARCHAR2(30);
v_trigger_body VARCHAR2(32767);
v_hash_value NUMBER;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_trigger_name, v_trigger_body;
EXIT WHEN c1%NOTFOUND;
v_trigger_body := REPLACE (v_trigger_body, ' ', NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(9), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(10), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(13), NULL);
v_trigger_body := UPPER (v_trigger_body);
v_hash_value := dbms_utility.get_hash_value (v_trigger_body, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (1, v_trigger_name, v_hash_value);
END LOOP;
CLOSE c1;
OPEN c2;
LOOP
FETCH c2 INTO v_trigger_name, v_trigger_body;
EXIT WHEN c2%NOTFOUND;
v_trigger_body := REPLACE (v_trigger_body, ' ', NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(9), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(10), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(13), NULL);
v_trigger_body := UPPER (v_trigger_body);
v_hash_value := dbms_utility.get_hash_value (v_trigger_body, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (2, v_trigger_name, v_hash_value);
END LOOP;
CLOSE c2;
END;
SET FEEDBACK 1
SELECT A.trigger_name, 'Local' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 1
AND A.table_name IN
SELECT table_name
FROM user_tables@rem_schema
MINUS
SELECT A.trigger_name, 'Local' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 2
UNION ALL
SELECT A.trigger_name, 'Remote' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 2
AND A.table_name IN
SELECT table_name
FROM user_tables
MINUS
SELECT A.trigger_name, 'Remote' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 1
ORDER BY 1, 2, 5, 3;
REM View differences
REM ================
PROMPT VIEW DISCREPENCIES
SET FEEDBACK OFF
TRUNCATE TABLE temp_schema_compare;
DECLARE
CURSOR c1 IS
SELECT view_name, text
FROM user_views;
CURSOR c2 IS
SELECT view_name, text
FROM user_views@rem_schema;
v_view_name VARCHAR2(30);
v_text VARCHAR2(32767);
v_hash_value NUMBER;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_view_name, v_text;
EXIT WHEN c1%NOTFOUND;
v_text := REPLACE (v_text, ' ', NULL);
v_text := REPLACE (v_text, CHR(9), NULL);
v_text := REPLACE (v_text, CHR(10), NULL);
v_text := REPLACE (v_text, CHR(13), NULL);
v_text := UPPER (v_text);
v_hash_value := dbms_utility.get_hash_value (v_text, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (1, v_view_name, v_hash_value);
END LOOP;
CLOSE c1;
OPEN c2;
LOOP
FETCH c2 INTO v_view_name, v_text;
EXIT WHEN c2%NOTFOUND;
v_text := REPLACE (v_text, ' ', NULL);
v_text := REPLACE (v_text, CHR(9), NULL);
v_text := REPLACE (v_text, CHR(10), NULL);
v_text := REPLACE (v_text, CHR(13), NULL);
v_text := UPPER (v_text);
v_hash_value := dbms_utility.get_hash_value (v_text, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (2, v_view_name, v_hash_value);
END LOOP;
CLOSE c2;
END;
SET FEEDBACK 1
SELECT A.view_name, 'Local' schema, B.hash_value
FROM user_views A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 1
AND A.view_name IN
SELECT view_name
FROM user_views@rem_schema
MINUS
SELECT A.view_name, 'Local' schema, B.hash_value
FROM user_views@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 2
UNION ALL
SELECT A.view_name, 'Remote' schema, B.hash_value
FROM user_views@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 2
AND A.view_name IN
SELECT view_name
FROM user_views
MINUS
SELECT A.view_name, 'Remote' schema, B.hash_value
FROM user_views A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 1
ORDER BY 1, 2;
REM Job queue differences
REM =====================
COL what FORMAT a30
COL interval FORMAT a30
PROMPT JOB QUEUE DISCREPENCIES
SELECT what, interval, 'Remote' schema
FROM user_jobs@rem_schema
MINUS
SELECT what, interval, 'Remote' schema
FROM user_jobs
UNION ALL
SELECT what, interval, 'Local' schema
FROM user_jobs
MINUS
SELECT what, interval, 'Local' schema
FROM user_jobs@rem_schema
ORDER BY 1, 2, 3;
REM Privilege differences
REM =====================
PROMPT OBJECT-LEVEL GRANT DISCREPENCIES
SELECT owner, table_name, 'Remote' schema, grantee, privilege, grantable
FROM user_tab_privs@rem_schema
WHERE (owner, table_name) IN
SELECT owner, object_name
FROM all_objects
MINUS
SELECT owner, table_name, 'Remote' schema, grantee, privilege, grantable
FROM user_tab_privs
UNION ALL
SELECT owner, table_name, 'Local' schema, grantee, privilege, grantable
FROM user_tab_privs
WHERE (owner, table_name) IN
SELECT owner, object_name
FROM all_objects@rem_schema
MINUS
SELECT owner, table_name, 'Local' schema, grantee, privilege, grantable
FROM user_tab_privs@rem_schema
ORDER BY 1, 2, 3;
PROMPT SYSTEM PRIVILEGE DISCREPENCIES
SELECT privilege, 'Remote' schema, admin_option
FROM user_sys_privs@rem_schema
MINUS
SELECT privilege, 'Remote' schema, admin_option
FROM user_sys_privs
UNION ALL
SELECT privilege, 'Local' schema, admin_option
FROM user_sys_privs
MINUS
SELECT privilege, 'Local' schema, admin_option
FROM user_sys_privs@rem_schema
ORDER BY 1, 2;
PROMPT ROLE PRIVILEGE DISCREPENCIES
SELECT granted_role, 'Remote' schema, admin_option, default_role, os_granted
FROM user_role_privs@rem_schema
MINUS
SELECT granted_role, 'Remote' schema, admin_option, default_role, os_granted
FROM user_role_privs
UNION ALL
SELECT granted_role, 'Local' schema, admin_option, default_role, os_granted
FROM user_role_privs
MINUS
SELECT granted_role, 'Local' schema, admin_option, default_role, os_granted
FROM user_role_privs@rem_schema
ORDER BY 1, 2;
SPOOL OFF
SET TERMOUT ON
PROMPT
PROMPT Report output written to &report
SET FEEDBACK OFF
DROP TABLE temp_schema_compare;
DROP DATABASE LINK rem_schema;
SET FEEDBACK 6
SET PAGESIZE 20
SET LINESIZE 80 -
Configure Oracle 10g Forms 9i for XML
How do I configure Oracle 10g Forms 9i to compile XML code? Is there a particular configuration file I need to update with .jar files that references XML processing or parsing?
Thanks!There is a java utility that can take an XML file that you have generated from an fmb file previously and compile it back to an fmb file.
Its called frmxml2f.bat. You'll find it in $Oracle_home/bin -
How to run a report from oracle 10g form in .csv format
dear all,
how to run a report from oracle 10g form in .csv format? i've already run in pdf & excel format.
i'm using
SET_REPORT_OBJECT_PROPERTY (ro_report_id, report_desformat, 'PDF'); --for pdf
SET_REPORT_OBJECT_PROPERTY (ro_report_id, report_desformat, 'SPREADSHEET'); ---for excel
Please Help..i have already tried.
but the report show in htm or html format. that file will not save into csv. please help. -
How to convert oracle form fmb file to java swing file using Jdeveloper
how to convert oracle form fmb file to java swing file using Jdeveloper.Please explain with detailes steps if possible or please give a link where it is available
thanks
Message was edited by:
user591884There is no automatic way to do this in JDeveloper. I know there are some Oracle Partners offering forms to java conversion, I don't know how much of their tools are automated and done with JDeveloper. With JDeveloper+ADF you basically rewriting the Forms application from scratch (and using ADF is helpful during this process).
-
How to Develope Charts in Oracle 10G Forms
hi
i want to design charts in 10G forms DS. but i could not find chart builder in 10G.
please help me how to design charts in 10G Forms.
thanks.You would probably use a Java Bean for this. See otn.oracle.com/products/forms and under teh 9i sample code is a graphing bean demo which is part of the downloadable demos.
Regards
Grant Ronald
Forms Product Management -
Enable Tracing for Oracle 10g Forms
Hi All,
When I try to launch Oracle 10g Forms from web, it comes up, displays blank screen and goes away. Same happens for test.fmb.
How can I start tracing on Form Services or Oracle 10g Forms?
Any help would be appreciated.
Thanks in advance.You possibly have a popup or ad blocker active. Forms will most likely not work with a blocker.
-
Un-embed applet on oracle 10g forms from web browser
Hi all,
I want to ask how can i seperately open my applet from web browser in oracle 10g forms. To be more precise to my question, i dont want to use my applet in web browser. It should be opened in new window i.e. applet window.
Regards,
Qasim Javaid MalikIf you want to run forms without the IE browser (hidden)
Try this
To open web forms just like client server with a hidden IE window, I have invented two methods.
****** make seperateFrame = True on formsweb.cfg ******
Method 1
<job id="SYMA">
<script language="VBScript">
Const SW_HIDE = 0
Const High = 128
strComputer = "."
strCommand = "C:\Program Files\Internet Explorer\IEXPLORE.EXE http://symphony-devl.atradiusnet.com/forms/frmservlet?config=syma"
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")
' Configure the Notepad process to show a window
Set objStartup = objWMIService.Get("Win32_ProcessStartup")
Set objConfig = objStartup.SpawnInstance_
' Create Notepad process
Set objProcess = objWMIService.Get("Win32_Process")
intReturn = objProcess.Create _
(strCommand,Symphony, objConfig, intProcessID)
If intReturn <> 0 Then
Wscript.Echo "Process could not be created." & _
vbNewLine & "Command line: " & strCommand & _
vbNewLine & "Return value: " & intReturn
Else
Wscript.Echo "Process created." & _
vbNewLine & "Command line: " & strCommand & _
vbNewLine & "Process ID: " & intProcessID
End If
</script>
</job>
Method 2
<job id="SYMA">
<script language="VBScript">
dim objShell
set objShell = CreateObject("InternetExplorer.Application")
objShell.ShellExecute "C:\Program Files\Internet Explorer\IEXPLORE.EXE", "http://ws-79767.atradiusnet.com:8890/forms/frmservlet?config=localJpi", "", "open",0
</script>
</job>
Change the URL as appropriate, it's fantasitic .... !!!!!!
Any questions let me know ...... ! -
Iconic file in oracle 10g forms
hii,,
i am a new user in oracle 10g form,,,here i am running a form & placing all the icons in a folder,after that i changed the iconic file path in the default.env file,the path is same where the icons are kept,,but still i am unable to see the icons at the run time,,,,,
do i need to modify some other file or the icons will be kept at some particaular place????
plzzzz help.....hi
1 How to Display Iconic Images Using Forms 9.0.x/ 10.x?
When running an Oracle Forms 9i/10g application the icon files used must be in a web enabled
format such as JPG or GIF (GIF is the default format) (This is unlike older versions of forms running in client-server mode when the file format is .ico.)
Icon image files can either be retrieved by Forms as individual files on the filesystem or from a Java Archive (JAR file).
If an application uses lots of icon images it is recommended that they are stored in a JAR file to reduce the number of HTTP round trips.
Reference:Note 232413.1 How to Deploy Iconic Images via a JAR File in Forms 9i/10g?
The example below details steps to configure iconic images as individual gif or jpeg files.
It is a first approach recommended for initial testing and understanding.
Example:
========
This document has been written for use with both Windows and UNIX operating systems: Windows will use the "\" character to delimit directories and UNIX uses the "/" character. Any other differences are noted in the document.
1) Determine the physical location of the icons on your web server. For this example, assume that the icons are stored in D:\Myfiles\icons.
2) Create the virtual directory in the forms90.conf file that point to the location of your Forms 9i/10g icons. This file is located in:
$ORACLE_HOME\forms90\server\forms90.conf
To define a virtual directory forms90/icons, use the following syntax:
# Virtual path for ICONS (used to show icons in a form ) AliasMatch ^/forms90/icons/(..*) "D:\Myfiles/icons/$1"
Below is an example of the forms90.conf after it has been modified to include the /forms90/icons virtual directory.
# Virtual path mapping for Forms Java jar and class files (codebase) AliasMatch ^/forms90/java/(..*) "E:\IASR2\APP/forms90/java/$1" # Virtual path for JInitiator downloadable executable and download page AliasMatch ^/forms90/jinitiator/(..*) "E:\IASR2\APP/jinit/$1" # Virtual path for runform.htm (used to run a form for testing purposes) AliasMatch ^/forms90/html/(..*) "E:\IASR2\APP/tools/web90/html/$1"
# Virtual path for ICONS (used to show icons in a form ) AliasMatch ^/forms90/icons/(..*) "D:\Myfiles/icons/$1"
( For 10g use instead of "forms90" -> "forms")
3) Direct forms to use the /forms90/icons or /forms/icons virtual directory when running on the web by modifying the Registry.dat file in the $ORACLE_HOME\forms90\java\oracle\forms\registry or $ORACLE_HOME\forms\java\oracle\forms\registry
directory. Note that for UNIX, both the path name and file name are case sensitive. You must specify "Registry.dat".
Modify the default.icons.iconpath entry as follows: default.icons.iconpath=http:///forms90/icons/ or default.icons.iconpath=http:///forms/icons/
If the URL used to bring up forms on the web is: http://abc.oracle.com:7778/forms90/f90servlet or http://abc.oracle.com:7778/forms/frmservlet
Then the entry required for the Registry.dat will be: default.icons.iconpath=http://abc.oracle.com:7778/forms90/icons or default.icons.iconpath=http://abc.oracle.com:7778/forms/icons default.icons.iconextension=gif
4) Now use EM Website to: a) Restart the OC4J-BI-Forms Instance b) Restart the BI-FORMS HTTP Server Instance.
5) Verify that the virtual directory has been defined properly and that the icons can be viewed in a browser.
Assuming that exeqry.gif exists in the D:\Myfiles\icons directory, the following URL should show the icon:
http://abc.oracle.com:7778/forms90/icons/exeqry.gif or http://abc.oracle.com:7778/forms/icons/exeqry.gif
6) Check the form : http://abc.oracle.com:7778/forms90/f90servlet?form=D:\Testcases\F90\ICON_CHECK_IASR2.fmx or http://abc.oracle.com:7778/forms/frmservlet?form=D:\Testcases\F10g\ICON_CHECK_IASR2.fmx
CHECKLISTS
=============
Icons do not appear in the browser using the URL:
o Verify that you are using the correct machine name and port for the OC4J_BI_Forms object.
o Check the virtual directory name to make sure that there are no typographical errors. o Check for typographical errors in the forms90.conf or forms.
conf for the virtual directory. o Check the name of the icon on the file system. If the file is saved as Exeqry.gif, then it will not be found using the URL http://abc.oracle.com:7778/forms90/ Close all your browser sessions and open a new browser window.
Execute the URL to bring up from the Form Builder runtime or from the browser.
( For 10G use "forms" instead of "forms90")USEFUL REFERENCES:==================
[PDF] Oracle9iAS Forms Services Deployment Guide (P/N B10170-01)Configuring Oracle9iAS Forms Services ->
Deploying Icons and Images Used by Oracle9iAS Forms Services http://otn.oracle.com/products/forms/pdf/B10170_01.pdf
[PDF] Oracle9iForms Services - How to Deploy Iconshttp://otn.oracle.com/products/forms/pdf/webicons.pdf
sarah -
Oracle 10g forms (Not running)
Members,
I have been using orcale 9i forms and currently I have uninstalled the Oracle 9i forms. I installed Oracle 10g forms and everything seems alright. When I ran my application, It did not display properly. I uninstalled the java initiator of 9i. I did run the application again, It downloaded and installed the J initiator. When I ran the application again, the same message appeared. Here is a sample of the message.
<html> <head> ORACLE FORMS.</head>
<body onload="document.pform.submit();" >
<form name="pform" action="http://SilverHorn:8889/forms90/f90servlet" method="POST">
<input type="hidden" name="form" value="C:\SilverHorn\Ihrms\Ihrsmdi.fmx">
<input type="hidden" name="userid" value="SCOTT/TIGER@Silver">
<input type="hidden" name="obr" value="yes">
<input type="hidden" name="array" value="YES">
</form> </body></html>
When I enter the path of the application in the browser address, http://SilverHorn:8889/forms90/f90servlet?forms=C:\SilverHorn\Ihrms\Ihrsmdi.fmx, the application start running, but anytime I did run the application from forms, it gives the above message in the browser.
Please I need help on how I will resolve the above to be able to run it from the forms developer environment.
ThanksMembers,
I have been using orcale 9i forms and currently I
have uninstalled the Oracle 9i forms. I installed
Oracle 10g forms and everything seems alright. When
I ran my application, It did not display properly. I
uninstalled the java initiator of 9i. I did run the
application again, It downloaded and installed the J
initiator. When I ran the application again, the same
message appeared. Here is a sample of the message.
<html> <head> ORACLE FORMS.</head>
<body onload="document.pform.submit();" >
<form name="pform"
action="http://SilverHorn:8889/forms90/f90servlet"
method="POST">
<input type="hidden" name="form"
value="C:\SilverHorn\Ihrms\Ihrsmdi.fmx">
ype="hidden" name="userid"
value="SCOTT/TIGER@Silver">
ype="hidden" name="obr" value="yes">
<input type="hidden" name="array"
value="YES">
</body></html>
When I enter the path of the application in the
browser address,
http://SilverHorn:8889/forms90/f90servlet?forms=C:\Sil
verHorn\Ihrms\Ihrsmdi.fmx, the application start
running, but anytime I did run the application from
forms, it gives the above message in the browser.
Please I need help on how I will resolve the above to
be able to run it from the forms developer
environment.
Thanksyour problem seems to be related with the browser and the JInitiator version.
What is the exact Forms version you are working right now???
Browser ?? JInitiator or JRE??
It can't be Forms 10g R2 and you have forms90.You mentioned Forms 10g in your first post.
Are you running in seperate frame?? if not try it
Tony -
Oracle 10g Forms Builder in Windows 7
Oracle 10g Forms Builder crashes whenever we try to open existing 10g fmb files.
is Windows 7 certified to run Oracle Dev Suite 10g and/or are there patches required to run this in the said OS?Hi,
Thanks a lot for using our community.
Please note that your posting has been moved to the "Oracle Developer Suite (Forms、Reports、Designer)" Community to better deal with your topic.
Thank you and best regards,
Saravanan - Database Administration Community Moderator -
Installing Oracle 10g Forms and Reports in Cluster Mode
Dear All,
My OS version is RHEL 4
In our current setup we have oracle 10g database two node cluster and Application Server 10g to node cluster.
Currently our report server has been configured to run in standalone mode
I have been asked to configure oracle 10g forms and report server in cluster mode.
Please provide me with the documentation link to configure oracle 10g reports server in cluster mode.
Thanks and Regards
Monoj Dasmy main goal is load balancing only
Then what I've done in 2007 might be what you need. In that thread there is a link to Web Cache Administrator's Guide : there you'll find everything you need to configure the web cache as a load balancer, particularly chapter 8 Setup and Configuration.
Anyway, here briefly some configurations : we have two machines, say MachineA and MachineB. The DNS resolves MachineA to a virtual address, which is normally assigned to MachineA; if MachineA crashes, it gets assigned to MachineB.
Users URL looks like this : http://MachineA:<port>/forms/frmservlet?config=<some config>
MachineA's web cache distributes connection requests between MachineA and MachineB.
Of course we're now using 11g as well, but that's another thing. -
Hi All,
How to Upgrade OracleAS 10g Forms from 10.1.2.3.0 to 10.1.2.3.1 in R12.1.2?
Platform Linux and DB version 10.2.0.4.
Thanks & Regards,
Tharun10.1.2.3.0 is the latest certified patchset with EBS R12
Upgrading OracleAS 10g Forms and Reports in Oracle E-Business Suite Release 12 (Doc ID 437878.1)
https://blogs.oracle.com/stevenChan/entry/forms_reports_10123_bundle_ebs
Thanks,
Hussein -
Sir I am using oracle 10g form and Operating system is Windows Xp.I am using number of forms in my application,Kindly explain me how to improve oracle form loading performance
Hi joel
how to improve oracle form loading performancewhat do u mean by this do u have problems with not displaying the forms i mean does it crash on running in internet explorer...?
or it display a blank gray page pls clarify ?
Regards,
Amatu Allah. -
Biometric(FP) in oracle 10g forms
Hi....I want to implement Finger Print Identification in oracle 10g forms for attendance purpose,
can any one help....
which fp device will suitable...
how to implement this....
if any one had implemented this..plz guide me..
IM-KHAN on Jun 29, 2011 1:05 AMForms has no native mechanism to support biometrics. However, it may be possible if you were to engineer your own java bean and integrate it into the form. Alternatively, you could integrate Forms with Oracle SSO and incorporate biometrics into SSO.
Java Bean examples can be found in the Forms Demos as well as numerous third party vendors and forums. Here is one example:
http://forms.pjc.bean.over-blog.com/
You might want to review the Oracle SSO documentation. Here is a chapter of interest:
http://download.oracle.com/docs/cd/B14099_11/idmanage.1012/b14078/tpsso.htm
Maybe you are looking for
-
How do I revert the sort order to original?
In the middle of burning a cd, ITunes totally re-sorted my playlist! How do I undo this re-sort of my list back to the original list order?
-
Photoshop cc 2014, updated but don't seem to see the new features
I just updated my photoshop and lightroom cc to 2014 last night and when I wen ahead and try to check out the features this morning, I could not find any of them and looked at tutorial s and videos....
-
Playlists missing after copying library to new computer
I have just used my iPod to copy my iTunes library to my new computer following the instructions on the iTunes website, but contrary to what it promised, while it has copied the music, all the playlists are missing. Can anyone help me to avoid having
-
Can someone guide me how to change the display of song sequence in IPOD playlist (not in ITUNES). I really cannot find out how they are being ordered in IPOD. It doesnt seem to be ordered by song name or album or the way I added them. Let me know. th
-
Will photostream display custom photo titles ?
I've typed in new titles for each of my photos, rather than going with the 'DSCXXXX' or whatever default filename is assigned to my pictures. It's all displayed well and good in iphoto, but when I share the photos out via photosteam, the custom name