ERROR ORA-03113 that I don't understand

When I try to change the code of a dynamic page, or even to create a synonym or any database object, portal30.wwv_builder procedure don't execute an a page with the message :
Mon, 23 Apr 2001 10:15:59 GMT
ORA-03113: fin de fichier sur canal de communication
DAD name: portal30
PROCEDURE : PORTAL30.wwv_builder.show
URL : http://demo:80/pls/portal30/PORTAL30.wwv_builder.show?p_module_id=1802612552&p_version=1&p_section=1&p_save_version=1&p_mode=CREATE
PARAMETERS :
============
p_module_id:
1802612552
p_version:
1
p_section:
1
p_save_version:
1
p_mode:
CREATE
is displayed ???
null

jean-robert,
The ORA-3113 error usually means that an internal Oracle Server error has occured on the server side and client process has been disconnected from the server, it should be some kind of ORA-600 error. When this happens a trace file is generated on the server side. Please try to locate the trace files in DB /admin/udump directory and alert.log file and please post the error numbers here.
Thanks,
Dmitry

Similar Messages

  • Error ora-03113

    Hi
    i have database 11g r2 installed on windows server 2008
    when i try to connect to my databse from my laptop by
    sqlplus release 3.3.2.0.2 it's give me error
    ora-03113: end-of-file on communication channel
    and when i try ti connect by sqlplus release 8.0.6.0.0 it's connected
    pls your help

    wesam2008 wrote:
    Dear
    I've had my question I can make a connection to the 11g db with release 8.0.6.0.0 which it's coming with 6i package and it's old version also
    and also my version working propaly with db 10g r2
    for that is not true that Oracle does not grant that old oracle clients work with current release.Actually you are wrong.
    With each new version Oracle often introduces new features and syntax to the database.
    Older version of the client software do not know or understand the new features/syntax, so if you try to use them they will error.
    If you only use features and syntax that was available on the database at the time the client software was written, it may work ok for that limited feature set, but also the way oracle makes connections to the database and the underlying communication between client and database will vary slightly as versions move on. So I woulc certainly expect I could make a connection from a 9i or 10g client to an 11g database as that's just a couple of versions old, though I would be missing the ability to use new 11g functionality. However, using something as old as a version 3 client on an 10g or 11g database, I would be surprised if it even managed to connect.
    I think on metalink (oracle support or whatever they call it now), you can find information about the compatibility of the different versions, but the best practice is to use the latest version of the client that matches the database. The latest clients can typically connect to older versions of the database as they of often 'backwardly compatible' though even that has it's limitations.
    So Oracle does not guarantee that old clients will work with current/future releases of the database... how could they? they don't know what the future versions will contain.

  • Error ORA-03113 while install Oracle9i r2 on redhat Advance serer

    Hello All:
    Can anyone inform me how to correct the error ORA-03113 when I install oracle 9i on RedHat Advance Server 2.1
    This error has something to do with setting my CLASSPATH I think.
    Thank YOU
    Ezra Taylor

    Hi,
    You don't mention where exactly you were receiving this error but I was receiving this error when doing the database creation via DBCA. I was able to get around this by altering the 'shmmax' parameter. I suspect that the classpath is not the issue in this case, infact I think it should be unset (as well as other things such as JAVA_HOME).
    I initially tried the 100Mb specified at this site: http://www.e-gineer.com/instructions/install-oracle9i-on-linux.phtml
    However this wasn't enough so I went for the 'loony' option and set it to its maximum value using sysctl as root (see below):
    sysctl -w kernel.shmmax=4294967295
    Obviously you probably don't want to leave it at this size and will want to find the appropriate value. (Oracle reccomends half of physical memory - I haven't tried this yet).
    HTH,
    Gareth.

  • Only in my PC I get the error ORA-03113

    Hi
    I have tried to run a simple QUERY (SELECT * FROM marcas;) but if the table has more than 2,000 records I get the error ORA-03113, but if I run the same query in other PC I don't have problems. If the table has less tahn 2,000 I don't have problems in my PC.
    I have SQL*Plus: Release 9.2.0.1.0
    Why?...I need help!!!!! tanks!!!

    Hi,
    could be a network problem. Check your Oracle Client installation using others tools like tnsping. Sometime firewalls or similar can interrupt a connection. Check also your pc with applications that use a persistent connection like a long file transfert.
    Hope this helps
    Sam

  • Unable to open database : error , ora-03113 end of file communication

    Hi Guys ,
    I am facing a serious issue with my database
    machine Oracle Linux Tikanga 5
    database : 10.2.0.1
    Error : ora-03113
    I was trying to drop a logfile , while inserting the data ....
    I restored and tried recovering it but it recovers with message , media recover complete but doesnot allows to open the database
    gives the same error : Error : ora-03113 end of file communication
    alert_log shows
    alter database recover if needed
    start
    Media Recovery Start
    ORA-264 signalled during: alter database recover if needed
    start
    Wed Jan 9 16:20:18 2013
    db_recovery_file_dest_size of 2048 MB is 40.79% used. This is a
    user-specified limit on the amount of space that will be used by this
    database for recovery-related files, and does not reflect the amount of
    space available in the underlying filesystem or ASM diskgroup.
    Wed Jan 9 16:22:02 2013
    alter database recover datafile list clear
    Wed Jan 9 16:22:02 2013
    Completed: alter database recover datafile list clear
    Wed Jan 9 16:22:02 2013
    alter database recover datafile list
    1 , 2 , 3 , 4 , 5
    Completed: alter database recover datafile list
    1 , 2 , 3 , 4 , 5
    Wed Jan 9 16:22:02 2013
    alter database recover if needed
    start
    Media Recovery Start
    ORA-264 signalled during: alter database recover if needed
    start
    Wed Jan 9 16:22:07 2013
    alter database open
    Wed Jan 9 16:22:07 2013
    LGWR: STARTING ARCH PROCESSES
    ARC0 started with pid=16, OS id=2049
    Wed Jan 9 16:22:07 2013
    ARC0: Archival started
    ARC1: Archival started
    LGWR: STARTING ARCH PROCESSES COMPLETE
    ARC1 started with pid=17, OS id=2051
    Wed Jan 9 16:22:07 2013
    Repairing half complete open of thread 1
    Wed Jan 9 16:22:07 2013
    Errors in file /d1/app/oracle/oradata/orcl/bdump/orcl_lgwr_1966.trc:
    ORA-00600: internal error code, arguments: [3712], [1], [1], [0], [445262], [0], [445261], []
    Wed Jan 9 16:22:08 2013
    Errors in file /d1/app/oracle/oradata/orcl/bdump/orcl_lgwr_1966.trc:
    ORA-00600: internal error code, arguments: [3712], [1], [1], [0], [445262], [0], [445261], []
    LGWR: terminating instance due to error 470
    Instance terminated by LGWR, pid = 1966
    can you please suggest on the same ..
    Thanks

    Due to the nature of the error and to prevent any trial-and-error, I would highly recommand you to open a service request with Oracle asap.
    Oracle too recommands the same.
    Thanks...

  • Error while trying to retrieve text for error ORA-03113"

    We face an error saying "Error while trying to retrieve text for error ORA-03113" in our Mail trigger application.
    This error happens randomly
    This is the below error i am getting
    I see from the logs
    DBD::Oracle::st execute failed: Error while trying to retrieve text for error ORA-03113 (DBD ERROR: OCIStmtExecute) [for State ment " insert into matrix_tbl (created_tm, tran_id, matrix_id, client_id, mailing_id, block_id, slist_id, profile_blob, profil e_id, plist_id, profile_key, email_addr, mail_pref, mail_pref_mask, alt_email_addr, num_ftd, pct_id )  SELECT sysdate, 0 , 619
    70818 , 7180280 , 39868792 , ?, 0 ,   substr( 'MT' || chr(1) || ''   || chr(1) || 'PAPER_USAGE' || chr(1) || s.C26 || chr(1) |
    | 'GARDEN' || chr(1) || s.C17 || chr(1) || 'TAG' || chr(1) || s.C34 ||
    | chr(1) || 'PASS_MAILING' || chr(1) || s.C27 || chr(1) | 'MS' || chr(1) || s.C24 || chr(1) || 'OPTIN_SOURCE' || chr(1) || s.C25 || chr(1) || 'DAILY' || chr(1) || s.C7 || chr(1) || '
    PROFILE_LIST' || chr(1) || s.C28 || chr(1) || 'HI' || chr(1) || s.C20 || chr(1) || 'EXIST_MAILING' || chr(1) || s.C11 || chr(1
    ) || 'RPASS2' || chr(1) || s.C30 || chr(1) || 'FORWARD_MAILING' || chr(1) || s.C15 || chr(1) || 'ACCESS' || chr(1) || s.C1 ||
    chr(1) || 'TRAVCON' || chr(1) || s.C35 || chr(1) || 'RPASS1' || chr(1) || s.C29 || chr(1) || 'FINANCE' || chr(1) || s.C12 || c
    hr(1) || 'CONFIRM_MAILING' || chr(1) || s.C5 || chr(1) || 'VENT' || chr(1) || s.C38 || chr(1) || 'SRC' || chr(1) || s.C32 || c
    hr(1) || 'DELIVERY' || chr(1) || s.C8 || chr(1) || 'SALUTATION' || chr(1) || s.C31 || chr(1) || 'UNTITLEDY' || chr(1) || s.C37  || chr(1) || 'CU18' || chr(1) || s.C6 || chr(1) || 'BIRTH_DATE' || chr(1) || s.C3 || chr(1) || 'BIRTH_YEAR' || chr(1) || s.C4  || chr(1) || 'DOWNLOAD' || chr(1) || s.C9 || chr(1) || 'LN' || chr(1) || s.C22 || chr(1) || 'VIRAL_LIST' || chr(1) || s.C39 |
    | chr(1) || 'GENDER' || chr(1) || s.C18 || chr(1) || 'WEEKLY' || chr(1)
    | || s.C40 || chr(1) || 'UNTITLEDX' || chr(1) || s.C36 |
    | chr(1) || 'ENTERTAINMENT' || chr(1) || s.C10 || chr(1) || 'HEALTH' ||
    | chr(1) || s.C19 || chr(1) || 'INCOME' || chr(1) || s.C
    21 || chr(1) || 'FN' || chr(1) || s.C13 || chr(1) || 'ZIP' || chr(1) || s.C41 || chr(1) || 'AGE' || chr(1) || s.C2 || chr(1) |
    | 'FOOD' || chr(1) || s.C14 || chr(1) || 'SUPPRESS' || chr(1) || s.C33
    | || chr(1) || 'FTD_REVAL_DATE' || chr(1) || s.C16 || chr
    (1) || 'MOVIE' || chr(1) || s.C23 , 0,3999) , s.profile_id, s.plist_id, s.profile_key, s.email_addr , s.mail_pref, s.mail_pref _mask, s.alt_email_addr, srt.num_ftd, s.block_id FROM subscriber_tbl s, sub_report_tbl srt WHERE s.plist_id = ?
    and s.block_id
    = ? and srt.plist_id = ? and srt.block_id = ?  and s.profile_id = srt.profile_id
        and nvl(srt.num_optout, 0) = 0 and nvl(srt.num_ftd, 0) <= 3 and srt.optin_mask like '%N01%'"
        with ParamValues: :p5='1941860', :p3='1941860', :p1=1, :p4='28895423', :p2='28895423'] at hcommon.pm line 1277.
    AJC MAILTRIGGER STH Error while trying to retrieve text for error ORA-03113 (DBD ERROR: OCIStmtExecute)

    An ORA-03113 error would mean that the connection to the database no longer exists so any attempt to get the error message from the the database would result in an error. I think the real issue might be why was the session interrupted.
    03113, 00000, "end-of-file on communication channel"
    Depending on the front-end tool a pointer error or failure to properly terminate a string could result in corrupting the message to Oracle.
    There have been numerous bugs over the years that have resulted in this error message being returned. I notice that the Oracle version, platform, edition, and client tool set are not mentioned in the post. All this would potentially be important information for someone to recognize what might be the problem.
    I would look very closely at the code " at hcommon.pm line 1277 "
    HTH -- Mark D Powell --

  • Ora-02068 following severe error & ora-03113 while connecting thru DB LINK

    Hi All,
    I am trying to connect to remote Database by using DB Link facing the below error.
    ora-02068 following severe error & ora-03113 end of communication channel.
    Version of Database - 8.0.6 ( source Database)
    Target Database version - 11g ( Target Database)
    Oracle Client s/w used - 9i
    TNSPING from 8 version database to 11g is successful
    C:\Documents and Settings\user>tnsping prdd
    TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-MAY-20
    13 10:40:02
    Copyright (c) 1997 Oracle Corporation. All rights reserved.
    Used parameter files:
    D:\oracle9i\network\admin\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (host =xx.xxx.xxx.xx) (Port = 1631))) (CONNECT_DATA =(SID = PRDD)))
    OK (30 msec)
    Connection successful from 8 to 11 Database remotely
    C:\Documents and Settings\user>sqlplus
    SQL*Plus: Release 9.2.0.1.0 - Production on Thu May 30 10:43:00 2013
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    Enter user-name:username/pwd@prdd
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, Automatic Storage Management, Oracle Label Security, OLAP
    Data Mining, Oracle Database Vault and Real Application Testing options
    SQL>
    Connected to:
    Oracle8 Enterprise Edition Release 8.0.6.0.0 - Production
    With the Partitioning and Objects options
    PL/SQL Release 8.0.6.0.0 - Production
    SQL> select * from dual@xxx_dblink.world;
    select * from dual@xxx_dblink.world
    ERROR at line 1:
    ORA-02068: following severe error from xxx_dblink
    ORA-03113: end-of-file on communication channel
    DBLink got created successfully but when ever trying to test the DBlink as above facing the below issue,please help.
    Thanks in advance.

    8.0.6 was desupported a LOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNGGGGGGGGGGGGG time ago
    (you were probably still in your dipers)
    Sqlnet is not compatible for that many releases
    (there has been
    8.1.5
    8.1.6
    8.1.7
    9.0.1
    9.2.0
    10.1.0
    10.2.0
    11.1.0
    11.2.0
    So nine releases.
    This is software, not gasoline.
    Sybrand Bakker
    Senior Oracle DBA

  • Error ORA-03113: end-of-file on communication channel in droppping  a table

    Good evening,
    I am very new on Oracle and I have a problem with some tables. Without any reason, apparently, I can't drop some of my table. Oracle gives me this error:
    ORA-03113: end-of-file on communication channel
    and then close the connection of the user.
    What I should have to do?
    It is very important.
    Thanks a lot
    best regards
    Anna Zanetti

    Good morning, I still have the same problem, I can't drop a table from my database.
    The message is again:
    Re: Error ORA-03113: end-of-file on communication channel
    The alert log file says:
    Fri Nov 17 12:27:31 2006
    Errors in file /usr/oracle/admin/oracledb/udump/oracledb_ora_4369.trc:
    ORA-07445: exception encountered: core dump [0955C61F] [SIGSEGV] [Address not mapped to object] [0xC] [] []
    and in file oracledb_ora_4369.trc there is:
    Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0xc, PC: [0x955c61f, 0955C61F]
    Registers:
    %eax: 0x00000000 %ebx: 0x00012d95 %ecx: 0x58301930
    %edx: 0x00000000 %edi: 0x5830d9e8 %esi: 0x00000000
    %esp: 0xbfffae1c %ebp: 0xbfffb060 %eip: 0x0955c61f
    %efl: 0x00210282
    (0x955c61f) movzw 0xc(%eax),%eax(0x955c623) cmp $30,%eax
    (0x955c626) jle 0x955c63e
    (0x955c628) xor %edx,%edx
    (0x955c62a) push %edx
    *** 2006-11-17 12:27:31.658
    ksedmp: internal or fatal error
    ORA-07445: exception encountered: core dump [0955C61F] [SIGSEGV] [Address not mapped to object] [0xC] [] []
    Current SQL statement for this session:
    drop table fiumiforjoin
    ----- Call Stack Trace -----
    calling call entry argument values in hex
    location type point (? means dubious value)
    08856247 call 0885776A 1 ? 0 ? 1 ? 1 ? 0 ? 0 ?
    08290320 call 0885605A 3 ? 0 ? 0 ? 0 ? 0 ? 0 ?
    0955C61F signal 08290320 B ? BFFFAAB0 ? BFFFAB30 ?
    0955D6BE call 0955C61F 5830F01C ? 0 ? FFFFFFFF ? 0 ?
    1 ? 5830F01C ?
    08DD1EEB call 0955CC22 BFFFB394 ? 0 ? 0 ? BFFFB348 ?
    58EAB2B0 ? C ?
    09434EF3 call 08DD1A28 BF2A8C4 ? BFFFC0C0 ?
    BFFFC0C0 ? 4 ? B6AB0300 ?
    B6ABC2E0 ?
    094106E0 call 094326D4 4 ? 0 ? BFFFC0C0 ?
    093D7BB5 call 0940FEF8 3 ? E ? BFFFC1F8 ? A4 ?
    093D630C call 093D7AC4 BFFFCDF0 ? BFFFCD08 ? 17 ?
    1 ? 0 ? A4 ?
    08293DE6 call 0850FFFF 5E ? 14 ? BFFFCDEC ?
    0A1ED44D call 08293DE6 5E ? 14 ? BFFFCDEC ? 0 ?
    08292122 call 0A1ECAE4 BF2A8C0 ? 5E ? BFFFCDEC ? 0 ?
    BFFFD6E8 ? BFFFD6E4 ?
    0941F190 call 0829193C 0 ? 0 ? BF2A8C0 ? BF83090 ?
    F1 ? 0 ?
    08293DE6 call 0850FFFF 3C ? 4 ? BFFFEB08 ?
    08291238 call 082937A8 3C ? 4 ? BFFFEB08 ? 0 ?
    0828F403 call 08291012 3C ? 4 ? BFFFEB08 ?
    08274A3D call 0828F39C BFFFEAEC ? 3C ? 4 ?
    BFFFEB08 ? B6CC017C ?
    B6C1A17C ?
    __libc_start_main() call 08274A3D 2 ? BFFFEBA4 ? BFFFEBB0 ? 0 ?
    +218 B6C1C898 ? B7600020 ?
    Any idea of what I have to do?
    Thanks for your help..
    Best Regards
    Anna Zanetti

  • What is it with yield() that I don't understand?

    The following code starts a thread that awaits a notification that never comes. However, I was expecting the Foo main thread to enter the running state again sometime after it yields and print the last line "main running again", but not so. The program hangs and never execute main's last print statement.
    class Task extends Thread {
    Foo foo;
    Task (Foo syncOnThis) {
        foo = syncOnThis;
        @Override
        public void run () {
        synchronized (foo) {
            System.out.println("task has the foo lock.");
            try {
                System.out.println("task about to release lock.");
                foo.wait();
            } catch (InterruptedException ie) {
                System.err.println("task was interrupted.");
            System.out.println("task was notified!");
    public class Foo {
        private synchronized void notifier() {
            notifyAll();
            System.out.println("foo notified all");
        public static void main(String[] args) {
            Foo foo = new Foo();
            Task alpha = new Task(foo);
            alpha.start();
        Thread.yield();
            try {
                Thread.sleep(500);
            } catch (InterruptedException ie) {
                System.out.println("Foo's sleep interrupted");
                System.out.println("main thread running again");
    }My understanding of yield() is that it offers to demote the current thread to the runnable state in order to allow other threads - in this case Task - to enter the running state. But once Task calls wait(), it also retreats from the running state and this is where I expect the main thread to become running again.
    If I swap yield() with something like
            try {
                Thread.sleep(500);
            } catch (InterruptedException ie) {
                System.out.println("Foo's sleep interrupted");
            }then it main does actually return to a running state and executes the last statement.
    what is it with yield() that I don't understand?

    krzn wrote:
    I see.Do also note that yield seldom is used these days. You most likely have a bug in your implementation or design if you think you need to call yield, or you are executing on a really old VM or on an odd system.
    (The first versions of the Solaris VM didn't use round robin so you had to release the execution to avoid starvation.)
    Kaj

  • One of out DB while starting gives error ORA-03113

    One of out DB while starting gives error ORA-03113. Need some inputs to resolve this issue.
    SQL> startup
    ORACLE instance started.
    Total System Global Area  603979776 bytes
    Fixed Size                  1250380 bytes
    Variable Size             163580852 bytes
    Database Buffers          432013312 bytes
    Redo Buffers                7135232 bytes
    Database mounted.
    ORA-03113: end-of-file on communication channelRegards,
    Lokanath

    Please find the dts.
    Mon Jan 09 16:12:41 2012
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    starting up 1 shared server(s) ...
    Mon Jan 09 16:12:41 2012
    alter database mount exclusive
    Mon Jan 09 16:12:48 2012
    Setting recovery target incarnation to 2
    Mon Jan 09 16:12:49 2012
    Successful mount of redo thread 1, with mount id 3125175737
    Mon Jan 09 16:12:49 2012
    Database mounted in Exclusive Mode
    Completed: alter database mount exclusive
    Mon Jan 09 16:12:49 2012
    alter database open
    Mon Jan 09 16:12:51 2012
    Rolling back half complete log switch of thread 1
    Mon Jan 09 16:12:52 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_lgwr_5024.trc:
    ORA-00202: control file: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL01.CTL'
    ORA-27091: unable to queue I/O
    ORA-27069: attempt to do I/O beyond the range of the file
    OSD-04026: Invalid parameter passed. (OS 432)
    Mon Jan 09 16:12:56 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_lgwr_5024.trc:
    ORA-00204: error in reading (block 432, # blocks 1) of control file
    ORA-00202: control file: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL01.CTL'
    ORA-27091: unable to queue I/O
    ORA-27069: attempt to do I/O beyond the range of the file
    OSD-04026: Invalid parameter passed. (OS 432)
    LGWR: terminating instance due to error 204
    Mon Jan 09 16:12:58 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_dbw0_5264.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:00 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_pmon_3784.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:01 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_psp0_4388.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:01 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_mman_4828.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:01 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_ckpt_2604.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:01 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_reco_4492.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:02 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_smon_4484.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 16:13:03 2012
    Instance terminated by LGWR, pid = 5024
    Mon Jan 09 16:15:01 2012
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jan 09 16:29:35 2012
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jan 09 16:55:01 2012
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jan 09 17:06:50 2012
    WARNING: inbound connection timed out (ORA-3136)
    Mon Jan 09 17:07:52 2012
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    Picked latch-free SCN scheme 2
    Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
    Autotune of undo retention is turned on.
    IMODE=BR
    ILAT =18
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    ksdpec: called for event 13740 prior to event group initialization
    Starting up ORACLE RDBMS Version: 10.2.0.1.0.
    System parameters with non-default values:
      processes                = 150
      __shared_pool_size       = 155189248
      __large_pool_size        = 4194304
      __java_pool_size         = 4194304
      __streams_pool_size      = 0
      sga_target               = 603979776
      control_files            = D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL03.CTL
      db_block_size            = 8192
      __db_cache_size          = 432013312
      compatible               = 10.2.0.1.0
      db_file_multiblock_read_count= 16
      db_recovery_file_dest    = D:\oracle\product\10.2.0/flash_recovery_area
      db_recovery_file_dest_size= 2147483648
      undo_management          = AUTO
      undo_tablespace          = UNDOTBS1
      remote_login_passwordfile= EXCLUSIVE
      db_domain                =
      dispatchers              = (PROTOCOL=TCP) (SERVICE=ecuprogXDB)
      job_queue_processes      = 10
      audit_file_dest          = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ECUPROG\ADUMP
      background_dump_dest     = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ECUPROG\BDUMP
      user_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ECUPROG\UDUMP
      core_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\ECUPROG\CDUMP
      db_name                  = ecuprog
      open_cursors             = 300
      pga_aggregate_target     = 201326592
    PMON started with pid=2, OS id=4832
    PSP0 started with pid=3, OS id=4208
    MMAN started with pid=4, OS id=3216
    DBW0 started with pid=5, OS id=4020
    LGWR started with pid=6, OS id=4728
    CKPT started with pid=7, OS id=4860
    SMON started with pid=8, OS id=2932
    RECO started with pid=9, OS id=3772
    CJQ0 started with pid=10, OS id=5244
    MMON started with pid=11, OS id=4568
    MMNL started with pid=12, OS id=5828
    Mon Jan 09 17:07:53 2012
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    starting up 1 shared server(s) ...
    Mon Jan 09 17:07:53 2012
    ALTER DATABASE   MOUNT
    Mon Jan 09 17:07:58 2012
    Setting recovery target incarnation to 2
    Mon Jan 09 17:07:59 2012
    Successful mount of redo thread 1, with mount id 3125157033
    Mon Jan 09 17:07:59 2012
    Database mounted in Exclusive Mode
    Completed: ALTER DATABASE   MOUNT
    Mon Jan 09 17:07:59 2012
    ALTER DATABASE OPEN
    Mon Jan 09 17:08:01 2012
    Rolling back half complete log switch of thread 1
    Mon Jan 09 17:08:02 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_lgwr_4728.trc:
    ORA-00202: control file: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL01.CTL'
    ORA-27091: unable to queue I/O
    ORA-27069: attempt to do I/O beyond the range of the file
    OSD-04026: Invalid parameter passed. (OS 432)
    Mon Jan 09 17:08:05 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_lgwr_4728.trc:
    ORA-00204: error in reading (block 432, # blocks 1) of control file
    ORA-00202: control file: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ECUPROG\CONTROL01.CTL'
    ORA-27091: unable to queue I/O
    ORA-27069: attempt to do I/O beyond the range of the file
    OSD-04026: Invalid parameter passed. (OS 432)
    LGWR: terminating instance due to error 204
    Mon Jan 09 17:08:06 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_dbw0_4020.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 17:08:07 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_pmon_4832.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 17:08:07 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_reco_3772.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 17:08:07 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_smon_2932.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 17:08:07 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_ckpt_4860.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 17:08:09 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_psp0_4208.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Mon Jan 09 17:08:09 2012
    Errors in file d:\oracle\product\10.2.0\admin\ecuprog\bdump\ecuprog_mman_3216.trc:
    ORA-00204: error in reading (block , # blocks ) of control file
    Instance terminated by LGWR, pid = 4728

  • Application batch job running got error ORA-03113

    Problem: when application batch job running, application system always receive this error: ORA-03113 and job stop.
    Application system: dynamic system AX
    ORACLE system: ORACLE 10.2.0.4.0
    The listener configuration setting is :
    INBOUND_CONNECT_TIMEOUT_LISTENER = 0
    SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER = OFF
    Whether this is the problem of listener setting? "INBOUND_CONNECT_TIMEOUT_LISTENER = 0" indicate 0 seconds or no limit?

    I only find the error message in the Client server (application server).
    below is some example of it.
    The database reported (session 56 (mtihz)): ORA-03114: not connected to ORACLE
    . The SQL statement was: "SELECT A.PURCHID,A.PURCHNAME,A.ORDERACCOUNT,A.INVOICEACCOUNT,A.FREIGHTZONE,A.EMAIL,A.DELIVERYDATE,A.DELIVERYTYPE,A.ADDRESSREFRECID,A.ADDRESSREFTABLEID,A.INTERCOMPANYORIGINALSALESID,A.INTERCOMPANYORIGINALCUSTACCO12,A.CURRENCYCODE,A.PAYMENT,A.CASHDISC,A.PURCHPLACER,A.INTERCOMPANYDIRECTDELIVERY,A.VENDGROUP,A.LINEDISC,A.DISCPERCENT,A.DIMENSION,A.DIMENSION2
    Object Server 01: The database reported (session 58 (zhlhz)): ORA-03113: end-of-file on communication channel
    . The SQL statement was: "SELECT A.SPECTABLEID,A.LINENUM,A.CODE,A.BALANCE01,A.REFTABLEID,A.REFRECID,A.SPECRECID,A.PAYMENT,A.PAYMENTSTATUS,A.ERRORCODEPAYMENT,A.FULLSETTLEMENT,A.CREATEDDATE,A.CREATEDTIME,A.RECVERSION,A.RECID FROM SPECTRANS A WHERE ((SUBSTR(NLS_LOWER(DATAAREAID),1,7)=NLS_LOWER(:in1)) AND ((REFTABLEID=:in2) AND (REFRECID=:in3)))"
    but when I use PL/SQL Developer to run the scripts. there is no problem.
    And we always met errors when application team run long time batch, about 20 - 30 minutes or even longer.
    When they run 5 or 10 minutes job, there is no error occur.

  • Getting error "ORA-03113: end-of-file on communication channel"

    HI ,
    When Iam trying to compile a procedure in SQL *PLUS ,iam getting the following error :
    ORA-03113: end-of-file on communication channel and the connection is getting lost .There is no issue with the code .
    When i compile the same procedure in sql developer ,connection is getting lost and getting error
    "Connection Closed
    Vendor Code 17008"
    Please help me to resolve the issue .
    Thanks in advance ...

    Hi
    Here is the code which is not getting compiled and is giving the above said error
    CREATE OR REPLACE PROCEDURE SP_Upload_CrossWalk
    (src_dom_nm IN VARCHAR2, src_sys_nm IN VARCHAR2, src_dta_elem_nm IN VARCHAR2, src_cd_val_txt IN VARCHAR2,
    src_cd_val_desc IN VARCHAR2,src_cd_val_grp_desc IN VARCHAR2, tgt_dom_nm IN VARCHAR2, tgt_sys_nm IN VARCHAR2,
    tgt_dta_elem_nm IN VARCHAR2, tgt_cd_val_txt IN VARCHAR2, tgt_cd_val_desc IN VARCHAR2,cd_map_typ_desc IN VARCHAR2,
    eff_dttm IN VARCHAR2, term_dttm IN VARCHAR2, errtext OUT VARCHAR2)
    IS
    src_dom NUMBER;
    src_key NUMBER;
    src_elem NUMBER;
    tgt_dom NUMBER;
    tgt_sys NUMBER;
    tgt_elem NUMBER;
    src_val_seq NUMBER;
    tgt_val_seq NUMBER;
    src_cd_val_seq NUMBER;
    cd_val_map_key_sq NUMBER;
    temp_var VARCHAR2(500);
    var_len NUMBER;
    map_code CHAR(1);
    invalidlength_exception EXCEPTION;
    unknown_exception Exception;
    BEGIN
         var_len := LENGTH(src_cd_val_txt);
         IF var_len > 20 THEN
         temp_var := 'Length of Source Code Value Text Name is more than 20 characters';
         RAISE invalidlength_exception;
         END IF;
         var_len := LENGTH(src_cd_val_desc);
         IF var_len > 255 THEN
         temp_var := 'Length of Code Value Desc is more than 255 characters';
         RAISE invalidlength_exception;
         END IF;
         var_len := LENGTH(tgt_cd_val_txt);
         IF var_len > 20 THEN
         temp_var := 'Length of Target Code Value Text Name is more than 20 characters';
         RAISE invalidlength_exception;
         END IF;
         var_len := LENGTH(tgt_cd_val_desc);
         IF var_len > 255 THEN
         temp_var := 'Length of Target Code Value Desc is more than 255 characters';
         RAISE invalidlength_exception;
         END IF;
         var_len := LENGTH(src_cd_val_grp_desc);
         IF var_len > 255 THEN
         temp_var := 'Length of Code Value Group Desc is more than 255 characters';
         RAISE invalidlength_exception;
         END IF;
         BEGIN
              SELECT dom_key INTO src_dom FROM cu_cdm_dom WHERE dom_nm = src_dom_nm;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too many rows for Domain Key value lookup for Source Domain Name: '||src_dom_nm;
                   RAISE TOO_MANY_ROWS;
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'Domain Key value lookup failed for Source Domain Name: '||src_dom_nm;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the Domain Key value lookup for Source Domain Name: '||src_dom_nm||' :
    '|| sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT sys_key INTO src_key FROM cu_cdm_sys WHERE sys_nm = src_sys_nm;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too many rows for System Key value lookup for Source System Name: '||src_sys_nm;
                   RAISE TOO_MANY_ROWS;           
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'System Key value lookup failed for Source System Name: '||src_sys_nm;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the System Key value lookup for Source System Name: '||src_sys_nm||' :
    '|| sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT dta_elem_key INTO src_elem FROM cu_cdm_dta_elem WHERE dta_elem_phys_nm = src_dta_elem_nm
              AND dom_key = src_dom AND sys_key = src_key;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too many rows for Data Element Key value lookup for Source Data Element Physical Name:
    '||src_dta_elem_nm|| ', Source Domain Key: '||src_dom||' and Source System Key: '||src_key;
                   RAISE TOO_MANY_ROWS;           
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'Data Element Key value lookup failed for Source Data Element Physical Name:
    '||src_dta_elem_nm|| ', Source Domain Key: '||src_dom||' and Source System Key: '||src_key;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the Data Element Key value lookup for Source Data Element Physical
    Name: '||src_dta_elem_nm|| ', Source Domain Key: '||src_dom||' and Source System Key: '||src_key||' : '|| sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT dom_key INTO tgt_dom FROM cu_cdm_dom WHERE dom_nm = tgt_dom_nm;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too many rows for Domain Key value lookup for Target Domain Name: '||tgt_dom_nm;
                   RAISE TOO_MANY_ROWS;           
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'Domain Key value lookup failed for Target Domain Name: '||tgt_dom_nm;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the Domain Key value lookup for Target Domain Name: '||tgt_dom_nm||' :
    '|| sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT sys_key INTO tgt_sys FROM cu_cdm_sys WHERE sys_nm = tgt_sys_nm;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too may rows for System Key value lookup for Target System Name: '||tgt_sys_nm;
                   RAISE TOO_MANY_ROWS;           
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'System Key value lookup failed for Target System Name: '||tgt_sys_nm;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the System Key value lookup for Target System Name: '||tgt_sys_nm||' :
    '|| sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT dta_elem_key INTO tgt_elem FROM cu_cdm_dta_elem WHERE dta_elem_phys_nm = tgt_dta_elem_nm
              AND dom_key = tgt_dom AND sys_key = tgt_sys;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too many rows for Data Element Key value lookup for Target Data Element Physical Name:
    '||tgt_dta_elem_nm|| ', Target Domain Key: '||tgt_dom||' and Target System Key: '||tgt_sys;
                   RAISE TOO_MANY_ROWS;           
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'Data Element Key value lookup failed for Target Data Element Physical Name:
    '||tgt_dta_elem_nm|| ', Target Domain Key: '||tgt_dom||' and Target System Key: '||tgt_sys;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the Data Element Key value lookup for Target Data Element Physical
    Name: '||tgt_dta_elem_nm|| ', Target Domain Key: '||tgt_dom||' and Target System Key: '||tgt_sys||' : '|| sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT MIN(cd_map_typ_cd) INTO map_code FROM cu_cdm_cd_map_typ WHERE cd_map_typ_desc = cd_map_typ_desc;
              EXCEPTION
              WHEN TOO_MANY_ROWS THEN
                   temp_var := 'Too many values for Code Map Type Code value lookup for Code Map Type Desc:
    '||cd_map_typ_desc;
                   RAISE TOO_MANY_ROWS;           
              WHEN NO_DATA_FOUND THEN
                   temp_var := 'Code Map Type Code value lookup failed for Code Map Type Desc: '||cd_map_typ_desc;
                   RAISE NO_DATA_FOUND;
              WHEN OTHERS THEN
                   temp_var := 'Unknown error in the Code Map Type Code value lookup for Code Map Type Desc:
    '||cd_map_typ_desc||' : '|| sqlerrm;
                   RAISE unknown_exception;
         END;     
         BEGIN
              SELECT cu_cdm_src_cd_val_grp_key_sq.nextval INTO src_cd_val_seq FROM dual;
              EXCEPTION
              WHEN OTHERS THEN
                   temp_var := 'Error in generating the value for the sequence CU_CDM_SRC_CD_VAL_GRP_KEY_SQ'||' : '||
    sqlerrm;
                   RAISE unknown_exception;
         END;      
         BEGIN
              SELECT cu_cdm_cd_val_key_sq.nextval INTO src_val_seq FROM dual;
              EXCEPTION
              WHEN OTHERS THEN
                   temp_var := 'Error in generating the value (source) for the sequence CU_CDM_CD_VAL_KEY_SQ'||' : '||
    sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT cu_cdm_cd_val_key_sq.nextval INTO tgt_val_seq FROM dual;
              EXCEPTION
              WHEN OTHERS THEN
                   temp_var := 'Error in generating the value (target) for the sequence CU_CDM_CD_VAL_KEY_SQ'||' : '||
    sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              SELECT cu_cdm_cd_val_map_key_sq.nextval INTO cd_val_map_key_sq FROM dual;
              EXCEPTION
              WHEN OTHERS THEN
                   temp_var := 'Error in generating the value for the sequence CU_CDM_CD_VAL_MAP_KEY_SQ'||' : '||
    sqlerrm;
                   RAISE unknown_exception;
         END;
         BEGIN
              BEGIN
                   INSERT INTO cu_cdm_cd_val_mstr(cd_val_key, cd_val_eff_dttm, dta_elem_key, cd_val_txt,
    cd_val_desc, coode_val_term_dttm)
                   VALUES(src_val_seq, to_date(eff_dttm, 'MM-DD-YYYY'), src_elem, src_cd_val_txt,
    src_cd_val_desc, to_date(term_dttm, 'MM-DD-YYYY'));
                   EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN
                        temp_var := 'Primary Key Violation, key already exists in the table CU_CDM_CD_VAL_MSTR';
                        RAISE DUP_VAL_ON_INDEX;
                   WHEN OTHERS THEN
                        temp_var := 'Unknown error inserting into the table CU_CDM_CD_VAL_MSTR :'||' : '|| sqlerrm;
                        RAISE unknown_exception;
              END;
              BEGIN
                   INSERT INTO cu_cdm_cd_val_mstr(cd_val_key, cd_val_eff_dttm, dta_elem_key, cd_val_txt,
    cd_val_desc, coode_val_term_dttm)
                   VALUES(tgt_val_seq, to_date(eff_dttm, 'MM-DD-YYYY'), tgt_elem, tgt_cd_val_txt,
    tgt_cd_val_desc, to_date(term_dttm, 'MM-DD-YYYY'));
                   EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN
                        temp_var := 'Primary Key Violation, key already exists in the table CU_CDM_CD_VAL_MSTR';
                        RAISE DUP_VAL_ON_INDEX;
                   WHEN OTHERS THEN
                        temp_var := 'UUnknown error inserting into the table CU_CDM_CD_VAL_MSTR'||' : '|| sqlerrm;
                        RAISE unknown_exception;
              END;
              BEGIN
                   INSERT INTO cu_cdm_src_cd_val_grp(src_cd_val_grp_key, src_cd_val_grp_eff_dttm,
    src_cd_val_grp_desc, src_cd_val_term_dttm)
                   VALUES(src_cd_val_seq, to_date(eff_dttm, 'MM-DD-YYYY'), src_cd_val_grp_desc,
    to_date(term_dttm, 'MM-DD-YYYY'));
                   EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN
                        temp_var := 'Primary Key Violation, key already exists in the table CU_CDM_SRC_CD_VAL_GRP';
                        RAISE DUP_VAL_ON_INDEX;
                   WHEN OTHERS THEN
                        temp_var := 'Unknown error inserting into the table CU_CDM_SRC_CD_VAL_GRP'||' : '|| sqlerrm;
                        RAISE unknown_exception;
              END;
              BEGIN
                   INSERT INTO cu_cdm_cd_val_map(cd_val_map_key, cd_map_eff_dttm, cd_map_typ_cd,
    cd_map_term_dttm, tgt_cd_val_key, tgt_cd_val_eff_dttm, src_cd_val_grp_key, src_cd_val_grp_eff_dttm)
                   VALUES(cd_val_map_key_sq, to_date(eff_dttm, 'MM-DD-YYYY'), map_code, to_date(term_dttm,
    'MM-DD-YYYY'),
                   tgt_val_seq, to_date(eff_dttm, 'MM-DD-YYYY'), src_cd_val_seq, to_date(eff_dttm,
    'MM-DD-YYYY'));
                   EXCEPTION
                   WHEN DUP_VAL_ON_INDEX THEN
                        temp_var := 'Primary Key Violation, key already exists in the table CU_CDM_CD_VAL_MAP';
                        RAISE DUP_VAL_ON_INDEX;
                   WHEN OTHERS THEN
                        temp_var := 'Unknown error inserting into the table CU_CDM_CD_VAL_MAP'||' : '|| sqlerrm;
                        RAISE unknown_exception;
              END;
    END;
         COMMIT;
    EXCEPTION
              WHEN NO_DATA_FOUND THEN
              errtext := temp_var ||' : '|| sqlerrm;
              WHEN TOO_MANY_ROWS THEN
         errtext := temp_var ||' : '|| sqlerrm;
              WHEN DUP_VAL_ON_INDEX THEN
              errtext := temp_var ||' : '|| sqlerrm;
              WHEN invalidlength_exception THEN
              errtext := temp_var;
    WHEN unknown_exception THEN
    errtext := temp_var ||' : '|| sqlerrm;     
              WHEN OTHERS THEN
              errtext := sqlcode ||' : '|| sqlerrm;
    END SP_Upload_CrossWalk;
    Please help me in this regard
    Regards
    Deepak

  • Why is this an error???  I don't understand why it is... Help Please

    Hi,
    Ok, I'll preface this by saying there's a lotta code pasted in here but it really quite an easy question, I just need to post all the code so you understand where what came from.
    Now.............the question I'm trying to do is to create an applet that has 2 buttons -- each button when clicked opens an application (one is a simple calculator, the other a Mortgage calculation app). When you click one of the buttons (calc or mortgage), that app opens infront of the 2 button menu so its in "focus". The button on the 2 button menu then switches to a "hide app X" button (ie: "Mortgage", changes to "Hide Mortgage"). Thus if you click the hide button, the app that was opened is hidden, and then that "hide" button switches back to the original "app X" button. Pretty simple.
    Now, I have from my text book an example that does exactly this, with the simple calculator already in it, and with another app (a traffic light thing) where the Mortgage should be in my final product. I also already have the Mortgage applet I need to insert from another book example in place of that Traffic Light portion.
    Now, common sense would dictate that I should be able to just copy my code for the Mortgage applet into the example that has the 2 button menu structure, and overwrite the code I want to get rid of (the traffic light) with the mortgage code & rename the menu buttons. Right?? A simple switch of one thing for another... but therein lies my problem.
    I copied all the Mortgage code in correctly over the traffic lights, switched the button names, tried to compile it but I get one error....
    Exercise12_17.java:52: cannot resolve symbol
    symbol  : method pack ()
    location: class MortgageApplet
            mortgageAppletFrame.pack();I don't understand why..... mortgageAppletFrame.pack(); was a simple rewrite from lightsFrame.pack(); like every other line...... it should work. I've gone over it for 2 days......... Anyone know why it comes up as an error???
    Below, in order going down is (1)my code with the 1 error I can't solve, (2)the original menu example I tried to edit, and (3)the Mortgage app code...........
    Does anyone know what my error is?? Help or a hint would be greatly appreciated........ Thanks.
    My erroring app.......
    // Exercise12_17.java: Create multiple windows
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.TitledBorder;
    public class Exercise12_17 extends JFrame implements ActionListener {
      // Declare and create a frame: an instance of MenuDemo
      MenuDemo calcFrame = new MenuDemo();
      // Declare and create a frame: an instance of RadioButtonDemo
      MortgageApplet mortgageAppletFrame = new MortgageApplet();
      // Declare two buttons for displaying frames
      private JButton jbtCalc;
      private JButton jbtMortgage;
      public static void main(String[] args) {
        Exercise12_17 frame = new Exercise12_17();
        frame.setSize( 400, 70 );
        frame.setTitle("Exercise 11.8: Multiple Windows Demo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
      public Exercise12_17() {
        // Add buttons to the main frame
        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(jbtCalc = new JButton("Simple Calculator"));
         getContentPane().add(jbtMortgage = new JButton("Mortgage"));
        // Register the main frame as listener for the buttons
        jbtCalc.addActionListener(this);
         jbtMortgage.addActionListener(this);
      public void actionPerformed(ActionEvent e) {
        String arg = e.getActionCommand();
        if (e.getSource() instanceof JButton)
          if ("Simple Calculator".equals(arg)) {
            //show the MenuDemo frame
            jbtCalc.setText("Hide Simple Calculator");
            calcFrame.pack();
            calcFrame.setVisible(true);
          else if ("Hide Simple Calculator".equals(arg)) {
            calcFrame.setVisible(false);
            jbtCalc.setText("Simple Calculator");
          else if ("Mortgage".equals(arg)) {
            //show the CheckboxGroup frame
            mortgageAppletFrame.pack();
            jbtMortgage.setText("Hide Mortgage");
            mortgageAppletFrame.setVisible(true);
          else if ("Hide Mortgage".equals(arg)) {
            mortgageAppletFrame.setVisible(false);
            jbtMortgage.setText("Mortgage");
      class MortgageApplet extends JApplet
      implements ActionListener {
      // Declare and create text fields for interest rate
      // year, loan amount, monthly payment, and total payment
      private JTextField jtfAnnualInterestRate = new JTextField();
      private JTextField jtfNumOfYears = new JTextField();
      private JTextField jtfLoanAmount = new JTextField();
      private JTextField jtfMonthlyPayment = new JTextField();
      private JTextField jtfTotalPayment = new JTextField();
      // Declare and create a Compute Mortgage button
      private JButton jbtComputeMortgage = new JButton("Compute Mortgage");
      /** Initialize user interface */
      public void init() {
        // Set properties on the text fields
        jtfMonthlyPayment.setEditable(false);
        jtfTotalPayment.setEditable(false);
        // Right align text fields
        jtfAnnualInterestRate.setHorizontalAlignment(JTextField.RIGHT);
        jtfNumOfYears.setHorizontalAlignment(JTextField.RIGHT);
        jtfLoanAmount.setHorizontalAlignment(JTextField.RIGHT);
        jtfMonthlyPayment.setHorizontalAlignment(JTextField.RIGHT);
        jtfTotalPayment.setHorizontalAlignment(JTextField.RIGHT);
        // Panel p1 to hold labels and text fields
        JPanel p1 = new JPanel();
        p1.setLayout(new GridLayout(5, 2));
        p1.add(new Label("Annual Interest Rate"));
        p1.add(jtfAnnualInterestRate);
        p1.add(new Label("Number of Years"));
        p1.add(jtfNumOfYears);
        p1.add(new Label("Loan Amount"));
        p1.add(jtfLoanAmount);
        p1.add(new Label("Monthly Payment"));
        p1.add(jtfMonthlyPayment);
        p1.add(new Label("Total Payment"));
        p1.add(jtfTotalPayment);
        p1.setBorder(new
          TitledBorder("Enter interest rate, year and loan amount"));
        // Panel p2 to hold the button
        JPanel p2 = new JPanel();
        p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
        p2.add(jbtComputeMortgage);
        // Add the components to the applet
        getContentPane().add(p1, BorderLayout.CENTER);
        getContentPane().add(p2, BorderLayout.SOUTH);
        // Register listener
        jbtComputeMortgage.addActionListener(this);
      /** Handle the "Compute Mortgage" button */
      public void actionPerformed(ActionEvent e) {
        if (e.getSource() == jbtComputeMortgage) {
          // Get values from text fields
          double interest = (Double.valueOf(
            jtfAnnualInterestRate.getText())).doubleValue();
          int year =
            (Integer.valueOf(jtfNumOfYears.getText())).intValue();
          double loan =
            (Double.valueOf(jtfLoanAmount.getText())).doubleValue();
          // Create a mortgage object
          Mortgage m = new Mortgage(interest, year, loan);
          // Display monthly payment and total payment
          jtfMonthlyPayment.setText(String.valueOf(m.monthlyPayment()));
          jtfTotalPayment.setText(String.valueOf(m.totalPayment()));
    class MenuDemo extends JFrame implements ActionListener {
      // Text fields for Number 1, Number 2, and Result
      private JTextField jtfNum1, jtfNum2, jtfResult;
      // Buttons "Add", "Subtract", "Multiply" and "Divide"
      private JButton jbtAdd, jbtSub, jbtMul, jbtDiv;
      // Menu items "Add", "Subtract", "Multiply","Divide" and "Close"
      private JMenuItem jmiAdd, jmiSub, jmiMul, jmiDiv, jmiClose;
      /** Main method */
      public static void main(String[] args) {
        MenuDemo frame = new MenuDemo();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
      /** Default constructor */
      public MenuDemo() {
        setTitle("Menu Demo");
        // Create menu bar
        JMenuBar jmb = new JMenuBar();
        // Set menu bar to the frame
        setJMenuBar(jmb);
        // Add menu "Operation" to menu bar
        JMenu operationMenu = new JMenu("Operation");
        operationMenu.setMnemonic('O');
        jmb.add(operationMenu);
        // Add menu "Exit" in menu bar
        JMenu exitMenu = new JMenu("Exit");
        exitMenu.setMnemonic('E');
        jmb.add(exitMenu);
        // Add menu items with mnemonics to menu "Operation"
        operationMenu.add(jmiAdd= new JMenuItem("Add", 'A'));
        operationMenu.add(jmiSub = new JMenuItem("Subtract", 'S'));
        operationMenu.add(jmiMul = new JMenuItem("Multiply", 'M'));
        operationMenu.add(jmiDiv = new JMenuItem("Divide", 'D'));
        exitMenu.add(jmiClose = new JMenuItem("Close", 'C'));
        // Set keyboard accelerators
        jmiAdd.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
        jmiSub.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
        jmiMul.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.CTRL_MASK));
        jmiDiv.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.CTRL_MASK));
        // Panel p1 to hold text fields and labels
        JPanel p1 = new JPanel();
        p1.setLayout(new FlowLayout());
        p1.add(new JLabel("Number 1"));
        p1.add(jtfNum1 = new JTextField(3));
        p1.add(new JLabel("Number 2"));
        p1.add(jtfNum2 = new JTextField(3));
        p1.add(new JLabel("Result"));
        p1.add(jtfResult = new JTextField(4));
        jtfResult.setEditable(false);
        // Panel p2 to hold buttons
        JPanel p2 = new JPanel();
        p2.setLayout(new FlowLayout());
        p2.add(jbtAdd = new JButton("Add"));
        p2.add(jbtSub = new JButton("Subtract"));
        p2.add(jbtMul = new JButton("Multiply"));
        p2.add(jbtDiv = new JButton("Divide"));
        // Add panels to the frame
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(p1, BorderLayout.CENTER);
        getContentPane().add(p2, BorderLayout.SOUTH);
        // Register listeners
        jbtAdd.addActionListener(this);
        jbtSub.addActionListener(this);
        jbtMul.addActionListener(this);
        jbtDiv.addActionListener(this);
        jmiAdd.addActionListener(this);
        jmiSub.addActionListener(this);
        jmiMul.addActionListener(this);
        jmiDiv.addActionListener(this);
        jmiClose.addActionListener(this);
      /** Handle ActionEvent from buttons and menu items */
      public void actionPerformed(ActionEvent e) {
        String actionCommand = e.getActionCommand();
        // Handle button events
        if (e.getSource() instanceof JButton) {
          if ("Add".equals(actionCommand))
            calculate('+');
          else if ("Subtract".equals(actionCommand))
            calculate('-');
          else if ("Multiply".equals(actionCommand))
            calculate('*');
          else if ("Divide".equals(actionCommand))
            calculate('/');
        else if (e.getSource() instanceof JMenuItem) {
          // Handle menu item events
          if ("Add".equals(actionCommand))
            calculate('+');
          else if ("Subtract".equals(actionCommand))
            calculate('-');
          else if ("Multiply".equals(actionCommand))
            calculate('*');
          else if ("Divide".equals(actionCommand))
            calculate('/');
          else if ("Close".equals(actionCommand))
            System.exit(0);
      /** Calculate and show the result in jtfResult */
      private void calculate(char operator) {
        // Obtain Number 1 and Number 2
        int num1 = (Integer.parseInt(jtfNum1.getText().trim()));
        int num2 = (Integer.parseInt(jtfNum2.getText().trim()));
        int result = 0;
        // Perform selected operation
        switch (operator) {
          case '+': result = num1 + num2;
                    break;
          case '-': result = num1 - num2;
                    break;
          case '*': result = num1 * num2;
                    break;
          case '/': result = num1 / num2;
        // Set result in jtfResult
        jtfResult.setText(String.valueOf(result));
    Original 2 button menu example....
    // Exercise11_8.java: Create multiple windows
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class Exercise11_8 extends JFrame implements ActionListener {
      // Declare and create a frame: an instance of MenuDemo
      MenuDemo calcFrame = new MenuDemo();
      // Declare and create a frame: an instance of RadioButtonDemo
      RadioButtonDemo lightsFrame = new RadioButtonDemo();
      // Declare two buttons for displaying frames
      private JButton jbtCalc;
      private JButton jbtLights;
      public static void main(String[] args) {
        Exercise11_8 frame = new Exercise11_8();
        frame.setSize( 400, 70 );
        frame.setTitle("Exercise 11.8: Multiple Windows Demo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
      public Exercise11_8() {
        // Add buttons to the main frame
        getContentPane().setLayout(new FlowLayout());
        getContentPane().add(jbtCalc = new JButton("Simple Calculator"));
        getContentPane().add(jbtLights = new JButton("Traffic Lights"));
        // Register the main frame as listener for the buttons
        jbtCalc.addActionListener(this);
        jbtLights.addActionListener(this);
      public void actionPerformed(ActionEvent e) {
        String arg = e.getActionCommand();
        if (e.getSource() instanceof JButton)
          if ("Simple Calculator".equals(arg)) {
            //show the MenuDemo frame
            jbtCalc.setText("Hide Simple Calculator");
            calcFrame.pack();
            calcFrame.setVisible(true);
          else if ("Hide Simple Calculator".equals(arg)) {
            calcFrame.setVisible(false);
            jbtCalc.setText("Simple Calculator");
          else if ("Traffic Lights".equals(arg)) {
            //show the CheckboxGroup frame
            lightsFrame.pack();
            jbtLights.setText("Hide Traffic Lights");
            lightsFrame.setVisible(true);
          else if ("Hide Traffic Lights".equals(arg)) {
            lightsFrame.setVisible(false);
            jbtLights.setText("Traffic Lights");
         class RadioButtonDemo extends JFrame
      implements ItemListener {
      // Declare radio buttons
      private JRadioButton jrbRed, jrbYellow, jrbGreen;
      // Declare a radio button group
      private ButtonGroup btg = new ButtonGroup();
      // Declare a traffic light display panel
      private Light light;
      /** Main method */
      public static void main(String[] args) {
        RadioButtonDemo frame = new RadioButtonDemo();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(250, 170);
        frame.setVisible(true);
      /** Default constructor */
      public RadioButtonDemo() {
        setTitle("RadioButton Demo");
        // Add traffic light panel to panel p1
        JPanel p1 = new JPanel();
        p1.setSize(200, 200);
        p1.setLayout(new FlowLayout(FlowLayout.CENTER));
        light = new Light();
        light.setSize(40, 90);
        p1.add(light);
        // Put the radio button in Panel p2
        JPanel p2 = new JPanel();
        p2.setLayout(new FlowLayout());
        p2.add(jrbRed = new JRadioButton("Red", true));
        p2.add(jrbYellow = new JRadioButton("Yellow", false));
        p2.add(jrbGreen = new JRadioButton("Green", false));
        // Set keyboard mnemonics
        jrbRed.setMnemonic('R');
        jrbYellow.setMnemonic('Y');
        jrbGreen.setMnemonic('G');
        // Group radio buttons
        btg.add(jrbRed);
        btg.add(jrbYellow);
        btg.add(jrbGreen);
        // Place p1 and p2 in the frame
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(p1, BorderLayout.CENTER);
        getContentPane().add(p2, BorderLayout.SOUTH);
        // Register listeners for check boxes
        jrbRed.addItemListener(this);
        jrbYellow.addItemListener(this);
        jrbGreen.addItemListener(this);
      /** Handle checkbox events */
      public void itemStateChanged(ItemEvent e) {
        if (jrbRed.isSelected())
          light.turnOnRed(); // Set red light
        if (jrbYellow.isSelected())
          light.turnOnYellow(); // Set yellow light
        if (jrbGreen.isSelected())
          light.turnOnGreen(); // Set green light
    // Three traffic lights shown in a panel
    class Light extends JPanel {
      private boolean red;
      private boolean yellow;
      private boolean green;
      /** Default constructor */
      public Light() {
        turnOnGreen();
      /** Set red light on */
      public void turnOnRed() {
        red = true;
        yellow = false;
        green = false;
        repaint();
      /** Set yellow light on */
      public void turnOnYellow() {
        red = false;
        yellow = true;
        green = false;
        repaint();
      /** Set green light on */
      public void turnOnGreen() {
        red = false;
        yellow = false;
        green = true;
        repaint();
      /** Display lights */
      public void paintComponent(Graphics g) {
        super.paintComponent(g);
        if (red) {
          g.setColor(Color.red);
          g.fillOval(10, 10, 20, 20);
          g.setColor(Color.black);
          g.drawOval(10, 35, 20, 20);
          g.drawOval(10, 60, 20, 20);
          g.drawRect(5, 5, 30, 80);
        else if (yellow) {
          g.setColor(Color.yellow);
          g.fillOval(10, 35, 20, 20);
          g.setColor(Color.black);
          g.drawRect(5, 5, 30, 80);
          g.drawOval(10, 10, 20, 20);
          g.drawOval(10, 60, 20, 20);
        else if (green) {
          g.setColor(Color.green);
          g.fillOval(10, 60, 20, 20);
          g.setColor(Color.black);
          g.drawRect(5, 5, 30, 80);
          g.drawOval(10, 10, 20, 20);
          g.drawOval(10, 35, 20, 20);
        else {
          g.setColor(Color.black);
          g.drawRect(5, 5, 30, 80);
          g.drawOval(10, 10, 20, 20);
          g.drawOval(10, 35, 20, 20);
          g.drawOval(10, 60, 20, 20);
      /** Set preferred size */
      public Dimension getPreferredSize() {
        return new Dimension(40, 90);
    class MenuDemo extends JFrame implements ActionListener {
      // Text fields for Number 1, Number 2, and Result
      private JTextField jtfNum1, jtfNum2, jtfResult;
      // Buttons "Add", "Subtract", "Multiply" and "Divide"
      private JButton jbtAdd, jbtSub, jbtMul, jbtDiv;
      // Menu items "Add", "Subtract", "Multiply","Divide" and "Close"
      private JMenuItem jmiAdd, jmiSub, jmiMul, jmiDiv, jmiClose;
      /** Main method */
      public static void main(String[] args) {
        MenuDemo frame = new MenuDemo();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
      /** Default constructor */
      public MenuDemo() {
        setTitle("Menu Demo");
        // Create menu bar
        JMenuBar jmb = new JMenuBar();
        // Set menu bar to the frame
        setJMenuBar(jmb);
        // Add menu "Operation" to menu bar
        JMenu operationMenu = new JMenu("Operation");
        operationMenu.setMnemonic('O');
        jmb.add(operationMenu);
        // Add menu "Exit" in menu bar
        JMenu exitMenu = new JMenu("Exit");
        exitMenu.setMnemonic('E');
        jmb.add(exitMenu);
        // Add menu items with mnemonics to menu "Operation"
        operationMenu.add(jmiAdd= new JMenuItem("Add", 'A'));
        operationMenu.add(jmiSub = new JMenuItem("Subtract", 'S'));
        operationMenu.add(jmiMul = new JMenuItem("Multiply", 'M'));
        operationMenu.add(jmiDiv = new JMenuItem("Divide", 'D'));
        exitMenu.add(jmiClose = new JMenuItem("Close", 'C'));
        // Set keyboard accelerators
        jmiAdd.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_A, ActionEvent.CTRL_MASK));
        jmiSub.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
        jmiMul.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_M, ActionEvent.CTRL_MASK));
        jmiDiv.setAccelerator(
          KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.CTRL_MASK));
        // Panel p1 to hold text fields and labels
        JPanel p1 = new JPanel();
        p1.setLayout(new FlowLayout());
        p1.add(new JLabel("Number 1"));
        p1.add(jtfNum1 = new JTextField(3));
        p1.add(new JLabel("Number 2"));
        p1.add(jtfNum2 = new JTextField(3));
        p1.add(new JLabel("Result"));
        p1.add(jtfResult = new JTextField(4));
        jtfResult.setEditable(false);
        // Panel p2 to hold buttons
        JPanel p2 = new JPanel();
        p2.setLayout(new FlowLayout());
        p2.add(jbtAdd = new JButton("Add"));
        p2.add(jbtSub = new JButton("Subtract"));
        p2.add(jbtMul = new JButton("Multiply"));
        p2.add(jbtDiv = new JButton("Divide"));
        // Add panels to the frame
        getContentPane().setLayout(new BorderLayout());
        getContentPane().add(p1, BorderLayout.CENTER);
        getContentPane().add(p2, BorderLayout.SOUTH);
        // Register listeners
        jbtAdd.addActionListener(this);
        jbtSub.addActionListener(this);
        jbtMul.addActionListener(this);
        jbtDiv.addActionListener(this);
        jmiAdd.addActionListener(this);
        jmiSub.addActionListener(this);
        jmiMul.addActionListener(this);
        jmiDiv.addActionListener(this);
        jmiClose.addActionListener(this);
      /** Handle ActionEvent from buttons and menu items */
      public void actionPerformed(ActionEvent e) {
        String actionCommand = e.getActionCommand();
        // Handle button events
        if (e.getSource() instanceof JButton) {
          if ("Add".equals(actionCommand))
            calculate('+');
          else if ("Subtract".equals(actionCommand))
            calculate('-');
          else if ("Multiply".equals(actionCommand))
            calculate('*');
          else if ("Divide".equals(actionCommand))
            calculate('/');
        else if (e.getSource() instanceof JMenuItem) {
          // Handle menu item events
          if ("Add".equals(actionCommand))
            calculate('+');
          else if ("Subtract".equals(actionCommand))
            calculate('-');
          else if ("Multiply".equals(actionCommand))
            calculate('*');
          else if ("Divide".equals(actionCommand))
            calculate('/');
          else if ("Close".equals(actionCommand))
            System.exit(0);
      /** Calculate and show the result in jtfResult */
      private void calculate(char operator) {
        // Obtain Number 1 and Number 2
        int num1 = (Integer.parseInt(jtfNum1.getText().trim()));
        int num2 = (Integer.parseInt(jtfNum2.getText().trim()));
        int result = 0;
        // Perform selected operation
        switch (operator) {
          case '+': result = num1 + num2;
                    break;
          case '-': result = num1 - num2;
                    break;
          case '*': result = num1 * num2;
                    break;
          case '/': result = num1 / num2;
        // Set result in jtfResult
        jtfResult.setText(String.valueOf(result));
    Mortgage applet code....
    // MortgageApplet.java: Applet for computing mortgage payments
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.TitledBorder;
    public class MortgageApplet extends JApplet
      implements ActionListener {
      // Declare and create text fields for interest rate
      // year, loan amount, monthly payment, and total payment
      private JTextField jtfAnnualInterestRate = new JTextField();
      private JTextField jtfNumOfYears = new JTextField();
      private JTextField jtfLoanAmount = new JTextField();
      private JTextField jtfMonthlyPayment = new JTextField();
      private JTextField jtfTotalPayment = new JTextField();
      // Declare and create a Compute Mortgage button
      private JButton jbtComputeMortgage = new JButton("Compute Mortgage");
      /** Initialize user interface */
      public void init() {
        // Set properties on the text fields
        jtfMonthlyPayment.setEditable(false);
        jtfTotalPayment.setEditable(false);
        // Right align text fields
        jtfAnnualInterestRate.setHorizontalAlignment(JTextField.RIGHT);
        jtfNumOfYears.setHorizontalAlignment(JTextField.RIGHT);
        jtfLoanAmount.setHorizontalAlignment(JTextField.RIGHT);
        jtfMonthlyPayment.setHorizontalAlignment(JTextField.RIGHT);
        jtfTotalPayment.setHorizontalAlignment(JTextField.RIGHT);
        // Panel p1 to hold labels and text fields
        JPanel p1 = new JPanel();
        p1.setLayout(new GridLayout(5, 2));
        p1.add(new Label("Annual Interest Rate"));
        p1.add(jtfAnnualInterestRate);
        p1.add(new Label("Number of Years"));
        p1.add(jtfNumOfYears);
        p1.add(new Label("Loan Amount"));
        p1.add(jtfLoanAmount);
        p1.add(new Label("Monthly Payment"));
        p1.add(jtfMonthlyPayment);
        p1.add(new Label("Total Payment"));
        p1.add(jtfTotalPayment);
        p1.setBorder(new
          TitledBorder("Enter interest rate, year and loan amount"));
        // Panel p2 to hold the button
        JPanel p2 = new JPanel();
        p2.setLayout(new FlowLayout(FlowLayout.RIGHT));
        p2.add(jbtComputeMortgage);
        // Add the components to the applet
        getContentPane().add(p1, BorderLayout.CENTER);
        getContentPane().add(p2, BorderLayout.SOUTH);
        // Register listener
        jbtComputeMortgage.addActionListener(this);
      /** Handle the "Compute Mortgage" button */
      public void actionPerformed(ActionEvent e) {
        if (e.getSource() == jbtComputeMortgage) {
          // Get values from text fields
          double interest = (Double.valueOf(
            jtfAnnualInterestRate.getText())).doubleValue();
          int year =
            (Integer.valueOf(jtfNumOfYears.getText())).intValue();
          double loan =
            (Double.valueOf(jtfLoanAmount.getText())).doubleValue();
          // Create a mortgage object
          Mortgage m = new Mortgage(interest, year, loan);
          // Display monthly payment and total payment
          jtfMonthlyPayment.setText(String.valueOf(m.monthlyPayment()));
          jtfTotalPayment.setText(String.valueOf(m.totalPayment()));
    }

    Does it have to be an applet?
    If you want the same behaviour as in the code with traffic lights, change
    class MortgageApplet extends JApplet implements ActionListener {
    to
    class MortgageApplet extends JFrame implements ActionListener {
    and change
    public void init() {
    to
    public MortgageApplet() {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Error ORA-03113 when upgrading from 11.2.0.1 to 11.2.0.3

    I keep on getting this error when upgrading from 11.2.0.1 to 11.2.0.3
    [Thread-57] [ 2012-04-20 13:18:28.207 CEST ] [SummarizableStep.genSummary:409]  Generating Summary for:=Pre Upgrade ,status is:=Successful
    [Thread-57] [ 2012-04-20 13:18:28.208 CEST ] [SummarizableStep.genSummary:409]  Generating Summary for:=Oracle Server ,status is:=Failed
    oracle.sysman.assistants.util.step.StepExecutionException: ORA-03113: end-of-file on communication channel
    Upgrade failed due to running the step "Upgrading Oracle Server"
            at oracle.sysman.assistants.dbma.backend.component.SubComponent.executeSubStepImpl(SubComponent.java:738)
            at oracle.sysman.assistants.dbma.backend.component.SubComponent.executeStepImpl(SubComponent.java:585)
            at oracle.sysman.assistants.dbma.backend.component.Component.executeStepImpl(Component.java:317)
            at oracle.sysman.assistants.dbma.backend.SummarizableStep.executeImpl(SummarizableStep.java:183)
            at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
            at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
            at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2708)
            at java.lang.Thread.run(Thread.java:637)
    [Thread-57] [ 2012-04-20 13:18:28.209 CEST ] [SummarizableStep.executeImpl:212]  Throwing exception e from SummarizableStep
    [Thread-57] [ 2012-04-20 13:18:28.209 CEST ] [BasicStep.configureSettings:304]  messageHandler being set=oracle.sysman.assistants.util.UIMessageHandler@4805e9f1
    oracle.sysman.assistants.util.step.StepExecutionException: ORA-03113: end-of-file on communication channel
    Upgrade failed due to running the step "Upgrading Oracle Server"
            at oracle.sysman.assistants.dbma.backend.component.SubComponent.executeSubStepImpl(SubComponent.java:738)
            at oracle.sysman.assistants.dbma.backend.component.SubComponent.executeStepImpl(SubComponent.java:585)
            at oracle.sysman.assistants.dbma.backend.component.Component.executeStepImpl(Component.java:317)
            at oracle.sysman.assistants.dbma.backend.SummarizableStep.executeImpl(SummarizableStep.java:183)
            at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
            at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
            at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2708)
            at java.lang.Thread.run(Thread.java:637)
    [Thread-57] [ 2012-04-20 13:18:31.000 CEST ] [CompManager.isModeSet:9822]   DB Upgrade Mode Setting := 1
    [Thread-57] [ 2012-04-20 13:18:31.001 CEST ] [CompManager.isModeSet:9823]   Mode := 1 is set
    [Thread-57] [ 2012-04-20 13:18:31.001 CEST ] [SQLEngine.done:2189]  Done called
    [Thread-57] [ 2012-04-20 13:18:31.001 CEST ] [Database.getStepSQLInterface:787]  OH in database: /app/oracle/product/11.2.0.3/db_1Any clues about what could be wrong? I am planning to upgrade with the manual steps if it does not work :(

    Pl post OS details - are you using DBUA to upgrade ? Are there any errors in the database alert log ?
    ORA-00600 [kodpunp-nulltds], ORA-00600 [kokeeiix1], [600] When Upgrading To 11GR2 [ID 1367827.1]     
    HTH
    Srini

  • Oracle error ORA-03113: end-of-file on communication channel

    Dear Support
    I am getting "ORA-03113: end-of-file on communication channel" when I am trying to access my application.
    The current setup is following
    - two node Sun Cluster with node name as sep1n1 and sep2n2
    - running Oracle RAC (oracle database 10g) with instance name as ADVFRW1 and ADVFRW2
    Please see attached oracle trace file which was generated at the time of problem.
    Can you please help me to know what can be the reason of this oracle error/crash?
    Thanks
    Regards
    VS

    I don't see any Trace file.
    Network Problems?
    Are the databases up and running?

Maybe you are looking for

  • Pianobar network error on get stations

    I am running pianobar and each time it loads i get: └──>>pianobar Welcome to pianobar (2012.06.24)! Press ? for a list of commands. (i) Login... Ok. (i) Get stations... Network error: Invalid encoded data. I've tried adding dev=default to /etc/libao.

  • Suggestion: wish list feature

    I'm sure you've had this before, but it would be great if iTMS had some sort of wish list feature where you could mark albums you are interested in, to purchase later.

  • Authentication Problem - Specify the correect username or password

    Hello dear software developers. I'm a newbie on WebCenter Portal. After installation parts, i try to run my first application according to this tutorial -> http://www.youtube.com/watch?v=Gc1Zdikx4sc Time of 4.54 in tutorial i entered user name and th

  • Cisco AIR-ANT2506 Compatibility

    Hi, I need an omni antenna with the specifications of AIR-ANT2506 for a Lighweight AP 1242 for outdoor installation. The AP is compatible with the antenna, but the description of the antenna says that it is a 2.4 GHz Bridge Antenna. Does this mean th

  • CS2 Unable to find file errors

    Hi We are having trouble with photoshop cs2.  We can not open most files.  Tiff, PSD, some PDF files will give an "unable to find file error".  Jpg files, and certain PDF files and TIFF files that use jpg compression work.  I have tried resetting all