Installing 9iAS on the database server

Is it OK, if I install 9iAS on the same server, where the 9i database has been installed? If I install 9iAS on the same server, then many of the services get duplicated (as it requires different home), like TNS listner, intelligent agent, HTTP server, Management server etc. Also default home itelligent agent service doesn't start after 9iAS installation.
OR should I install 9iAS on another machine?
-Yogesh

As long as Oracle9iAS and Oracle DB are in two different Oracle Homes, it is possible to have this coexistance of these Oracle products. Infact, this is true for any other Oracle product and Oracle9iAS. This is true for any platform.
Further, in Release 2, 9.0.2 version, we are supporting Oracle9i Application Server (J2EE and Web Cache, Portal and Wireless, BI and Forms, UM install types), Oracle9iAS and Oracle9iDS Release 2 can be installed into same Oracle Home.

Similar Messages

  • SQL Server Reporting Services installed on a production database server used to support JD Edwards EnterpriseOne. What performance isses can arise

    SQL Server Reporting Services installed on a production database server used to support JD Edwards EnterpriseOne. What performance isses can arise. Is it recommended. What are the pros and cons

    Hi hazelannc, 
    I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated. Thank you for your understanding and support.
    Regards,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • MDM adapter : what is meant by the database server ?

    Hi all,
    we are testing MDM adapter on PI 7.1 (no eHp). The adapter config requires an MDM server but separately a database server entry as well.
    Does anybody have a working MDM adapter ? if so, what did you fill in in the "database server"
    parameter of the adapter ? is it a URL ? JDBC name ? JNDI name ? IP address ? and to which database ? Í'm assuming the database of the MDM server, but that one is installed on the MDM server
    (for which we configured an IP address in the "mdm server" field).
    additionally, can somebody explain the reason for that separate Database config parameter ?
    I have found no explanations in the documentation so far.
    Regards,
    Ronald van Aalst
    TNT Post

    Hi,
    MDM uses internally Data base Server, MDM is like one Data Base where we can store master Data.
      when you are trying to connect to MDM using MDM-PI Adapter, you have to Give all details like       port      number,server details,
    please read don about MDM Documetation about MDM-PI Adapter.
    http://help.sap.com/saphelp_nwmdm71/helpdata/en/48/956cd09521062de10000000a42189d/frameset.htm
    Regards,
    Raj

  • Can't connect to the database server from localhost

    Hi,
    I'm having a problem I hope you can help with please!
    I recently installed mysql and phpmyadmin... I can access mysql perfectly from the command line, and can access it partially through phpmyadmin although there are some restrictions that I haven't figured out how to change yet (despite editing php.ini, configure.inc.php and others), but on the whole inside phpmyadmin I can see all the databases I've uploaded with the command line and all the users are there and can be edited. Unfortunately whenever I try to connect to a mysql database using a username and password that was created in phpmyadmin (or anywhere!), I get a 'cannot connect to the database server error'. I've checked and rechecked the username, the passwords, the database names and the host names a thousand times but nothing I change is working.
    Is there a special prefix my mac could be adding to the database, usernames or host names?
    Thanks!

    Okay, don't worry!
    I finally figured it out...
    it needed to be 127.0.0.1 rather than localhost!

  • How to install and configure the SQL Server

    Hi All,
    We have to install SQL server in the new server because the old server is crash and need to upgrade. Please advice How to install and configure the SQL Server to run SAP Business One 8.8 successfully and what part we do have to give attention.
    Kind Rgds,
    Steve

    Hi,
    Try this solution:
    The step-by-step installation guide can be found in the documentation included in the installation media. (\Documentation\SystemSetup\AdministratorGuide_SQL.pdf).
    Below are some important parts that you should pay attention to during the Installation process.
    Resolution
    Collation setting: It must be set as SQL_Latin1_General_CP1_CI_AS,even the company DB is non-english location. The company DB will be created as corresponding collation settings automatically.
    Instance and TCP Port : It is recommended to run SBO on default instance and TCP port 1433. Otherwise,some optional components such as B1i may not work properly.
    Native Client: SQL Server Native Client should be installed on every client machine to enable the ODBC connection to DB server.
    Rgds,

  • How to get Database name/IP address of the database server from forms10g

    Hi everybody,
    How do I get the database instance name and IP address of the database server?
    I am using Foms 10g and the database server is Oracle 10g.
    Sukanta

    Dear...........
    Plz use this code
    select SYS_CONTEXT('USERENV', 'IP_ADDRESS', 15) ipaddr from dual;
    SELECT utl_inaddr.get_host_address IP ,UTL_INADDR.get_host_name NAME FROM dual;
    select SYS_CONTEXT('USERENV', 'HOST') HELLO from dual;
    select SYS_CONTEXT('USERENV', 'TERMINAL') HELLO from dual;
    select SYS_CONTEXT('USERENV', 'OS_USER') HELLO from dual;
    SELECT SYS_CONTEXT ('USERENV', 'SESSION_USER') FROM DUAL;
    SELECT SYS_CONTEXT ('USERENV', 'DB_UNIQUE_NAME') FROM DUAL;
    thx.

  • Conflict resolution manager having which spid at the database server.

    Folks,
    I've come across a situation where in one of the
    1.SID was generating high redo SID - 1098 .
    2.when i checked what this sid was doing - i figure out that it belongs to a report set, still having the sid at the database server.
    3.The client process id(12041) of thie SID(1098) is shown as the spid shown in the system column at system administrator --> concurrent manager --> Administer --> Highlight conflict resolution manager --> click processes.
    4. I understand that we need to grep for the osporcess "ps" using spid and not using "client process id" (process from v$session). Please clarify.
    5.when I grep for 10241 it is indeed pointing to CRM process. but when I query for spid (12055) associated with sid (1098) it points to a Reports set which completed error and generating some kind of redo ( which triggered all the above questions).
    6.Now the question is should we be checking for SPID (120550) associated with SID(1098) which says (LOCAL=NO) and safe to kill. as the status of the SID says inactive, though the last_call_et is just showing 1.
    Thanks in advance.

    Run the queries in these docs to determine the database session details of a running concurrent program.
    bde_request.sql - Process and Session info for one Concurrent Request (11.5) [ID 187504.1]
    How to Find Database Session & Process Associated with a Concurrent Program Which is Currently Running. [ID 735119.1]
    How to Retrieve SID Information For a Running Request [ID 280391.1]
    If the request has completed and you suspect the database sessions is still active, edit the query and correct the status of the request (from running to completed).
    Thanks,
    Hussein

  • Sending Mail Notification From the database server

    Hi All,
    I want to send the mail notification to any email id from the database server.
    I used the in built Package UTL_SMTP(pp_to,pp_from,pp_subject,pp_hostname) but i didn't got the success. Actually i dont know how and what parameters has to pass to this package .
    It will great help if some body helps with the an example.
    Thanks in Advance

    917574 wrote:
    I want to send the mail notification to any email id from the database server.Oracle version?
    The easiest is to use UTL_MAIL - available from 10g onwards. If you're on 11g, you also need an ACL (Access Control List) entry to allow PL/SQL code to step outside the database and connect to an external server.
    UTL_MAIL uses UTL_SMTP. You can use UTL_SMTP directly, but then you need to understand the SMTP protocol and how to correctly construct Multipurpose Internet Mail Extensions (MIME) e-mail bodies. Not difficult - but something that many developers seem insistent to remain ignorant about.

  • Save a report 6i PDF file onto the database server

    Hello Experts,
    I have a requirement, whereby I need to generate a PDF report and then send that report via Email. The problem I have is my email procedure is looking for the file which is in the directory on the server where the database is stored, While the PDF is generated on the local machine. Im using reports 6i.
    I know in reports 10g the file is generated on the report server itself but Im afraid same is not the case with reports 6i.
    The other problem is the local machine does not have the access to the directories on the server. I tried to change the directory path in the database to look at the C:\ but it doesn't work, it says invalid directory, I think the PDF report file needs to be on the server where the database is installed. Is there a way I can pick the PDF file from the local machine instead of the server where the database is installed?
    Im not too sure what is the way forward, All I need is to generate a PDF file and mail it.
    The procedure that I'm using to send the email attachment is :-
    CREATE OR REPLACE PROCEDURE email_attachment(
    xfilename VARCHAR2,
    xloc VARCHAR2) IS
    conn utl_smtp.connection;
    BEGIN
    conn := Send_Mail.begin_mail(
    sender => '[email protected]',
    recipients => '[email protected]',
    subject => 'Attachment Test',
    mime_type => Send_Mail.MULTIPART_MIME_TYPE);
    Send_Mail.attach_text(
    conn => conn,
    DATA => '<b>This is a test Email.<b>',
    mime_type => 'text/html');
    send_mail.attach_base64_fromfile(
    conn => conn,
    filename => xfilename,--'test.pdf',
    floc => xloc,--'File directory',
    mime_type => 'application/octet',
    inline => TRUE);
    Send_Mail.end_attachment( conn => conn );
    Send_Mail.end_mail( conn => conn );
    Thanks any help would be appreciated.

    Hi,
    in the forms 6i email with attachment can be sent only through database folder/file. From the client it can not be.
    Here is one alternate solution.
    1. Share the folder from db server which is used for email directory and keep changeable for everyone.
    2. After generate the report like RUN_PRODUCT keep the below command.
    HOST('XCOPY CLIENT_PATH\FILE_NAME SERVER_PATH');
    3. This command will transfer file from client to db server. After this execute your procedure which is sending email.
    Hope it will work.
    -Ammad
    Edited by: Ammad Ahmed on Mar 23, 2010 1:43 PM

  • Help installing gateway on non-database server

    I have a 64bit 10.2.0.3 database running on W2K3 64bit server. I need to access a SQL Server database (2005 version) on a different host.
    I'd like some insight into installing the gateway services on a 32bit Wk23 machine to bridge the 64bit Oracle database to the SQL Server database.
    IE: 64bit DB -> 32bit Gateway -> 2005 SQL Server DB
    Thanks in advance.

    There are four important things to consider when installing gateway or hsodbc .
    1) the version of your database eg. 8i/9i/10g
    2) Database library
    3) Oracle transparent Gateway and Oracle's Heterogeneous Services ODBC - generic connectivity (HSODBC) are two different product.
    4) You must have ODBC Driver setup on both servers{ i.e SERVER A Oracle database and SERVER B SQLSERVER} for generic connectivity hsodbc.
    (if you are installing on Unix you must have to get ODBC driver for Unix (data direct third patry supplier).
    But if you installing Oracle transparent Gateway you only need odbc driver configure on the SQLSERVER box.
    NB: Point 3 and 4 are very important.
    In point three you have to decide if you want to go with Oracle transparent Gateway (OR) Oracle's Heterogeneous Services ODBC.
    A lot of my fellow DBAs have failed to explain this in details.
    If you go for Oracle transparent Gateway you will have to buy additional license from oracle but the gateway can be use for multiple gateway configurations. In effect, this will become your transparent Gateway Server for many installation that require Gateway whether Unix or windows based configurations.
    On the other hand, if you decide to go for generic connectivity (HSODBC) you still have to buy ODBC for UNIX (from data direct) unless you are on Windows Operating systems Server which come naturally with odbc installed.
    In your case all your configurations are Windows based. Therefore no licensing issue for you if you are using generic connectivity (HSODBC). It will be all free.
    During both odbc configurations, use system DSN and make sure you test them.
    NB: I will not be going true system DSN configuration. It is simple, even my thirteen years old son could configure it.
    Important:
    a)
    remeber to configure the initsid file in ORACLE_HOME\hs and remeber to name extactly the name giving to the DSN on SQLSERVER (SERVER B). so if it is named airwaves the init file should be name init_airwaves.ora
    HS_FDS_CONNECT_INFO = airwaves -------> from DSN on SQLSERVER (SERVER B).
    HS_FDS_TRACE_LEVEL = 4
    set ODBCINI= d:\nigeria\xxxx\odbc\odbc.ini ------> path of odbc.ini on ORACLE (SERVER A).
    b) tnsname .ora - in ORACLE (SERVER A). ORACLE_HOME\network\admin please add the entry as below to tnsnames.ora. there should always be two closing brackect after the SID entry and HS entry must be like below then follow by the last bracket as below. Any placement of the bracket will make the configuration fail.
    airwaves=
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = nigeria)(PORT = 1530))
    (CONNECT_DATA =
    (SID = airwaves))
    (HS=OK)
    c) listener .ora - in ORACLE (SERVER A). ORACLE_HOME\network\admin please add the entry as below. The bleow might look funny.
    NB:You might think the SQLSERVER (SERVER B) is not mentioned in the LISTENER:ORA. Yes that is true ! It will be mentioned via the DSN in init_airwaves HS_FDS_CONNECT_INFO definition.
    LISTENER=
    (ADDRESS_LIST =
    (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
    (ADDRESS =(PROTOCOL = TCP)(HOST = nigeria)(PORT = 1530))
    SID_LIST_LISTENER=
    (SID_LIST =
    (SID_DESC = (SID_NAME = nigeria)
    (SID_DESC =
    (SID_NAME = airwaves)
    (ORACLE_HOME=c:\nigeria\ora18\oracle)
    (PRESPAWN_MAX = 10)
    (PROGRAM=hsodbc)
    (ENVS=LD_LIBRARY_PATH=c:\nigeria\ora18\oracle\lib32:d:\nigeria\xxx\odbc\lib)
    LOG_DIRECTORY_LISTENER=c:\nigeria\logs\ora18\LISTENER_nigeria
    LOG_FILE_LISTENER= LISTENER_nigeria.log
    LOGGING_LISTENER= ON
    TRACE_LEVEL_LISTENER=OFF
    TRACE_DIRECTORY_LISTENER= c:\nigeria\logs\ora18\LISTENER_nigeria
    TRACE_FILE_LISTENER= LISTENER_nigeria.trc
    USE_PLUG_AND_PLAY_LISTENER= OFF
    STARTUP_WAIT_TIME_LISTENER= 0
    CONNECT_TIMEOUT_LISTENER= 20
    NB: although you are on 64bit oracle database on Windows make sure you point the library to lib32 as describe. Odbc uses 32bits.
    Major pitfall to avoid for Unix configuration of hsodbc.
    1. make sure you install ODBC for Unix.
    a) The SHLIB_PATH and LD_LIBRARY_PATH must have $ORACLE_HOME/lib32 in their path
    b) SHLIB_PATH and LD_LIBRARY_PATH must have odbc_home in their path
    SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/network/lib:/pkg/Ndc20/home/ora18/odbc32v53/lib:/usr/lib:/usr/ccs/lib:/usr/openv/netbackup/bin
    export SHLIB_PATH
    LD_LIBRARY_PATH=/usr/openv/netbackup/bin:$ORACLE_HOME/lib32:/pkg/Ndc18/home/ora18/odbc32v53/lib
    export LD_LIBRARY_PATH
    ODBCINI=/pkg/Ndc18/home/ora18/odbc32v53/odbc.ini >>>>>> (using data direct odbc on unix for sqlserver )
    export ODBCINI
    To check if this correct.
    env at a unix prompt
    or
    cd $ORACLE_HOME then type
    hsodbc
    then you will received the banner below.
    Oracle Corporation --- DONNERSTAG SEP 11 2008 12:22:48.154
    Heterogeneous Agent Release 10.2.0.3.0 - Production Built with
    Driver for ODBC
    if it returns a banner then you are on the right way to sucessful configuration. if it generates core dump the go back and make sure the path are set correctly. if you get a banner then procced to the next step.
    2)
    You need only one listerner.ora adjust as above and also adjust the tnsnames.ora as well the brackect in tnsname is very important. if you get it wrong will be receiving ORA-12537: TNS:connection closed. This indicates that you have not set the lib as mentioned above.
    Both Windows and Unix
    1) reload the listener or stop and restart listener which ever you are comfortable with.
    2) log on to sqlplus and create the dblink
    3) CREATE DATABASE LINK "AIRCOM" CONNECT TO "airwaves_link"
    IDENTIFIED BY "********"
    USING 'airwaves'
    ----> airwaves_link ------Is the user name on SQLSERVER (SERVER B) identifed by is the password of the user
    4) now test your connection from sqlplus using the link created.
    -- > tnsping airwaves
    Also make sure you have a known table on the sqlserver database
    sqlplus " / as sysdba "
    SQL> select * from account@aircom;
    I hope this helps.
    [email protected]

  • Error installing 9ias using 9i database

    I installed the new 9i database on win2000 and try too install
    the applicationserver 9ias. The installation aborts after
    reporting "not all dependensies for the component oracle
    enterprise manager common files 2.2.0.0.0 is found. Missing
    component oracle.swe.jre 1.1.8.10.0"
    Please help !!!!

    Hello everyone.
    I am also trying to install 9iAS with RDBMS 9.0.1.1, and I am
    getting a lot of problems.
    The first one is that the iSetup.exe of the first cd does
    nothing when I double click on it! I found the setup.exe on
    install\win32 on the cd, and with changes on oraparam.ini, i
    have managed to start the installation.
    I have also got the error about "not all dependensies for the
    component oracle enterprise manager common files 2.2.0.0.0 is
    found. Missing component oracle.swe.jre 1.1.8.10.0", and managed
    to pass it with the rename of ProgramFiles\Oracle\Inventory
    directory. I got then the problems with the installation of the
    8.0.6 tools, that abort with a beep!
    I took the advice of Stephen Fenwick on this thread, of
    installing RDBMS 8.1.7, but it is the same, the 8.0.6 tools keep
    aborting.
    I am using W2K with SP2.
    Can anyone please help me?
    Paulo

  • Software does not find the Database server

    Hi all,
    We are going to move database from old server MSSQL 2005 Express to the MSSQL 2008 R2 STD. For test I backuped DB from old server then restored at the new one. For some reason the software does not find the new server.
    I checked everything as from the link described:
    http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx?Redirected=true
    Also at the new server we have another production DB that is running without any issues...
    System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected
    host has failed to respond 195.30.95.163:80
       at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
       at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
       at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
       --- End of inner exception stack trace ---
       at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
       at System.Net.HttpWebRequest.GetRequestStream()
       at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
       at OptoWare.OrderEntry.OrderInterfaces.WebReferenceOWEdix.OWEdixService.OWEdix_GetStatus(String custID, String password, String countryCode)
       at OptoWare.OrderEntry.OrderInterfaces.EdixInterface.b(Object A_0, DoWorkEventArgs A_1)
    2014-03-31 16:54:58,924 [1] ERROR OptoWare.OrderEntry.Controls.Config.ServiceControl - Connetction to FI1-sv-prod014\mssqlserver failed.
    System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured
    to allow remote connections. (provider: SQL Network Interfaces, error: 25 - Connection string is not valid)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
       at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
       at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
       at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
       at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
       at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
       at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
       at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
       at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
       at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
       at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
       at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
       at System.Data.SqlClient.SqlConnection.Open()
       at OptoWare.OrderEntry.Controls.Config.ServiceControl.i()

    It looks like the connection is getting refused because of your application configuration.
    Refer similar thread 
    http://forums.asp.net/t/1180127.aspx?A+connection+attempt+failed+because+the+connected+party+did+not+properly+respond+after+a+period+of+time+or+established+connection+failed+because+connected+host+has+failed+to+respond+
    -Prashanth

  • Step by Step of how to Install and configure the Web Server Core 2008 R2

    I encoutred a couple of problems installing a Web Server Core 2008 R2 edition including the remote connection and for people who are encountring the error :
    "The WinRM client cannot complete the operation within the time specified" or the error : " Could not connect to the specified
    computer. Details: Unable to connect to the remote server "   I think those couple of video will be helpfull,
    so I decided to record and share this experience with you by producing the server core from A  to Z to avoid the headache that I encountred
    during my experience. The lab environment is vmware but you can use hyper v or even physical lab if you want as  the steps are the
    same
    http://www.youtube.com/playlist?list=PLzayUN5B2cXMoyziV4oUs94P6EZT6QVmc
    watch?v=5z1NiWUJdGU  Wipe generation
    watch?v=Q3BoLkWWAC4  hard disk preparation
    watch?v=lOPvy-cn0Uk  server core installation
    watch?v=gTnOUJfRkDg  configure the web server
    watch?v=0ofvknXMNsc  install .net framework in the webserver
    watch?v=K4ADBzZeM6E  install the web server role
    watch?v=oGHC0sbe17Y  remote control the server
    watch?v=SpzAsRkjV40  continue the remote configuration
    watch?v=XjPD8U_y29I  Create and alias for the web server
    watch?v=Pim1T6z6DJM  Configure a Win 7 machine to control
    Enjoy  the vids
    The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com

    Hi MASNSN,
    Thanks for your sharing =)

  • Solving "COMMIT business rules" on the database server

    Headstart Oracle Designer related white paper
    "CDM RuleFrame Overview: 6 Reasons to get Framed"
    (at //otn.oracle.com/products/headstart/content.html) says:
    "For a number of business rules it is not possible to implement these in the server
    using traditional check constraints and database triggers. Below you can find two examples:
    Example rule 1: An Order must have at least one Order Line ..."
    But, one method exists that allows solving "COMMIT rules" completely on the database level.
    That method consists of the possibility of delaying the checking of the declarative constraints (NOT NULL, Primary Key, Unique Key, Foreign Key, Check Constraints) until the commit
    (that method was introduced first in the version 8.0.).
    E.g. we add the field "num_emps" to the DEPT table, which always has the value of the number
    of the belonging EMP rows and add DEFERRED CK which uses the values from that field:
    ALTER TABLE dept ADD num_emps NUMBER DEFAULT 0 NOT NULL
    UPDATE dept
    SET num_emps = (SELECT COUNT (*) FROM emp WHERE emp.deptno = dept.deptno)
    DELETE dept WHERE num_emps = 0
    ALTER TABLE dept ADD CONSTRAINT dept_num_emps_ck CHECK (num_emps > 0) INITIALLY DEFERRED
    Triggers that insure the solving of the server side "COMMIT rules" are fairly simple.
    We need a packed variable that is set and reset in the EMP triggers and those value
    is read in the bur_dept trigger (of course, we could have place the variable in the package
    specification and change/read it directly, thus not needing the package body,
    but this is a "cleaner" way to do it):
    CREATE OR REPLACE PACKAGE pack IS
    PROCEDURE set_flag;
    PROCEDURE reset_flag;
    FUNCTION dml_from_emp RETURN BOOLEAN;
    END;
    CREATE OR REPLACE PACKAGE BODY pack IS
    m_dml_from_emp BOOLEAN := FALSE;
    PROCEDURE set_flag IS
    BEGIN
    m_dml_from_emp := TRUE;
    END;
    PROCEDURE reset_flag IS
    BEGIN
    m_dml_from_emp := FALSE;
    END;
    FUNCTION dml_from_emp RETURN BOOLEAN IS
    BEGIN
    RETURN m_dml_from_emp;
    END;
    END;
    CREATE OR REPLACE TRIGGER bir_dept
    BEFORE INSERT ON dept
    FOR EACH ROW
    BEGIN
    :NEW.num_emps := 0;
    END;
    CREATE OR REPLACE TRIGGER bur_dept
    BEFORE UPDATE ON dept
    FOR EACH ROW
    BEGIN
    IF :OLD.deptno <> :NEW.deptno THEN
    RAISE_APPLICATION_ERROR (-20001, 'Can''t change deptno in DEPT!');
    END IF;
    -- only EMP trigger can change "num_emps" column
    IF NOT pack.dml_from_emp THEN
    :NEW.num_emps := :OLD.num_emps;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER air_emp
    AFTER INSERT ON emp
    FOR EACH ROW
    BEGIN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps + 1
    WHERE deptno = :NEW.deptno;
    pack.reset_flag;
    END;
    CREATE OR REPLACE TRIGGER aur_emp
    AFTER UPDATE ON emp
    FOR EACH ROW
    BEGIN
    IF NVL (:OLD.deptno, 0) <> NVL (:NEW.deptno, 0) THEN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps - 1
    WHERE deptno = :OLD.deptno;
    UPDATE dept
    SET num_emps = num_emps + 1
    WHERE deptno = :NEW.deptno;
    pack.reset_flag;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER adr_emp
    AFTER DELETE ON emp
    FOR EACH ROW
    BEGIN
    pack.set_flag;
    UPDATE dept
    SET num_emps = num_emps - 1
    WHERE deptno = :OLD.deptno;
    pack.reset_flag;
    END;
    If we insert a new DEPT without the belonging EMP, or delete all EMPs belonging to a certain DEPT, or move all EMPs of a certain DEPT, when the COMMIT is issued we get the following error:
    ORA-02091: transaction rolled back
    ORA-02290: check constraint (SCOTT.DEPT_NUM_EMPS_CK) violated
    Disvantage is that one "auxiliary" column is (mostly) needed for each "COMMIT rule".
    If we'd like to add another "COMMIT rule" to the DEPT table, like:
    "SUM (sal) FROM emp WHERE deptno = p_deptno must be <= p_max_dept_sal"
    we would have to add another column, like "dept_sal".
    CDM RuleFrame advantage is that it does not force us to add "auxiliary" columns.
    We must emphasize that in real life we would not write PL/SQL code directly in the database triggers, but in packages, nor would we directly use RAISE_APPLICATION_ERROR.
    It is written this way in this sample only for the code clarity purpose.
    Regards
    Zlatko Sirotic

    Zlatko,
    You are right, your method is a way to implement "COMMIT rules" completely on the database level.
    As you said yourself, disadvantage is that you need an extra column for each such rule,
    while with CDM RuleFrame this is not necessary.
    A few remarks:
    - By adding an auxiliary column (like NUM_EMPS in the DEPT table) for each "COMMIT rule",
    you effectively change the type of the rule from Dynamic (depending on the type of operation)
    to a combination of Change Event (for updating NUM_EMPS) and Static (deferred check constraint on NUM_EMPS).
    - Deferred database constraints have the following disadvantages:
    When something goes wrong within the transaction, then the complete transaction is rolled back, not just the piece that went
    wrong. Therefore, it becomes more important to use appropriate commit units.
    There is no report of the exact row responsible for the violation nor are further violations either by other rows or of other
    constraints reported.
    If you use Oracle Forms as a front end application, the errors raised from deferred constraints are not handled very well.
    - CDM discourages the use of check constraints. One of the reasons is, that when all tuple rules are placed in the CAPI,
    any violations can be reported at the end of the transaction level together with all other rule violations.
    A violated check constraint would abort the transaction right away, without the possibility of reporting back other rule violations.
    So I think your tip is a good alternative if for some reason you cannot use CDM RuleFrame,
    but you'd miss out on all the other advantages of RuleFrame that are mentioned in the paper!
    kind regards, Sandra

  • HOW DO I KNOW IF THE DATABASE SERVER IS RUNNING?

    Hi guys,
    How do i write a java code to determine if my database server(s) (eg : Oracle or mySQL or postGRESQL, msSQL etc) are (is) running.
    I want to know how to code in java to determine if a certain database server is running when i start the java application .
    Thanks for your help

    Acquire a connection. If it doesn't throw a SQLException, then you can be certain that the database is up and running.

Maybe you are looking for

  • Calling a function in the HTML window the course sits inside - Captivate 8

    Hi, I've scoured the forums for an answer to this but as yet have come up blank. Our LMS launches a course in a popup window and inside of this the .htm Captivate output file sits. Currently this pop up window has a button in it which executes a func

  • PGI-No Accounts maintained for company code clearing between company codes

    Dear Expetrs, When i am doing PGI getting error that is no accts maintained for company code clearing between 0010 to 0035. This is intercompany process. In our intercompany company codes is 0010 and 0020. So we maintained already clearing acconuts b

  • Upgrade 10.1.2 Portal to 11G

    I've been studying the recommended path for upgrading a 10.1.2 portal install to 11g. I have 10.1.2 running on a 2 node 10.2.1 database. I would prefer to move to all new hardware and run 11g on a 64 bit platform. All the upgrade paths do not deal sp

  • Calling istance class from other class

    Another step, another problem. I've declared a mySocketDelegate class that contains all the delegate methods of NetSocket and it's the delegate for my extern mySharedSocket. It works without problem, since i've to send a message to another class, in

  • So is this Possible to update already existed Receiver Flat/XML File ?

    HI , On Receiver File (FTP) Side ,So is this Possible to update already existed FLAT/XML File with some values using Receiver File Adapter?? Like I have 3 Columns in a Flat File/XML File :- Name,  Deptid,  Expenses. NameA, 8000,   - Currently Blank -