SCHEMA/DATABASE 내에 새로운 OBJECT 가 생성될때 자동으로 권한을 부여받는 방법

제품 : ORACLE SERVER
작성날짜 : 2002-11-05
SCHEMA/DATABASE 내에 새로운 OBJECT 가 생성될때 자동으로 권한을 부여받는 방법
=====================================================
PURPOSE
schema 나 database 내에 새로운 table 이 생성될 때 application role 에
object privilege 를 grant 하는 operation 을 자동으로 하는 방법에 대해
소개한다.
이 방법은 procedural object, view 와 같은 object type 에도 확장 적용할
수 있으며 database 내의 application object 의 보안을 관리하는 모든
DBA 에게 필요한 자료이다.
Explanation
CREATE 같은 DDL 문과 관련된 trigger 를 fire 시킬 수 있는 user event
를 사용한다.
- DDL trigger 는 database 나 schema 와 관련될 수 있다.
- SCHEMA triger 는 특정 user 에 대해 각 event 에 대해서 fire 된다.
- DATABASE trigger 는 모든 user 에 대해 각 event 에 대해 fire 된다.
Example
SCOTT schema 에 table 이 생성될 때마다, SELECT, INSERT, UPDATE,
DELETE privilege 를 role R1 에 grant 할 필요가 있는 예를 살펴보자.
( 참고로, 다음은 oracle 9i 에서 role R1 이 있다는 전제하에 test 한다.)
1. sys user 에서 새로 생성되는 table 이름을 저장할 table 을 생성한다.
생성된 table 을 특정 schema 또는 PUBLIC 으로 모든 권한을 부여한다.
SQL> connect / as sysdba
Connected.
SQL> drop table event_table;
Table dropped.
SQL> create table event_table
(ora_dict_obj_owner varchar2(30), ora_dict_obj_name varchar2(30));
Table created.
SQL> grant all on sys.event_table to scott;
Grant succeeded.
2. procedure 를 생성한다.
위의 1.에서 생성한 table 로 부터 table name 을 retrieve 하여
role R1 에 table name 의 권한을 부여하고 row 를 삭제한다.
SQL> create or replace PROCEDURE grant_proc AS
own VARCHAR2(30);
nam VARCHAR2(30);
v_cur INTEGER;
cursor pkgs is
select ora_dict_obj_owner, ora_dict_obj_name
from SYS.event_table;
BEGIN
open pkgs;
loop
fetch pkgs into own, nam;
exit when pkgs%notfound;
v_cur := dbms_sql.open_cursor;
dbms_sql.parse(v_cur,
'grant SELECT, INSERT, UPDATE, DELETE on '||own||'.
'||nam|| ' to R1', dbms_sql.native);
dbms_sql.close_cursor(v_cur);
commit;
delete from sys.event_table;
commit;
end loop;
end;
Procedure created.
3. role R1 에 권한을 부여하는 procedure 를 call 하는 job 을 submit
하는 procedure 를 생성한다.
SQL> create or replace procedure grant_job(procname varchar2) as
jobid number := 0;
procnm varchar2(30);
begin
ProcNm := 'Begin '||ProcName||'; End;';
dbms_job.submit(jobid, procnm);
commit;
end;
Procedure created.
4. trigger 를 생성한다.
이 trigger 는 CREATE 문 이후에 fire 되며 위의 1.에서 생성된
table 에 생성된 table 의 이름이 insert 된다.
그리고 role R1 에 object 권한을 부여하는 procedure 를 call 하는
job 을 submit 하는 procedure 를 call 한다.
SQL> CREATE or REPLACE TRIGGER role_update
AFTER CREATE on scott.schema
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
IF( ora_sysevent='CREATE' and ora_dict_obj_type = 'TABLE') THEN
insert into sys.event_table values
(ora_dict_obj_owner, ora_dict_obj_name);
grant_job('grant_proc');
END IF;
END;
Trigger created.
5. 다음의 작업으로 확인해 볼 수 있다.
SQL> connect scott/tiger
Connected.
SQL> create table test_trig (c number);
Table created.
SQL> create table test_trig2 (c number);
Table created.
SQL> select * from sys.event_table;
ORA_DICT_OBJ_OWNER ORA_DICT_OBJ_NAME
SCOTT TEST_TRIG
SCOTT TEST_TRIG2
-> 위에서 새로 생성된 table 의 이름들이 insert 되어 있다.
SQL> connect / as sysdba
Connected.
SQL> select * from dba_tab_privs where grantee='R1';
no rows selected
-> job 이 아직 실행되지 않았을 것이다.
SQL> select * from user_jobs;
JOB LOG_USER PRIV_USER
SCHEMA_USER LAST_DATE LAST_SEC THIS_DATE THIS_SEC NEXT_DATE
NEXT_SEC TOTAL_TIME B
INTERVAL
FAILURES
WHAT
NLS_ENV
MISC_ENV INSTANCE
39 SCOTT SYS
SYS 13-SEP-02
11:43:46 0 N
null
Begin grant_proc; End;
NLS_LANGUAGE='AMERICAN' NLS_TERRITORY='AMERICA' NLS_CURRENCY='$' NLS_ISO_CURRENC
Y='AMERICA' NLS_NUMERIC_CHARACTERS='.,' NLS_DATE_FORMAT='DD-MON-RR' NLS_DATE_LAN
GUAGE='AMERICAN' NLS_SORT='BINARY'
0102000000000000 0
-> job 이 실행되는 동안 기다린다.
다시 event_table 을 select 해 본다.
SQL> select * from sys.event_table;
no rows selected
SQL> select * from dba_tab_privs where grantee='R1';
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE
R1 SCOTT TEST_TRIG SCOTT INSERT NO NO
R1 SCOTT TEST_TRIG SCOTT SELECT NO NO
R1 SCOTT TEST_TRIG SCOTT UPDATE NO NO
R1 SCOTT TEST_TRIG SCOTT DELETE NO NO
R1 SCOTT TEST_TRIG2 SCOTT INSERT NO NO
R1 SCOTT TEST_TRIG2 SCOTT SELECT NO NO
R1 SCOTT TEST_TRIG2 SCOTT UPDATE NO NO
R1 SCOTT TEST_TRIG2 SCOTT DELETE NO NO
8 rows selected.
job 이 실행된 후 event_table 은 비워 있고
role R1 은 새로 생성된 2개의 table 에 대한 권한을 받았을 것이다.
SQL> select * from user_jobs;
no rows selected
단, 위에서 설명된 것에 따르면 SCHEMA trigger 는 현재 user 의
schema 에서만 fire 되므로 DBA 가 해당 schema 아래에 table 을 생성한다면 이는 작동되지 않을 것이다.
SQL> connect system/manager
Connected.
SQL> create table SCOTT.TEST_TRIG3 (c number);
Table created.
SQL> select * from dba_tab_privs
where grantee='R1' and table_name='TEST_TRIG3';
no rows selected
scott.schema 대신에 DATABASE 에 같은 trigger 를 생성한다면
schema 내에 생성된 table 은 누가 생성했던지 role R1 은 object 권한을
적절하게 부여 받을 것이다.
Reference Documents
<Note:210693.1>
Oracle9i Application Developer's Guide - Fundamentals
Chapter Working With System Events - Event Attribute Functions
Oracle8i SQL Reference - SQL Statements - CREATE TRIGGER
Oracle8i SQL Reference - SQL Statements - CREATE PROCEDURE

Similar Messages

  • Database schema SCM does not contain the associated database objects

    I am getting the following error when i am trying to migrate the form to apex using application migration.
    "*Database schema SCM does not contain the associated database objects for the project, aafs.*
    *Ensure the database schema associated with the project contains the database objects associated with the uploaded Forms Module .XML file(s).* ".
    Actully i am having one schema which i named as SCM, and i have defined one table TT.
    I created one form test.fmb in which i used TT table.its compiled successfully.
    Then i generated the xml file using frmf2xml from fmb file. After that, I created the project in appication migration wizard in SCM schema.
    Project creattion is working fine.but when i m trying to create application,it is showing me above error.
    can any one help in solving this problem.

    Hi Hilary,
    Thanks for your response/feedback.
    1. The schema associated with the project does not contain the necessary objects Can you please verify that the schema associated with your Forms conversion project does in fact contain the objects associated with the uploaded files. Could you also verify that the object names referenced in the error message do not exist within the schema associated with your workspace. Ensure that the schema associated with the project contains the necessary database objects before proceeding to the generation phase of the conversion process.
    Ans:
    Yes it does contain the objects (See results from SQL query Commands below):
    SELECT MWRA_CONTRACT_NO, OLD_CONTRACT_NO FROM PROJECTS@CONTRACT_LX19.MWRA.NET
    ORDER BY MWRA_CONTRACT_NO
    000000569 551TA
    000000570 553TA
    000000575 560TA
    000000576 561TA
    000107888 502TA
    000108498 500TA
    000108502 503TA
    2. The block being converted contains buttons, which may have been incorrectly identified as database columns, and included in the original or enhanced query associated with your block This is a known issue ,bug 9827853, and a fix will be available in our upcoming 4.0.1 patch release. Some possible solutions to this issue are:
    -> delete the buttons before generating the XML
    -> delete the button tags from the XML
    -> add "DatabaseItem=No" for the button in the XML file before importing it in Apex.The button is excluded when creating the Application.
    Ans
    yes it does contain push buttons to transfer to another forms and these are defined as Non data base items. Parial XML code provided below:
    - <Item Name="REPORTS" FontSize="900" DirtyInfo="true" Height="188" XPosition="4409" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3709" FontSpacing="Normal" Label="REPORTS" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    <Trigger Name="WHEN-BUTTON-PRESSED" TriggerText="GO_BLOCK('REPORT_1');" />
    </Item>
    - <Item Name="TRACKHDR" FontSize="900" DirtyInfo="true" Height="188" XPosition="3409" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3709" FontSpacing="Normal" Label="TRACK" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    <Trigger Name="WHEN-BUTTON-PRESSED" TriggerText="GO_BLOCK('TRACKHDRS');" />
    </Item>
    - <Item Name="SUBAWRD" FontSize="900" DirtyInfo="true" Height="188" XPosition="2429" FontName="Fixedsys" ForegroundColor="black" DatabaseItem="false" Width="948" CompressionQuality="None" YPosition="3719" FontSpacing="Normal" Label="SUBAWARDS" BackColor="canvas" FillPattern="transparent" ShowHorizontalScrollbar="false" FontWeight="Medium" ShowVerticalScrollbar="false" FontStyle="Plain" ItemType="Push Button">
    3. If you are still experiencing issues, then please create a testcase on apex.oracle.com and update this thread with the workspace details so I can take a look.
    Test case details are given below. It was created per ORACLE for open Service Request Number 3-1938902931 on ORACLE Metalink.
    Workspace: contract4
    username: [email protected] (my email)
    Password: contract4
    Comments:
    For my migration/testing purpose a dabatase link and synonyms have been setup by our ORACLE DBA. Could this be causing this problem?
    Do we know when the fix 4.0.1 patch release will be available?
    Thanks for your help.
    Indra

  • Schema Diagram error when drop new database objects

    Hi All,
    I am following the document to ad database objects to the Schema Diagram using JDeveloper 11.1.1.4. But when I drag a view to the diagram, it gives me this error.
    An error was encountered
    CAR_REFERENCE_CODES_V.CODE
    Name CODE is already in use.
    Here CAR_REFERENCE_CODES_V is the name of my view and CODE is the column name in the view.
    What should I do?
    Thanks

    Hello,
    There is a Connect item related to this issue. This is the link of that Connect item:
    https://connect.microsoft.com/SQLServer/feedback/details/730985/smss-crashes-when-creating-new-database-diagram
    Try the workarounds posted there (Workarounds section).
    Hope this helps.
    Regards,
    Alberto Morillo
    SQLCoffee.com

  • Database Objects node missing schemas

    When i expand 'Database Objects' in the object navigator i see users but i am wondering why this is only a subset of users when i select from DBA_USERS. How do i get to see all the schemas in the database and why is this not initially possible?
    Many Thanks
    Gus

    Hi
    My understanding is that the list of users that you see in the Navigator in Forms is just those users who own objects that you have privileges on. Create yourself a user with no privileges other than CONNECT - connect as that user in Forms, and all you see is the stuff that's been granted to PUBLIC.
    Most users won't necessarily own any objects, so you don't see them. But you see SYS for example because there are a whole heap of packages/views that are granted to PUBLIC.
    regards
    Andrew
    UK

  • Benefits of Assigning Database Objects to Schemas

    Hi,
    I need some clarification. Sam Alapati states the following in his book "Expert Oracle9i Database Administration:"
    "Dividing a database's objects among various schemas promotes ease of management and a higher level of security."
    Could you kindly explain how dividing a database's objects among various schemas promote
    1) ease of management, and
    2) higher level of security.
    Thanks,
    Karim

    Like it's been discuss in this thread.
    Re: Three database table sets under one schema
    in short
    1) ease of management
    you group your related database objects into schemas so it's easier for you to figure out which applications using which set of tables, packages etc.
    2) higher level of security
    schema owner has full access to it's objects. If you put every tables into one schema, you can't control which table schema holder has access to which he can't, because he owns everything.

  • Forced to remap one database object at a time

    Our application exposes a set of data objects (views) for external reporting. Field/row level data security conditions are built into the view definitions. Different access levels are segmented by schema names and in order to enable report reuse object names are identical between schemas.
    Users granted schema rights based on their access level.
    For example, user A is granted access only to the schema X which contains View1, View2, etc. while user B is granted access only to the schema Y which also contains View1, View2, etc.
    User A can reuse report created by user B (since object names are identical), however s/he cannot do it without first changing the data source location (since their access levels and therefore schema names are different).
    However, "Set Datasource Location" dialog (see sample screenshot below) does not allow one-click schema remapping. "Current Data Source" hierarchy does not directly expose schema name (it is listed as an "Owner" property of the individual table/view object) which forces user to remap one database object at a time by expanding top and bottom trees, highlighting matching objects and clicking "Update" button.
    Our question is: are there any menu items/settings or any other facilities in Crystal Report that would allow us to make re-mapping process less time-consuming?

    Hi Len,
    No, bottom line is the designer is used to "finalize" the report. It's not designed to be use this way. What I suggest you do is create an application that can set location/schema at view time to that person logging in. This way it's all done in the back end and relatively easy to do using one of our SDK's.
    Depending on what development tool and Report engine you use depends on which forum to post your question to. SAP will not create the application for you so you will need to get a developer involved.
    Thank you
    Don
    Senior Technical Assurance Engineer
    Developer Support Team
    Business Objects, an SAP Company

  • Error while import Database Objects in Oracle Module

    Hi All,
    I am getting dialog window saying below error when I click on Finish button on Import database objects wizard for oracle module.
    MMM 1034: Property ENCRYPT does not exist
    When clicked on detail button on error window it show below errors in detail
    MMM1034: Property ENCRYPT does not exist.
    MMM1034: Property ENCRYPT does not exist.
         at oracle.wh.repos.impl.extended.PropertyHelper.getProperty(PropertyHelper.java:741)
         at oracle.wh.repos.impl.extended.PropertyHelper.getScalarPropertyValue(PropertyHelper.java:833)
         at oracle.wh.repos.impl.extended.PropertyHelper.getScalarPropertyValue(PropertyHelper.java:828)
         at oracle.wh.repos.pdl.foundation.OWBRoot.getScalarPropertyValue(OWBRoot.java:5121)
         at oracle.wh.repos.impl.foundation.CMPElement.getScalarPropertyValue(CMPElement.java:1641)
         at oracle.wh.repos.impl.foundation.CMPElement.getBooleanProperty(CMPElement.java:1740)
         at oracle.wh.ui.integrator.common.ImportEntityAlgorithm.setColumnEncrypted(ImportEntityAlgorithm.java:4650)
         at oracle.wh.ui.integrator.common.ImportEntityAlgorithm.doImportColumns(ImportEntityAlgorithm.java:4400)
         at oracle.wh.ui.integrator.common.ImportEntityAlgorithm.importColumns(ImportEntityAlgorithm.java:3487)
         at oracle.wh.ui.integrator.common.ImportEntityAlgorithm.importTable(ImportEntityAlgorithm.java:1267)
         at oracle.wh.ui.integrator.common.ImportEntityAlgorithm.dispatchElement(ImportEntityAlgorithm.java:610)
         at oracle.wh.ui.integrator.common.ImportEntityAlgorithm.importElement(ImportEntityAlgorithm.java:435)
         at oracle.wh.ui.integrator.sdk.EntityAccessor.importElement(EntityAccessor.java:77)
         at oracle.wh.ui.integrator.common.ImportService.importElement(ImportService.java:1144)
         at oracle.wh.ui.integrator.common.wizards.ImportElementTransaction.run(ImportWizardDefinition.java:730)
    Please see below information and steps I followed
    1. My PC running on Windows 7 64 bit
    2. Installed Oracle Database Enterprise Edition 11.2.0.1.0 software
    3. Created a listner after insalling above database software
    4. Created data warehouse database and unlocked OWBSYS and OWBSYS_AUDIT accounts
    5. Set ORACLE_HOME=C:\oracle\product\11.2.0\dbhome_2\
    6. Set TNS_ADMIN=C:\oracle\product\11.2.0\dbhome_2\NETWORK\ADMIN
    7. After doing this I was able to connect all the source and data warehouse databases I am concerned with.
    7. Installed Oracle Warehouse Builder Client 11.2.0.3.0 64 bit
    8. Created repository using repository assistant insatlled duing database software.
    9. Created oracle database module for the schema created under data warehouse database.
    10. Tried to import database objects for the oracle module and got the error explained above when clicked on Finish
    Please someone reply to this thread since I searched lot on google and didn't get any solution and not understanding what this issue is.
    Thanks in advance
    Bhushan
    Edited by: Bhushan Bagul on Sep 7, 2012 2:46 AM

    it looks like not all objects are created for XX_BPEL_CREATEUSEMP
    synonyms and all grants are there ?

  • Where is the database object administration GUI in Oracle XE 11g?

    Please read my whole question, because I'm sure people will misunderstand, and tell me to load http://localhost:8080/apex in my browser.  I know that is there.
    I am a previous user of Oracle XE 10g, but I just installed Oracle Express 11g. I only want to use it to get a local instance of Oracle database. The 10g APEX UI provided an easy way to administer database objects (users, schemas, and the like), but it appears the 11g APEX UI is some kind of weird application development environment that I don't want to use. It doesn't even seem aware of the schemas I created in the database using SQL Plus.
    So, where is the regular admin GUI for Oracle database objects like users/schemas (i.e. something that will list the schemas that exist in the database, and allow me to add or delete them)? Or does 11g force you to do that using SQL (in which case, I'm going to go back to 10g).
    Thanks,
    Jeff

    No, SQL workshop is not what I want.
    Basically, I don't want to deal with this concept of a "workspace" at all. It's useless to me and just gets in my way. All I want is a a UI where I can view a list of the schemas that exist in the database, and manipulate them easily.
    I have TOAD, so I could use that, but I liked the old 10g administration GUI, since it provided the exact functionality at the exact level of complexity that I needed.

  • Why two different users from same login group not able to access the database object(stored procedure)?

    I have SQL login group as "SC_NT\group_name" in server. There are multiple users using this login group to access database objects. User "A" can able to access db object(stored_procedure_1) from .net application. But when user "B"
    tried to access same db object(stored_procedure_1), its showing like
    Error: The EXECUTE permission was denied on the object 'stored_procedure_1', database 'test',schema 'dbo'. 
    Both the users are using windows authentication for access the objects. Could you suggest me the way to resolve this?
    Venkat

    Thanks for your response
    Erland Sommarskog....
    my stored procedure "stored_procedure_1"
    does not has any granted permissions to execute. But still user A
    able to execute the sp from UI, where user B not able to do it.  If any permission provided for a particular object, then only it will display in the above query whatever u have given.  
    Any other possibilities??
    Venkat G

  • What is the use of Offline Database Object in SOA

    Hi All,
    Can anyone let me know the purpose of Offline Database Object in SOA.
    1) When we will create the Offline Database Object in soa ?
    2) How do we connect this object to any data base schema ?
    Note:- Please provide me the example on this
    Thanks,

    Hi Dominik,
            Thanks for the repy !!!!
    Now, as you said we can access a (deep) node of the whole model using an access object.
    Let us consider the component set ONEORDER. As seen we can use the following path to reach BTDocFlowAll using search object :-
    BTQuery1O -> BTOrder  -> BTOrderHeader  -> BTHeaderDocFlowSet -> BTDocFlowSet -> BTDocFlowAll ....
    Also, to reach BTDocFlowAll we can even use the access object as follows :-
    BTAdminI -> BTItemDocFlowSet  -> BTDocFlowAll....
    Now my question is :-
    Normally we use the class cl_crm_bol_query_service to fire a search based on a search object. Can we use the same class to fire a search based on access object ?
    (actually I currently dont have a CRM system so I could not try it out myself).
    If not, then how do we fire a query using an access object ?
    Regards,
    Ashish

  • Database objects Tables, Views, Indexes not expand in Connections navigator

    In SQL Developer tool when I clicked on any database object: Tables, Views, Indexes, Packages, Procedures, Functions, and Triggers none of them expands in Connections navigator so I am not able to see all tables, Views, Indexes in this schema objects.
    Please advise
    Thanks a lot
    Vincent

    If the user you're connecting with is not the owner of the objects, you can access them through the Other Users node.
    Hope that helps,
    K.

  • Export: ". exporting post-schema procedural objects and actions"

    Hi all,
    I am trying to do a full database export from the server and an import to another PC.
    I tried exporting recieved the following warnings:
    . exporting synonyms
    . exporting views
    . exporting referential integrity constraints
    . exporting stored porcedures
    . exporting operators
    . exporting indextypes
    . exporting bitmap, functional and extensible indexes
    . exporting posttables actions
    . exporting triers
    . exporting matrializes views
    . exporting snapshot logs
    . exporting job queues
    . exporting refresh grups and children
    . exporting dimensions
    . exporting post-schema procedural objects and actions
    EXP-00008: ORACLE error 903 encountered
    ORA-00903: invalid table name
    ORA-06512: at "SYS.DBMS_RULE_EXP_RL_INTERNAL", line 311
    ORA-06512: at "SYS.DBMS_RULE_EXP_RULES", line 142
    ORA-06512: at line 1
    EXP-00083: The previous problem occurred when callig SYS.DBMS_RULES.schema_info_exp
    . exporting user history table
    . exporting defualt and system auditing options
    . exporting statistics
    Export terminated successfully with warnings.
    I been through the forum and was advised to run the catalog.sql, then rerun the exp command.
    I did as suggested but the export hangs at the last line:
    Export donw in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
    About to export the entire database ...
    . exporting tablespace definitions
    . exporting profiles
    . exporting user definitions
    . exporting roles
    . exporting resource costs
    . exporting rollback segment definitions
    . exporting database links
    . exporting sequence numbers
    . exporting directory aliases
    . exporting context namespaces
    . exporting foreign function library names
    . exporting PUBLIC type synonyms
    . exporting private type synonyms
    . exporting object type definitions <- hangs here
    Is there a way to resolve this? Or should I approach another method?
    Any of your help is greatly appreciated. Thank you.
    Thanks and Regards
    San

    I am also trying to figure all the stuffs out. I try to answer as much as I know. Thanks.
    What is the export utility version?
    Using exp, "Export: Release 9.2.0.1.0"
    What is the import utility version?
    Using imp, "Import: Release 9.2.0.1.0"
    What version of Oracle database are you trying to export?
    9.2.0.1.0
    Into what version of Oracle database are you trying to import?
    9.2.0.1.0
    What are the database character sets and values of environment variable 'NLS_LANG' for each case?
    Not sure about this but I didnt change any parameters of the character set, should be
    WE8MSWIN1252
    Using WinXP OS, <- quite problematic, having a hard time trying to configure. :(

  • Not able to compare PL/SQL body from two different offline database object

    It is not possible to compare two package bodies from two different off line database object in two different off line database and schema.
    JDeveloper display a compare not available message in the middle of the window.
    It is possible to compare the package specification.

    Not able to compare scripts generated from offline database objects too

  • Deploy form, question about database object or connection parameters

    When form to be deployed to the dev/test/production environment, should it be compiled with that specific database connection username, password and sid? Another words, when I compile the database objects created for the compile is embedded in the .fmx file?
    thanks for help

    You won't need to compile your forms if the passwords of the target schema differs. It also doesn't matter on what platform/architecture the database server runs on. However it would matter how you created your schema objects. And of course it will matter if the platform your forms run on differ. The list of "what you need to do when you don't want to compile against the target database" is a long one.
    Here is a short list of don'ts
    - no +select * from [...]+ views
    - no +select * from [...]+ in forms cursors and the like
    - %TYPE is evil
    - %ROWTYPE is much more evil
    Those are just a few obvious things developers can mess up. Of course we all know that this sort of things are bad programming practice but they do happen. And as said: that's just the most obvious things. I work for a vendor where only the compiled files are shipped to the customer, and the road to this goal is a hard and bumpy one. If you don't want bad surprises in production I suggest you implement a fixed build process routine and a fixed upgrade process where you can ensure that the target database where the forms run against match exactly the development database you compile your forms from a logical point of view. The far easier exit is to just compile your forms on the target platform against the target database but I understand that this is not always possible.
    cheers

  • Retrieve all source database object names from an application in APEX 4.0

    Hello
    I have completed an application developed in APEX 4.0 ( @Oracle 10g database ).
    Now we need to migrate the scripts including all database objects that support the application from Schema A to Schema B.
    Is there a report I can run to provide me the information like this :
    Page number, Name of the database object used ( including table, view and sequence )
    This would allow me to examine each database object used in Schema A and make sure the same object and data have been copied to Schema B without missing anything.
    Thanks
    Susanna

    Hi,
    On APEX 4.1 there is Database Object Dependencies Report
    http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21674/bldr_app_rpt.htm#CEGGAICH
    I'm not sure is this feature in APEX 4.0
    Regards,
    Jari
    http://dbswh.webhop.net/dbswh/f?p=BLOG:HOME:0

Maybe you are looking for

  • Multiple users on one I pad updates

    When up dating apps the I pad comes up with wrong user and will not reset? Any answers welcome Family use of I tunes accounts two users of music how do you put music on to two accounts and devices? Sick of owing music that's been paid for !!!!!! Must

  • Opinions sought: could Yosemite upgrade affect hardware?

    Hi there, I installed Yosemite on my late-2010 MacBook Pro last week and had a whole host of problems, including an erratic/unresponsive trackpad, which got worse the longer the computer was running. Due to some poor decisions on my part [!] I ended

  • How to set different bgcolors for rows int HtmlDatatable?

    I have JSF HtmlDataTable on my page. I need to fill rows in table by different colors, according to row's data, but I can't find any method for it...... Should I use JavaScript in this case?

  • Removing Items from Populated List-Box

    I have a drop down box populate a list box. (change: ListBox1.addItem(xfa.event.newText)) But I can add more then one of the same selection so how do I remove them from the ListBox. Upon click? somehow? I don't konw the lingo.

  • HT2582 Sleep or Shut-down?

    This is a very common question i'm sure but i am a newbie so bear with me. Whilst transporting my computer from place to place is it okay to leave it in sleep mode or should i shut it down completely. Isn't daily shut down/start-up okay for the hard