Creation Zone

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Monday, 31 December 2007

E-Business Suite R12 : Java Performance on UltraSPARC T1/T2 processors

Posted on 19:36 by Unknown
Oracle Metalink Note:402312.1 Oracle Applications Installation and Upgrade Notes Release 12 (12.0) for Solaris Operating System (SPARC) has been updated with known issues and workarounds pertaining to the Java performance on UltraSPARC T1/T2 (Niagara / Niagara 2) processor based Tx000/T5x20 systems. It is a must read for all the customers who have Oracle E-Business Suite 11i / R12 deployments on Sun Fire Tx000/T5x20 systems.

__________
Technorati Tags:
 UltraSPARC T1 |  UltraSPARC T2 |  Java Performance |  Oracle E-Business Suite |  Oracle Applications
Read More
Posted in | No comments

Tuesday, 4 December 2007

Solaris: Handling idle socket connections

Posted on 00:27 by Unknown
(based on the writings of Gregory Bedigian, Joonbo Yoon and Neil Putnam, Sun Microsystems)

It is not uncommon to see lots of idle TCP connections (run netstat -a on Solaris to check the state of TCP connections on Solaris) in real world production systems. Here is a little background on the IDLE state for TCP socket connections:

TCP endpoints are in IDLE state when first created. After the socket creation (listening socket or the client socket), a call is normally made to the bind() system call in order to make the server port to listen or connect() call from client to communicate with the server.

In the instance where bind() is not used in the server program; or the equivalent connect() in the client program, the state of the TCP connection will be IDLE. Check the tcp.h for relevant comments.
% grep IDLE /usr/include/inet/tcp.h
#define TCPS_IDLE -5 /* idle (opened, but not bound) */

Typically on Solaris, IDLE TCP connections are maintained indefinitely once created, even if no communication occurs between host systems. Note that keeping the connection open may consume host and/or application resources. However there are no TCP/IP tunable parameters to tweak idle, unbound socket connections.

Other possible scenarios where we may see lots of IDLE connections
  • The client has aborted the connection without notifying the server.
    • eg., Client crash, client OS crash.. etc. In such cases, the server will be waiting on a non-existing client.

  • The active communication between the client and the server has been interrupted. In this case the client and the server are waiting on each other.
    • eg., Network outage or a broken network path between the two hosts.

In any case, server treats them as valid connections; and the resources allocated to those connections will be kept intact. Next few paragraphs show how to clean up such idle connections.

TCP keepalive option on Solaris

TCP keepalive is a feature provided by many TCP implementations, including Solaris, as a way to clean up idle connections in situations like the ones mentioned above. Applications must enable this feature with the SO_KEEPALIVE socket option via the setsockopt(3SOCKET) socket call. Once enabled, a keepalive probe packet is sent to the other end of the socket provided the connection has remained in the ESTABLISHED state and has been idle for the specified time frame. This time frame is the value specified by the TCP tunable tcp_keepalive_interval.

A keepalive probe packet is handled just like any other TCP packet which requires an acknowledgment (ACK) from the other end of the socket connection. It will be retransmitted per the standard retransmission backoff algorithm. If no response is received by the time specified for the other TCP tunable, tcp_ip_abort_interval, the connection is terminated, as would be the case for any other unacknowledged packet. Hence the actual maximum idle time of a connection utilizing TCP keepalive, which has no responding peer will therefore be:
           tcp_keepalive_interval + tcp_ip_abort_interval
.
To set the relevant TCP tunables on Solaris, run:
/usr/sbin/ndd -set /dev/tcp tcp_keepalive_interval <value in milliseconds>
/usr/sbin/ndd -set /dev/tcp tcp_ip_abort_interval <value in milliseconds>

The above parameters are global and will affect the entire system. Keep in mind that TCP keepalive probes have no effect on inactive connections as long as the remote host is still responding to probes. However care should be taken to ensure the above parameters remain at a high enough value to avoid unnecessary traffic and other issues such as prematurely closing active connections in situations where a few packets have gone missing.
____________________
Technorati tags:
 Solaris |  OpenSolaris |  TCP |  Networking |  Troubleshooting
Read More
Posted in | No comments

Wednesday, 28 November 2007

Solaris: Which process is associated with a socket connection?

Posted on 20:22 by Unknown
Consider the following real world scenario (copied from an e-mail message that I got from one of our partners):

[...] one process is waiting for a very long time in a send system call. It is sending on a valid fd but the question we have is that, is there any way to find who is on the other end of that fd? We want to know to which process is that message being sent to. [...]

Here is how I proceed in finding the other end of the socket, and the state of the socket connection with Mozilla's Thunderbird mail client in one end of the socket connection:
  1. Get the process id of the application
    % prstat
    PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
    22385 mandalik 180M 64M sleep 49 0 0:05:15 0.1% thunderbird-bin/5

  2. Run pfiles on the pid - it prints a list of open files including open sockets (pfiles is the Solaris supported equivalent of lsof utility).
    % pfiles 22385
    22385: /usr/lib/thunderbird/thunderbird-bin -UILocale C -contentLocale C
    Current rlimit: 512 file descriptors
    ...
    ...

    33: S_IFSOCK mode:0666 dev:280,0 ino:31544 uid:0 gid:0 size:0
    O_RDWR|O_NONBLOCK
    SOCK_STREAM
    SO_SNDBUF(49152),SO_RCVBUF(49640)
    sockname: AF_INET 192.168.1.2 port: 60364
    peername: AF_INET 192.18.39.10 port: 993

    ...
    ...
  3. Locate the socket id and the corresponding sockname/port#, peername/port# in the output of pfiles pid (see step #2).

    Here my assumption is that I know the socket id I'm interested in. In the above output, 33 is the socket id. One end of the socket is bound to port 60364 on the local host 192.168.1.2; and the other end of the socket is bound to port 993 on the remote host 192.18.39.10.

  4. Run netstat -a | egrep "<sockport#>|<peerport#> (get the port numbers from step 3); and check the state of the socket connection. If you see anything other than ESTABLISHED, it indicates trouble.
    % netstat -a | egrep "60364|993"
    solaris-devx-iprb0.60364 mail-sfbay.sun.com.993 48460 0 49640 0 ESTABLISHED

    If you want to see the host names in numbers (IP addresses), run netstat with option -n.
    %  netstat -an | egrep "60364|993"
    192.168.1.2.60364 192.18.39.10.993 49559 0 49640 0 ESTABLISHED

    Now since we know both ends of the socket, we can easily get the state of the socket connection at the other end by running netstat -an | egrep '<localport#>|<remoteport#>.

    If the state of the socket connection is CLOSE_WAIT, have a look at the following diagnosis: CPU hog with connections in CLOSE_WAIT.

Finally to answer ... which process is that message being sent to ... part of the original question:

Follow the above steps and find the remote host (or IP) and remote port number. To find the corresponding process id on the remote machine to which the other half of the socket belongs to, do the following:
  1. Login as root user on the remote host.
  2. cd /proc
  3. Run pfiles * | egrep "^[0-9]|sockname" > /tmp/pfiles.txt.
  4. vi /tmp/pfiles.txt and search for the port number. If you scroll few lines up, you can see the process ID, name of the process along with its argument(s).

_____________________
Technorati tags:
 Solaris |  OpenSolaris |  Networking
Read More
Posted in | No comments

Thursday, 22 November 2007

Black Friday (November 23, 2007) - GPS Navigation Devices - Deals

Posted on 00:12 by Unknown


Here are the deals on GPS Navigation devices at verious stores on Black Friday (Day After ThanksGiving: Nov 23, 2007). Listed in a table for your convenience.
MIR in Misc Info Column = Mail-In Rebate
















































Store Name Description of the Item Price Misc Info
Circuit City MIO Portable Navigation GPS(MIO) $99.99
Linens & Things Amcor A3900 GPS Navigation System (Amcor) $99.99 MIR
Office Depot Maxx Digital Portable GPS System (Maxx Digital) $99.99
Best Buy TomTom ONE LE GPS(TomTom) $119.99
Circuit City Magellan Roadmate 1200 Portable GPS(Magellan) $124.99
Staples TomTom ONE 3rd Edition Portable GPS(TomTom) $124.99
WalMart Garmin StreetPilot C330 GPS(Garmin) $128.88
Kohl's GPS Navigation System(Unknown) $129.99
Office Depot Tom Tom ONE 3.5" Portable GPS (TomTom) $129.99
Radio Shack Megellan Maestro 3100 GPS(Magellan) $129.99
Radio Shack TomTom ONE Third Edition GPS(TomTom) $139.99
CompUSA-TG Magellan Maestro 3100 GPS Navigation System (Magellan) $147.99
Target Magellan Maestro 3100 Auto GPS(Magellan) $149.00
CompUSA TomTom One 3rd Edition GPS Navigation System (TomTom) $149.99
Costco.com Magellan Triton 500 Handheld Outdoor GPS(Magellan) $149.99
Radio Shack Navigon 2100 GPS w/ Traffic Service(Navigon) $149.99
Radio Shack Mio C320 GPS(MIO) $149.99
JC Penney Invion 3.5" Text To Voice Touchscreen GPS System(Invion) $169.88
Best Buy Garmin Nuvi 200 GPS(Garmin) $169.99
Circuit City Garmin GPS(Garmin) $199.99
Toys R Us Magellan Maestro 4000 GPS(Magellan) $219.99
CompUSA Garmin nuvi 200W GPS Navigation System (Garmin) $249.99
Office Max Magellan Maestro 4000 GPS Auto Navigation System(Magellan) $249.99
Sears Magellan GPS Maestro 4000(Magellan) $249.99
Office Depot Tom Tom XLS 4.3" Portable GPS (TomTom) $259.99
Circuit City Garmin GPS Navigation w/ Slim Profile(Garmin) $299.99
CompUSA Magellan Maestro 4210 GPS Navigation System (Magellan) $299.99
Radio Shack Magellan Maestro 4040 GPS(Magellan) $299.99
Best Buy Garmin StreetPilot C550 GPS(Garmin) $329.99
Linens & Things Garmin nuvi 200W Voice-Prompted GPS System (Garmin) $349.99
Best Buy Garmin nuvi 660 GPS(Garmin) $399.99
CompUSA HP iPAQ 310 Travel Companion GPS System (HP) $399.99
CompUSA Garmin StreetPilot C580 GPS Navigation System (Garmin) $399.99
Office Depot Tom Tom 100 4.3" Portable GPS (TomTom) $449.99

Read More
Posted in best, black friday, buy, deal, friday, Garmin, GPS, Magellan, Navigation, sale, thanksgiving sale, TomTom | No comments

Wednesday, 21 November 2007

Oracle 11gR1 Client Silent Installation on Solaris

Posted on 12:06 by Unknown
Steps:
  1. Download the Oracle 11g Release 1 (11.1.0.6.0) client for Solaris from the location:
    www.oracle.com/technology/software/products/database/oracle11g/111060_sol64soft.html

  2. Extract the client software files from solaris.sparc64_11gR1_client.zip
    % unzip solaris.sparc64_11gR1_client.zip

  3. Create a copy of the response file clientruntime.rsp.
    % cd client/response
    % cp clientruntime.rsp clientruntime.rsp.orig

  4. Edit the variables UNIX_GROUP_NAME, FROM_LOCATION, ORACLE_BASE, ORACLE_HOME and ORACLE_HOME_NAME.

    For example, assuming the client to be installed under /export/home/oracle with UNIX group name dba:
    % diff clientruntime.rsp clientruntime.rsp.orig
    35c35
    < UNIX_GROUP_NAME=dba
    ---
    > UNIX_GROUP_NAME=<Value Unspecified>
    43c43
    < FROM_LOCATION="/export/home/client/stage/products.xml"
    ---
    > FROM_LOCATION="../source/client/Disk1/stage/products.xml"
    62c62
    < ORACLE_BASE=/export/home/oracle
    ---
    > ORACLE_BASE=<Value Required>
    70c70
    < ORACLE_HOME=/export/home/oracle
    ---
    > ORACLE_HOME=<Value Required>
    78c78
    < ORACLE_HOME_NAME=oracle11gr1
    ---
    > ORACLE_HOME_NAME=<Value Required>

  5. Finally run the installer with -silent option, and input the response file you just edited.
     ./runInstaller -silent -responseFile /export/home/client/response/clientruntime.rsp
    Starting Oracle Universal Installer...

    Checking Temp space: must be greater than 180 MB. Actual 70778 MB Passed
    Checking swap space: must be greater than 150 MB. Actual 71261 MB Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-11-13_10-29-33PM. Please wait ...
    Oracle Universal Installer, Version 11.1.0.6.0 Production
    Copyright (C) 1999, 2007, Oracle. All rights reserved.

    You can find the log of this install session at:
    /export/home/oraInventory/logs/installActions2007-11-13_10-29-33PM.log
    ............................................................................... 100% Done.
    ...
    ...
    Installation in progress (Tue Nov 13 22:30:10 PST 2007)
    ............................................................... 75% Done.
    . 75% Done.
    Install successful

    Linking in progress (Tue Nov 13 22:32:32 PST 2007)
    . 75% Done.
    Link successful

    Setup in progress (Tue Nov 13 22:33:13 PST 2007)
    .................. 100% Done.
    Setup successful

    End of install phases.(Tue Nov 13 22:33:23 PST 2007)
    Starting to execute configuration assistants
    Configuration assistant "Oracle Net Configuration Assistant" succeeded
    WARNING:A new inventory has been created in this session. However, it has not yet been registered
    as the central inventory of this system.
    To register the new inventory please run the script '/export/home/oraInventory/orainstRoot.sh'
    with root privileges.
    If you do not register the inventory, you may not be able to update or patch the products you installed.
    The following configuration scripts need to be executed as the "root" user.
    #!/bin/sh
    #Root script to run
    /export/home/oraInventory/orainstRoot.sh
    /export/home/oracle/root.sh
    To execute the configuration scripts:
    1. Open a terminal window
    2. Log in as "root"
    3. Run the scripts

    The installation of Oracle Client was successful.
    Please check '/export/home/oraInventory/logs/silentInstall2007-11-13_10-29-33PM.log' for more details.

    % su
    Password:
    # /export/home/oraInventory/orainstRoot.sh
    Changing permissions of /export/home/oraInventory to 770.
    Changing groupname of /export/home/oraInventory to dba.
    The execution of the script is complete
    # /export/home/oracle/root.sh
______________
Technorati tags:
 Oracle |  Database |  Solaris
Read More
Posted in | No comments

Thursday, 15 November 2007

Solaris/SPARC: Oracle 11gR1 client for Siebel 8.0

Posted on 22:53 by Unknown
First things first - Oracle 11g Release 1 for Solaris/SPARC is available now; and can be downloaded from here.

In some Siebel 8.0 environments where Oracle database is being used, customers might be noticing intermittent Siebel object manager crashes under high loads when the work is actively being done by tons of LWPs with less number of object managers. Usually the call stack might look something like:
/export/home/siebel/siebsrvr/lib/libsslcosd.so:0x4ad24 
/lib/libc.so.1:0xc5924
/lib/libc.so.1:0xba868
/export/home/oracle/lib32/libclntsh.so.10.1:kpuhhfre+0x8d0 [ Signal 11 (SEGV)]
/export/home/oracle/lib32/libclntsh.so.10.1:kpufhndl0+0x35ac

/export/home/siebel/siebsrvr/lib/libsscdo90.so:0x3140c
/export/home/siebel/siebsrvr/lib/libsscfdm.so:0x677944
/export/home/siebel/siebsrvr/lib/libsscfdm.so:__1cQCSSLockSqlCursorGDelete6M_v_+0x264
/export/home/siebel/siebsrvr/lib/libsscfdm.so:__1cJCSSDbConnOCacheSqlCursor6MpnMCSSSqlCursor__I_+0x734
/export/home/siebel/siebsrvr/lib/libsscfdm.so:__1cJCSSDbConnRTryCacheSqlCursor6MpnMCSSSqlCursor_b_I_+0xcc
/export/home/siebel/siebsrvr/lib/libsscfdm.so:__1cJCSSSqlObjOCacheSqlCursor6MpnMCSSSqlCursor_b_I_+0x6e4
/export/home/siebel/siebsrvr/lib/libsscfdm.so:__1cJCSSSqlObjHRelease6Mb_v_+0x4d0
/export/home/siebel/siebsrvr/lib/libsscfom.so:__1cKCSSBusComp2T5B6M_v_+0x790
/export/home/siebel/siebsrvr/lib/libsscacmbc.so:__1cJCSSBCBase2T5B6M_v_+0x640
/export/home/siebel/siebsrvr/lib/libsscasabc.so:0x19275c
/export/home/siebel/siebsrvr/lib/libsscfom.so:0x318774
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:__1cWCSSSWEFrameMgrInternalPReleaseBOScreen6M_v_+0x10c
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cWCSSSWEFrameMgrInternalJBuildView6MpkHnLBUILDSCREEN_pnSCSSSWEViewBookmark_ipnJCSSBusObj_pnPCSSDrilldownDef_p1pI_I_+0x18b0
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cWCSSSWEFrameMgrInternalJBuildView6MrpnKCSSSWEView_pkHnLBUILDSCREEN_pnSCSSSWEViewBookmark_ipnJCSSBusObj_pnPCSSDrilldownDef_p4_I_+0x50
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cPCSSSWEActionMgrUActionBuildViewAsync6MpnbACSSSWEActionBuildViewAsync_pnQCSSSWEHtmlStream_pnNWWEReqModInfo_rpnJWWECbInfo__I_+0x38c
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cPCSSSWEActionMgrODoPostedAction6MpnQCSSSWEHtmlStream_pnNWWEReqModInfo_rpnJWWECbInfo__I_+0x104
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cPCSSSWEActionMgrSCheckPostedActions6MpnQCSSSWEHtmlStream_pnKCSSSWEArgs_pnNWWEReqModInfo_rpnJWWECbInfo_ri_I_+0x378
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cWCSSSWEFrameMgrInternalSInvokeAppletMethod6MpnQCSSSWEHtmlStream_pnKCSSSWEArgs_pnNWWEReqModInfo_rpnJWWECbInfo_rnOCSSStringArray__I_+0x12f8
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cSCSSSWECmdProcessorMInvokeMethod6MpnQCSSSWEHtmlStream_pnKCSSSWEArgs_pnNWWEReqModInfo_rpnJWWECbInfo__I_+0x88c
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cSCSSSWECmdProcessorP_ProcessCommand6MpnQCSSSWEHtmlStream_pnNWWEReqModInfo_rpnJWWECbInfo__I_+0x860
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cSCSSSWECmdProcessorOProcessCommand6MpnUCSSSWEGenericRequest_pnVCSSSWEGenericResponse_rpnNWWEReqModInfo_rpnJWWECbInfo__I_+0x9bc
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:
__1cSCSSSWECmdProcessorOProcessCommand6MpnRCSSSWEHttpRequest_pnSCSSSWEHttpResponse_rpnJWWECbInfo__I_+0xd8
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:__1cSCSSServiceSWEIfaceHRequest6MpnMCSSSWEReqRec_pnRCSSSWEResponseRec__I_+0x404
/export/home/siebel/siebsrvr/lib/libsscaswbc.so:__1cSCSSServiceSWEIfaceODoInvokeMethod6MpkHrknOCCFPropertySet_r3_I_+0xa80
/export/home/siebel/siebsrvr/lib/libsscfom.so:__1cKCSSServiceMInvokeMethod6MpkHrknOCCFPropertySet_r3_I_+0x244
/export/home/siebel/siebsrvr/lib/libsstcsiom.so:__1cOCSSSIOMSessionTModInvokeSrvcMethod6MpkHp13rnISSstring__i_+0x124
/export/home/siebel/siebsrvr/lib/libsstcsiom.so:
__1cOCSSSIOMSessionMRPCMiscModel6MnMSISOMRPCCode_nMSISOMArgType_LpnSCSSSISOMRPCArgList_4ripv_i_+0x5bc
/export/home/siebel/siebsrvr/lib/libsstcsiom.so:
__1cOCSSSIOMSessionJHandleRPC6MnMSISOMRPCCode_nMSISOMArgType_LpnSCSSSISOMRPCArgList_4ripv_i_+0xb98
/export/home/siebel/siebsrvr/lib/libsssasos.so:__1cJCSSClientLHandleOMRPC6MpnMCSSClientReq__I_+0x78
/export/home/siebel/siebsrvr/lib/libsssasos.so:__1cJCSSClientNHandleRequest6MpnMCSSClientReq__I_+0x2f8
/export/home/siebel/siebsrvr/lib/libsssasos.so:0x8c2c4
/export/home/siebel/siebsrvr/lib/libsssasos.so:__1cLSOMMTServerQSessionHandleMsg6MpnJsmiSisReq__i_+0x1bc
/export/home/siebel/siebsrvr/bin/siebmtshmw:__1cNsmiMainThreadUCompSessionHandleMsg6MpnJsmiSisReq__i_+0x16c
/export/home/siebel/siebsrvr/bin/siebmtshmw:__1cM_smiMessageQdDOProcessMessage6MpnM_smiMsgQdDItem_li_i_+0x93c
/export/home/siebel/siebsrvr/bin/siebmtshmw:__1cM_smiMessageQdDOProcessRequest6Fpv1r1_i_+0x244
/export/home/siebel/siebsrvr/bin/siebmtshmw:__1cN_smiWorkQdDueuePProcessWorkItem6Mpv1r1_i_+0xd4
/export/home/siebel/siebsrvr/bin/siebmtshmw:__1cN_smiWorkQdDueueKWorkerTask6Fpv_i_+0x300
/export/home/siebel/siebsrvr/bin/siebmtshmw:__1cQSmiThrdEntryFunc6Fpv_i_+0x46c
/export/home/siebel/siebsrvr/lib/libsslcosd.so:0x5be88
/export/home/siebel/siebsrvr/mw/lib/libmfc400su.so:__1cP_AfxThreadEntry6Fpv_I_+0x100
/export/home/siebel/siebsrvr/mw/lib/libkernel32.so:__1cIMwThread6Fpv_v_+0x23c
/lib/libc.so.1:0xc57f8

Setting the Siebel environment variable SIEBEL_STDERROUT to 1 shows the following heap dump in StdErrOut directory under Siebel enterprise logs directory.
% more stderrout_7762_23511113.txt 
********** Internal heap ERROR 17112 addr=35dddae8 *********

***** Dump of memory around addr 35dddae8:
35DDCAE0 00000000 00000000 [........]
35DDCAF0 00000000 00000000 00000000 00000000 [................]
Repeat 243 times
35DDDA30 00000000 00000000 00003181 00300020 [..........1..0. ]
35DDDA40 0949D95C 35D7A888 10003179 00000000 [.I.\5.....1y....]
35DDDA50 0949D95C 0949D8B8 35D7A89C C0000075 [.I.\.I..5......u]
...
...
******************************************************
HEAP DUMP heap name="Alloc environm" desc=949d8b8
extent sz=0x1024 alt=32767 het=32767 rec=0 flg=3 opc=2
parent=949d95c owner=0 nex=0 xsz=0x1038
EXTENT 0 addr=364fb324
Chunk 364fb32c sz= 4144 free " "
EXTENT 1 addr=364f8ebc
Chunk 364f8ec4 sz= 4144 free " "
EXTENT 2 addr=364f7d5c
Chunk 364f7d64 sz= 4144 free " "
EXTENT 3 addr=364f6d04
Chunk 364f6d0c sz= 4144 recreate "Alloc statemen " latch=0
ds 2c38df34 sz= 4144 ct= 1
...
...
EXTENT 406 addr=35ddda54
Chunk 35ddda5c sz= 116 free " "
Chunk 35dddad0 sz= 24 BAD MAGIC NUMBER IN NEXT CHUNK (6)
freeable assoc with mark prv=0 nxt=0

Dump of memory from 0x35DDDAD0 to 0x35DDEAE8
35DDDAD0 20000019 35DDDA5C 00000000 00000000 [ ...5..\........]
35DDDAE0 00000095 0000008B 00000006 35DDDAD0 [............5...]
35DDDAF0 00000000 00000000 00000095 35DDDB10 [............5...]
...
...
EXTENT 2080 addr=d067a6c
Chunk d067a74 sz= 2220 freeable "Alloc statemen " ds=2b0fffe4
Chunk d068320 sz= 1384 freeable assoc with mark prv=0 nxt=0
Chunk d068888 sz= 4144 freeable "Alloc statemen " ds=2b174550
Chunk d0698b8 sz= 4144 recreate "Alloc statemen " latch=0
ds 1142ea34 sz= 112220 ct= 147
223784cc sz= 4144
240ea014 sz= 884
28eac1bc sz= 900
2956df7c sz= 900
1ae38c34 sz= 612
92adaa4 sz= 884
2f6b96ac sz= 640
c797bc4 sz= 668
2965dde4 sz= 912
1cf6ad4c sz= 656
10afa5e4 sz= 656
2f6732bc sz= 700
27cb3964 sz= 716
1b91c1fc sz= 584
a7c28ac sz= 884
169ac284 sz= 900
...
...
Chunk 2ec307c8 sz= 12432 free " "
Chunk 3140a3f4 sz= 4144 free " "
Chunk 31406294 sz= 4144 free " "
Bucket 6 size=16400
Bucket 7 size=32784
Total free space = 340784
UNPINNED RECREATABLE CHUNKS (lru first):
PERMANENT CHUNKS:
Chunk 949f3c8 sz= 100 perm "perm " alo=100
Permanent space = 100
******************************************************
Hla: 255

ORA-21500: internal error code, arguments: [17112], [0x35DDDAE8], [], [], [], [], [], []
Errors in file :
ORA-21500: internal error code, arguments: [17112], [0x35DDDAE8], [], [], [], [], [], []


----- Call Stack Trace -----
NOTE: +offset is used to represent that the
function being called is offset bytes from
the _PROCEDURE_LINKAGE_TABLE_.
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
F2365738 CALL +23052 D7974250 ? D797345C ? DD20 ?
D79741AC ? D79735F8 ?
F2ECD7A0 ?
F286DDB8 PTR_CALL 00000000 949A018 ? 14688 ? B680B0 ?
F2365794 ? F2ECD7A0 ? 14400 ?
F286E18C CALL +77460 949A018 ? 0 ? F2F0E8D4 ?
1004 ? 1000 ? 1000 ?
F286DFF8 CALL +66708 949A018 ? 0 ? 42D8 ? 1 ?
D79743E0 ? 949E594 ?
...
...
__1cN_smiWorkQdDueu CALL __1cN_smiWorkQdDueu 1C8F608 ? 18F55F38 ?
30A5A008 ? 1A98E208 ?
FDBDF178 ? FDBE0424 ?
__1cQSmiThrdEntryFu PTR_CALL 00000000 1C8F608 ? FDBE0424 ?
1AB6EDE0 ? FDBDF178 ? 0 ?
1500E0 ?
__1cROSDWslThreadSt PTR_CALL 00000000 1ABE8250 ? 600140 ? 600141 ?
105F76E8 ? 0 ? 1AC74864 ?
__1cP_AfxThreadEntr PTR_CALL 00000000 0 ? FF30A420 ? 203560 ?
1AC05AF0 ? E2 ? 1AC05A30 ?
__1cIMwThread6Fpv_v PTR_CALL 00000000 D7A7DF6C ? 17F831E0 ? 0 ? 1 ?
0 ? 17289C ?
_lwp_start()+0 ? 00000000 1 ? 0 ? 1 ? 0 ? FCE6C710 ?
1AC72680 ?

----- Argument/Register Address Dump -----

Argument/Register addr=d7974250. Dump of memory from 0xD7974210 to 0xD7974350
D7974200 0949A018 00014688 00B680B0 F2365794
D7974220 F2ECD7A0 00014400 D7974260 F286DDB8 800053FC 80000000 00000002 D79743E0
D7974240 4556454E 545F3231 35303000 32000000 F23654D4 F2365604 00000000 0949A018
D7974260 00000000 0949A114 0000000A F2ECD7A0 FC873504 00001004 F2365794 F2F0E8D4
D7974280 0949A018 00000000 F2F0E8D4 00001004 00001000 00001000 D79742D0 F286E18C
D79742A0 F6CB7400 FC872CC0 00000004 00CDE34C 4556454E 545F3437 31313200 00000000
D79742C0 00000000 00000001 D79743E0 00000000 F2F0E8D4 00001004 00001000 00007530
D79742E0 00007400 00000001 FC8731D4 00003920 0949A018 00000000 000042D8 00000001
D7974300 D79743E0 0949E594 D7974330 F286DFF8 D7974338 F244D5A8 00000000 01000000
D7974320 364FBFFF 01E2C000 00001000 00000000 00001000 00000000 F2ECD7A0 F23654D4
D7974340 000000FF 00000001 F2F0E8D4 F25F9824
Argument/Register addr=d797345c. Dump of memory from 0xD797341C to 0xD797355C
D7973400 F2365738
...
...
Argument/Register addr=1eb21388. Dump of memory from 0x1EB21348 to 0x1EB21488
1EB21340 00000000 00000000 FE6CE088 FE6CE0A4 0000000A 00000010
1EB21360 00000000 00000000 00000000 00000010 00000000 00000000 00000000 FEB99308
1EB21380 00000000 00000000 00000000 1C699634 FFFFFFFF 00000000 FFFFFFFF 00000001
1EB213A0 00000000 00000000 00000000 00000000 00000081 00000000 F16F1038 67676767
1EB213C0 00000000 FEB99308 00000000 00000000 FEB99308 FEB46EF4 00000000 00000000
1EB213E0 00000000 00000000 FEB99308 00000000 00000000 00000001 0257E3B4 03418414
1EB21400 00000000 00000000 FEB99308 FEB99308 00000000 00000000 00000000 00000000
1EB21420 00000000 00000000 00000000 00000000 1EB213B0 00000000 00000041 00000000
1EB21440 0031002D 00410036 00510038 004C0000 00000000 00000000 00000000 00000000
1EB21460 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
1EB21480 00000109 00000000

----- End of Call Stack Trace -----

Although I'm not sure what exactly is the underlying issue for the core dump, my suspicion is that there is some memory corruption in Oracle client's code; and the Siebel Object Manager crash is due to the Oracle bug 5682121 - Multithreaded OCI clients do not mutex properly for LOB operations. The fix to this particular would be available in Oracle 10.2.0.4 release; and is already available as part of Oracle 11.1.0.6.0. In case if you notice the symptoms of failure as described in this blog post, upgrade the Oracle client in the application-tier to Oracle 11gR1 and see if it brings stability to the Siebel environment.
________________
Technorati tags:
 Siebel |  CRM |  Oracle |  Solaris |  SPARC
Read More
Posted in | No comments

Sunday, 21 October 2007

Oracle BI 10.1.3.x 10,000 User Benchmark on SunFire T2000

Posted on 09:49 by Unknown
Oracle published a white paper showing the scalability of Oracle BI EE 10.1.3.x (earlier known as Siebel Analytics) on Sun Microsystem's CMT server, T2000. Here is the URL for the white paper:

Oracle Business Intelligence Suite Enterprise Edition 10,000 User Benchmark on Sun T2000

It is kind of Oracle's endorsement to use UltraSPARC-T1 (and apparently UltraSPARC-T2) based CMT servers like T2000, T5220 to run Oracle Business Intelligence Suite.

If you look carefully, the white paper also shows some data related to Siebel Analytics 7.8.4 on SunFire T2000 server.
_______________
Technorati Tags:
 Oracle |  Oracle Business Intelligence |  Oracle BI |  Siebel Analytics |  T2000 |  Niagara
Read More
Posted in | No comments

Friday, 19 October 2007

OOB Large Page Selection Changes in Solaris 10 8/07

Posted on 18:52 by Unknown

If you notice slight performance degradation of the application(s) on Solaris 10 8/07 compared to Solaris 10 1/06 & Solaris 10 11/06, it could be due to the conservative large page selection by the operating system. In S10 8/07, the maximum page size for heap/stack/mmap has been reduced to 64K (default is up to 256M depending on the underlying hardware -- eg., 256M on Niagara (US-T1)/US-IV+/SPARC64-VI systems, 32M on US-IV systems and 4M on US-III+ systems) on all systems lacking page coloring. 4M is the default maximum page size on US-T2 (Niagara2) systems. You can check this with the help of pmap -sx <pid>. I do not know exactly the motivation for this change, but I'm suspecting that bugs like default_physio/as_pagelock scales poorely with threads doing IO have something to do with this change.


Large Page Settings

If the application's heap grows beyond 4M, consider using MPSS (Multiple Page Size Support) facility to request large pages selectively for the process heap and stack. Alternatively you can set /etc/system tunable parameters max_uheap_lpsize and mmu_ism_pagesize for the system wide large page usage.
  • MPSS facility

    1. Set the preferred page size for the heap and stack with MPSSHEAP and MPSSSTACK environment variables
    2. Preload mpss.so.1
    3. Run the application

      eg., On a Sun Enterprise M4000 system:
      MPSSHEAP=32M
      MPSSSTACK=64K
      LD_PRELOAD=$LD_PRELOAD:mpss.so.1
      <application> <arg1> <arg2> .. <argn>

    Alternatively you can use the environment variable MPSSCFGFILE to set the preferred page sizes for the heap and the stack. See Solaris 9 or later: More performance with Large Pages (MPSS) for an example.

  • /etc/system tunables


    • On systems other than OPL/APL (i.e., systems with SPARC64-VI processors), set max_uheap_lpsize to the desired maximum page size. Find the supported page sizes by running pagesize -a. Solaris tries to use the supported page sizes {wherever it can} until the maximum page size set. For example, if /etc/system has set max_uheap_lpsize = 0x2000000, Solaris tries to use a maximum page size of 32M although the system could use 256M pages.

    • On OPL/APL systems (i.e., systems with SPARC64-VI processors), set mmu_ism_pagesize to the desired maximum page size. For example, if /etc/system has set mmu_ism_pagesize=0x200000, Solaris tries to use a maximum page size of 4M although the system could use 32M and 256M pages.

    • Note that max_uheap_lpsize need not be set, if mmu_ism_pagesize has been set in /etc/system. Solaris kernel will change max_uheap_lpsize and others to the value set in /etc/system for mmu_ism_pagesize parameter, to be in sync with ism pagesize.

If the large pages have to be disabled for some reason, you can do so with the following /etc/system tunable parameters:

Solaris 10 1/06 & Solaris 10 11/06:
set exec_lpg_disable=1
set use_brk_lpg=0
set use_stk_lpg=0
set use_zmap_lpg=0

Solaris 10 8/07:
set max_uheap_lpsize=0x2000
set max_ustack_lpsize=0x2000
set max_privmap_lpsize=0x2000
set size_t max_shm_lpsize=0x2000
set use_brk_lpg=0
set use_stk_lpg=0

Acknowledgments:
Aleksandr Guzovskiy, Sun Microsystems
___________
Technorati Tags:
 Solaris |  OpenSolaris
Read More
Posted in | No comments

Monday, 24 September 2007

Oracle: Fixing ORA-01113: file x needs media recovery Error

Posted on 08:37 by Unknown
Disclaimer

The following steps are intended for a quick recovery of the database. Use them at your own risk.

Symptom

Oracle mounts the database, but refuses to open the database with an ORA-01113: file x needs media recovery Error.
% sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 24 09:29:10 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 2684354560 bytes
Fixed Size 1981064 bytes
Variable Size 436209016 bytes
Database Buffers 2231369728 bytes
Redo Buffers 14794752 bytes
Database mounted.
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/OraData/SIAMST/siamst_system.dbf'


% oerr ora 01113
01113, 00000, "file %s needs media recovery"
// *Cause: An attempt was made to online or open a database with a file that
// is in need of media recovery.
// *Action: First apply media recovery to the file.

Resolution
  1. Startup the database with the mount option
    SQL> startup mount
    ORACLE instance started.

    Total System Global Area 2684354560 bytes
    Fixed Size 1981064 bytes
    Variable Size 436209016 bytes
    Database Buffers 2231369728 bytes
    Redo Buffers 14794752 bytes
    Database mounted.

  2. Find the name of the redo log file which belongs to the active group
    SQL> SELECT MEMBER FROM V$LOG G, V$LOGFILE F WHERE G.GROUP# = F.GROUP# 
    2 AND G.STATUS = 'CURRENT';

    MEMBER
    --------------------------------------------------------------------------------
    /OraRedo/RedoLogFiles/siamst_log01.dbf

  3. Using a backup control file, start the cancel based recovery. The system may suggest a non-existing archive log -- ignore it and specify the log file name {with full path} that you got in the above step
    SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL
    ORA-00279: change 21375038 generated at 09/21/2007 20:12:47 needed for thread 1
    ORA-00289: suggestion : /export/pspp/oracle/dbs/arch1_4_633901491.dbf
    ORA-00280: change 21375038 for thread 1 is in sequence #4

    Specify log: {=suggested | filename | AUTO | CANCEL}
    /OraRedo/RedoLogFiles/siamst_log01.dbf
    Log applied.
    Media recovery complete.

  4. Finally open the database in RESETLOGS mode. It is recommended to reset the online logs after incomplete recovery or recovery with a backup control file
    SQL> ALTER DATABASE OPEN RESETLOGS;
    Database altered.

Take a backup of the database as soon as the recovery is done.

See Also:
  • Metalink Note 1020262.102 ORA-01113, ORA-01110: Trying To Startup Database After Incomplete Recovery
  • Performing Cancel-Based Incomplete Recovery

_______________
Technorati Tags:
 Oracle |  Troubleshooting
Read More
Posted in | No comments

Thursday, 20 September 2007

Sun Secure Global Desktop (Tarantella)

Posted on 23:54 by Unknown
How do you like launching some of the applications running on a system, securely using a web browser?

Consider this simple scenario.

You have a system that is exposed to the internet. You are trying to get your partner engineer access your system {say using telnet or ssh}; but the partner engineer is not able to access it due to their corporate firewall.

One option for the partner engineer is to bypass their company's firewall somehow, then connect to the system that is accessible from the internet.

Another option is to install Sun Secure Global Desktop (aka Tarantella) on the system that was exposed to the internet; and letting the partner engineer access it using a standard web browser.

Here's a screen shot:


There are plenty of other options, but this blog entry focuses on Sun Secure Global Desktop option.

How to install Sun Secure Global Desktop?
  1. Download a fully functional 30-day trial latest copy of Sun Secure Global Desktop software from http://www.sun.com/software/products/sgd/get.jsp. 4.31 is the latest version of SGD as of this writing.

  2. Add two user accounts: ttaserv, ttasys
    # mkdir /export/home/ttaserv
    # groupadd -g 102 ttaserv
    # useradd -g 102 -d /export/home/ttaserv -s /bin/bash ttaserv
    # useradd -g 102 -d /export/home/ttaserv -s /bin/bash ttasys

  3. Install the Sun Secure Global Desktop software package
    # pkgadd -d ./tta-4.31-905.sol-sparc.pkg

    The following packages are available:
    1 tta Sun Secure Global Desktop Software for SPARC Solaris 2.8+
    (SPARC) 4.31.905

    Select package(s) you wish to process (or 'all' to process
    all packages). (default: all) [?,??,q]: all

    Processing package instance <tta> from </export/home/oracle/tta-4.31-905.sol-sparc.pkg>

    Sun Secure Global Desktop Software for SPARC Solaris 2.8+(SPARC) 4.31.905
    Sun Microsystems, Inc.

    --------------------------------------------------------------------------
    Setting up Sun Secure Global Desktop Software
    --------------------------------------------------------------------------
    Secure Global Desktop Setup recommends you use the following settings:

    Installation type = install 4.31.905
    Installation directory = /opt/ttaserv

    Are these settings OK?
    Y - Yes, install using these settings
    N - No, tell me more about the options and let me change the settings
    Q - Quit now

    OK to use these settings? [Y] N

    --------------------------------------------------------------------------
    Secure Global Desktop installation directory
    --------------------------------------------------------------------------
    Secure Global Desktop uses a single directory for all its code and other
    static and dynamic components. Which directory would you like to use?

    Installation directory [/opt/ttaserv] /export/home/ttaserv/

    --------------------------------------------------------------------------
    Setting up Sun Secure Global Desktop Software
    --------------------------------------------------------------------------

    Installation type = install 4.31.905
    Installation directory = /export/home/ttaserv/

    Are these settings OK?
    Y - Yes, install using these settings
    N - No, tell me more about the options and let me change the settings
    Q - Quit now

    OK to use these settings? [Y] Y

    ...
    ...
    ...

    ## Executing postinstall script.

    To complete the installation, please run /export/home/ttaserv/bin/tarantella start

    Installation of <tta> was successful.

  4. Configure the timeout values.

    Modify the timeout values in /export/home/ttaserv/var/serverresources/expect/vars.exp.
    # grep -i timeout vars.exp
    # Timeouts
    set timeouts(prelogin) 180
    set timeouts(loggedin) 180
    set timeouts(hostprobe) 180
    set timeout 3600

  5. Start the Sun Secure Desktop Desktop server
    # /export/home/ttaserv/bin/tarantella start

    --------------------------------------------------------------------------
    Secure Global Desktop Software License Agreement
    --------------------------------------------------------------------------
    To use Secure Global Desktop you must agree to be bound by
    the terms of the Software License Agreement.

    Y - I have read, and accept the terms of the license agreement
    N - I do not accept the terms of the license agreement
    R - Let me read the license agreement

    Accept terms of Software License Agreement? [R] Y

    --------------------------------------------------------------------------
    Setting up Sun Secure Global Desktop Software
    --------------------------------------------------------------------------
    Secure Global Desktop Setup recommends you use the following settings:

    Installation type = install 4.31.905
    Peer DNS name = v490-a4
    HTTP port = 80 [not currently in use]
    Archive logs every week? = yes (Sunday 03:00 hours)

    Are these settings OK?
    Y - Yes, install using these settings
    N - No, tell me more about the options and let me change the settings
    Q - Quit now

    OK to use these settings? [Y] N

    --------------------------------------------------------------------------
    Peer (internal) DNS name
    --------------------------------------------------------------------------
    Each computer on the network may have a number of DNS names. In
    Secure Global Desktop, the peer DNS name is the name by which this host
    is known to others within your firewall, if you have one. If you're
    using an array of multiple Secure Global Desktop servers, this is the
    name used by other servers in the array to identify this server.

    Peer DNS name [v490-a4] dummy.sun.com

    --------------------------------------------------------------------------
    HTTP port
    --------------------------------------------------------------------------
    Secure Global Desktop includes a web server. You need to choose the TCP port
    on which the web server listens for HTTP (unencrypted) connections.
    The default port for HTTP is 80/tcp.

    You must choose an unused TCP port for installation to complete.

    HTTP port [80] 8000

    --------------------------------------------------------------------------
    Archive logs every week
    --------------------------------------------------------------------------

    Would you like the Secure Global Desktop server to archive its log files
    every week?

    Archive logs every week? [yes] yes

    On what day should the archive occur?
    Type a number between 0 (Sunday) and 6 (Saturday).

    Archive day [0]

    At what time should the archive occur?
    Type a number between 0 (midnight) and 23 (11pm).

    Archive time [03]

    --------------------------------------------------------------------------
    Setting up Sun Secure Global Desktop Software
    --------------------------------------------------------------------------

    Installation type = install 4.31.905
    Peer DNS name = dummy.sun.com
    HTTP port = 8000 [not currently in use]
    Archive logs every week? = yes (Sunday 03:00 hours)

    Are these settings OK?
    Y - Yes, install using these settings
    N - No, tell me more about the options and let me change the settings
    Q - Quit now

    OK to use these settings? [Y] Y
    --------------------------------------------------------------------------
    Configuring your installation...
    Running templates Setup script...OK
    Running files_rename Setup script...OK
    Running dbcreate Setup script...OK
    Running extended_templates Setup script...OK
    Running config Setup script...OK
    Running printing Setup script...OK
    Running sysadmin Setup script...OK
    Running loadprobe_config Setup script...OK
    Configuring and starting Secure Global Desktop web server...OK
    Running wcp/configchanges Setup script...OK
    Running tsp/resources Setup script...OK
    Running 3270/resources Setup script...OK
    Running 3270/configchanges Setup script...OK
    Running 3270/purge Setup script...OK
    Running 5250/resources Setup script...OK
    Running 5250/configchanges Setup script...OK
    --------------------------------------------------------------------------
    What's next?
    --------------------------------------------------------------------------
    Secure Global Desktop is now installed and ready to use.

    To get started:

    - In a web browser, go to:
    http://dummy.sun.com:8000/
    - When prompted, log in with username "Administrator" and root's password.
    - On your webtop, click Administration Guide to learn more about the product
    (we strongly recommend you read the "Getting started" section).
    Or click Object Manager to start creating user webtops.

    To add license keys, click Array Manager on your webtop or type:
    /export/home/ttaserv/bin/tarantella license add <key>...
    --------------------------------------------------------------------------
    Successfully installed Sun Secure Global Desktop Software
    --------------------------------------------------------------------------

Once the SGD server is up, supply the URL http://dummy.sun.com:8000 and the login credentials to the partner engineer so (s)he can access the system using a standard web browser.

Q: How to check the status of Sun Secure Global Desktop server?

eg., At the startup:
# /export/home/ttaserv/bin/tarantella status

Array members (1):
- dummy.sun.com (primary): Accepting standard connections.
- Webtop sessions (0):
- Emulator sessions (0):

After some clients connect to the server:
# /export/home/ttaserv/bin/tarantella status

Array members (1):
- dummy.sun.com (primary): Accepting standard connections.
- Webtop sessions (1):
- Standard connections: 1
- Emulator sessions (1):
- X Protocol Engine: 1

Q: How to stop, start the SDG server?
eg., Stop the SDG server
# /export/home/ttaserv/bin/tarantella stop
WARNING: Users are connected to this Secure Global Desktop server.
Stopping the server will shut down any emulator sessions for these users.
This may result in loss of data.

Are you sure you want to continue? [no] y
Secure Global Desktop services have been stopped.

Start the SDG server
# /export/home/ttaserv/bin/tarantella start
Starting Secure Global Desktop server (version 4.31.905). Please wait...
Secure Global Desktop services are now available on this host.

Q: How to stop, start the web server?

eg., Stop the web server:
# /export/home/ttaserv/bin/tarantella webserver stop
Stopping Tomcat servlet container...
Using CLASSPATH: /export/home/ttaserv/webserver/tomcat/5.0.28_axis1.2/bin/bootstrap.jar:/export/home/ttaserv/bin/jdk.spso...
Using CATALINA_BASE: /export/home/ttaserv/webserver/tomcat/5.0.28_axis1.2
Using CATALINA_HOME: /export/home/ttaserv/webserver/tomcat/5.0.28_axis1.2
Using JAVA_HOME: /export/home/ttaserv/bin/jdk.spso_1.6.0
...OK
Stopping Apache web server...
/export/home/ttaserv/webserver/apache/1.3.36_mod_ssl-2.8.27_openssl-0.9.8d_jk1.2.15/bin/apachectl stop: httpd stopped
...OK

# /export/home/ttaserv/bin/tarantella status

Array members (1):
- dummy.sun.com (primary): NOT ACCEPTING CONNECTIONS.

Start the web server:
# /export/home/ttaserv/bin/tarantella webserver start
Starting Tomcat servlet container...
Using CLASSPATH: /export/home/ttaserv/webserver/tomcat/5.0.28_axis1.2/bin/bootstrap.jar:/export/home/ttaserv/bin/jdk.spso ...
Using CATALINA_BASE: /export/home/ttaserv/webserver/tomcat/5.0.28_axis1.2
Using CATALINA_HOME: /export/home/ttaserv/webserver/tomcat/5.0.28_axis1.2
Using JAVA_HOME: /export/home/ttaserv/bin/jdk.spso_1.6.0
...OK
Starting Apache web server...
/export/home/ttaserv/webserver/apache/1.3.36_mod_ssl-2.8.27_openssl-0.9.8d_jk1.2.15/bin/apachectl start: httpd started
...OK

Q: Is there a demo version on-line?

Yes, there is. If you want to feel the experience before you install SDG software on your system(s), access the following URL using a standard web browser, and then click on 'Login' link.

https://sgddemo.sun.com/

You can login anonymously just by clicking on 'Login' button without user name and password.

(Last Updated: October 11, 2007 @ 01:40 PM. Thanks to 'Fat' for the correction.)

__________________
Technorati tags:
 Sun Microsystems |  Tarantella
Read More
Posted in | No comments

Monday, 10 September 2007

*nix: Workaround to cannot find zipfile directory in one of file.zip or file.zip.zip ..

Posted on 21:36 by Unknown
Symptom:

You are trying to extract the archived files off of a huge (any file with size > 2 GB or 4GB, depending on the OS) ZIP file with unzip utility on Solaris, and it fails with the following error:
cannot find zipfile directory in one of file.zip or
file.zip.zip, and cannot find file.zip.ZIP, period.

% ls -lh file.zip
-rw-r--r-- 1 oracle dba 13G Sep 8 09:46 file.zip

zipinfo returns the following message:

$ zipinfo file.zip
[file.zip]
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
zipinfo: cannot find zipfile directory in one of file.zip or
file.zip.zip, and cannot find file.zip.ZIP, period.


Workaround:

Try extracting the files with jar tool that comes with the Java Development Kit (JDK). It may work.

Although I'm not sure, I think the 32-bit version of unzip (there's no 64-bit version) cannot handle large files of size > 2GB or 4GB. I believe the 32-bit jar tool was built with switches like -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 to overcome limitations like the one discussed in this blog entry.
______________
 Solaris |  OpenSolaris |  Linux |  Troubleshooting
Read More
Posted in | No comments

Saturday, 8 September 2007

Memory fragmentation / Large Pages on Solaris x86

Posted on 00:40 by Unknown
First, the symptom.

On Solaris x86 systems that support large pages (any page size > 4K), the processes may get 2M pages when the system is up for few hours, but may not obtain even a single large page (2M) when the system is up for few days.

Now, the explanation.

Memory fragmentation is the main reason for the above mentioned behavior on Solaris x86 platform. On Solaris x86, once memory has been fragmented, it is very rare that a large page can be put back together. This is a limitation of Solaris on x86. It takes 512 base pages (4K in size) that are aligned and physically contiguous to form a common large page (2M on x86). If a kernel allocation occurs within this region, it is typically not possible to ever form this large page again as kernel pages cannot be relocated.

Solaris/SPARC has the kernel cage to help memory from being fragmented with kernel allocations. However as of now kernel cage isn't fully implemented in Solaris/x86. That is the main reason for the non availability of large (2M) pages on Solaris x86 when the system is up for longer durations. The good news is that Sun Microsystems is actively working on a solution to address this issue.

Acknowledgments:
Kit Chow
_______________
Technorati tags:
 Solaris |  OpenSolaris |  Performance
Read More
Posted in | No comments

Wednesday, 5 September 2007

Linux: Steps for installing GRUB as the Boot Loader

Posted on 19:55 by Unknown
For some reason if the Master Boot Record (MBR) is overwritten or corrupted, here is a simple HOW-To to install GRUB (GRand Unified Boot loader) as the boot loader with Ubuntu being the host operating system.

  1. Boot up Linux using Ubuntu Live CD

  2. Run grub with system user privileges
    % sudo grub
    Password:

    Probing devices to guess BIOS drives. This may take a long time.

  3. Locate the grub files on the connected devices.
    grub> find /boot/grub/stage1
    (hd0,0)

  4. Even though the above example shows only one location, it is not uncommon for grub to find multiple locations when multiple operating systems are installed on a system. In that case, choose the one that corresponds to the partition where Linux is installed.
    grub> root (hd0,0)

  5. Finally install the grub boot loader on the primary HDD by running 'setup'.
    grub> setup (hd0)
    Checking if "/boot/grub/stage1" exists... yes
    Checking if "/boot/grub/stage2" exists... yes
    Checking if "/boot/grub/e2fs_stage1_5" exists... yes
    Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
    succeeded
    Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,0)/boot/grub/stage2
    /boot/grub/menu.lst"... succeeded
    Done.

After restarting the system, GRUB menu should appear during the system startup.
__________________
Technorati tags:
 Linux |  Ubuntu |  GRUB
Read More
Posted in | No comments

Friday, 24 August 2007

Sandhya Vandanam in Telugu Script

Posted on 01:32 by Unknown
Sandhya Vandanamu [File format: PDF. File size: 3.1 MB]

Courtesy/Publisher: Gollapudi Veera Swamy Son, Rajahmundry

Related:
Hanuman Chalisa {Telugu Script}

______________
Technorati Tags:
Telugu | Devotion
Read More
Posted in | No comments

Thursday, 23 August 2007

Cricket Flash Game

Posted on 21:32 by Unknown
The following is a little flash game for all those cricket buffs who like to hit 6s and 4s almost every ball.

Play the Game

Simply use the arrow keys of the keyboard or use the mouse buttons to hit the ball.

Courtesy: npower

_______________
Technorati Tag:
 Cricket |  Flash Game
Read More
Posted in | No comments

Friday, 10 August 2007

Oracle 10gR2/Solaris x64: Must Have Patches for E-Business Suite 11.5.10

Posted on 22:04 by Unknown

If you have an Oracle E-Business Suite 11.5.10 database running on Oracle 10gR2 (10.2.0.2) / Solaris x86-64 platform, make sure you have the following two Oracle patches to avoid concurrency issues and intermittent Oracle shadow process crashes.

Oracle patches

1) 4770693 BUG: Intel Solaris: Unnecessary latch sleeps by default
2) 5666714 BUG: ORA-7445 ON DELETE

Symptoms

1) If the top 5 database timed events look something similar to the following in AWR, it is very likely that the database is running into the bug 4770693 Intel Solaris: Unnecessary latch sleeps by default.

Top 5 Timed Events

EventWaitsTime(s)Avg
Wait(ms)
% Total
Call Time
Wait Class
latch: cache buffers chains 94,301 169,403 1,796 86.1Concurrency
CPU time
5,478
2.8
wait list latch free 247,466 4,756 19 2.4Other
buffer busy waits 14,928 1,382 93 .7Concurrency
db file sequential read 98,750 552 6 .3User I/O


Apply Oracle server patch 4770693 to get rid of the concurrency issue(s). Note that the fix will be part of 10.2.0.3.

2) If the application becomes unstable and if you notice core dumps in cdump directory, have a look at the corresponding stack traces generated in udump directory. If the call stack looks similar to the following stack, apply Oracle server patch 5666714 to overcome this problem.

Alert log will have the following errors:

Errors in file /opt/oracle/admin/VIS/udump/vis_ora_1040.trc:
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [2168] [] [] []
Fri Jun 15 01:30:38 2007
Errors in file /opt/oracle/admin/VIS/udump/vis_ora_1040.trc:
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [9] [] [] []
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [2168] [] [] []
Fri Jun 15 01:30:38 2007
Errors in file /opt/oracle/admin/VIS/udump/vis_ora_1040.trc:
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [9] [] [] []
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [9] [] [] []
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [2168] [] [] []

% more vis_ora_1040.trc
...
...
*** 2007-06-15 01:30:38.403
*** SERVICE NAME:(VIS) 2007-06-15 01:30:38.402
*** SESSION ID:(1111.4) 2007-06-15 01:30:38.402
Exception signal: 11 (SIGSEGV), code: 1 (Address not mapped to object), addr: 0x878
*** 2007-06-15 01:30:38.403
ksedmp: internal or fatal error
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [2168] [] [] []
Current SQL statement for this session:
INSERT /*+ IDX(0) */ INTO "INV"."MLOG$_MTL_SUPPLY" (dmltype$$,old_new$$,snaptime$$,change_vector$$,m_row$$) VALUES (:d,:o,to_
date('4000-01-01:00:00:00','YYYY-MM-DD:HH24:MI:SS'),:c,:m)

----- Call Stack Trace -----
calling call entry argument values in hex
location type point (? means dubious value)
-------------------- -------- -------------------- ----------------------------
ksedst()+23 ? 0000000000000001 00177A9EC 000000000 0061D0A60
000000000
ksedmp()+636 ? 0000000000000001 001779481 000000000 00000000B
000000000
ssexhd()+729 ? 0000000000000001 000E753CE 000000000 0061D0B90
000000000
_sigsetjmp()+25 ? 0000000000000001 0FDDCB7E6 0FFFFFD7F 0061D0B50
000000000
call_user_handler() ? 0000000000000001 0FDDC0BA2 0FFFFFD7F 0061D0EF0
+589 000000000
sigacthandler()+163 ? 0000000000000001 0FDDC0D88 0FFFFFD7F 000000002
000000000
kglsim_pin_simhp()+ ? 0000000000000001 0FFFFFFFF 0FFFFFFFF 00000000B
173 000000000
kxsGetRuntimeLock() ? 0000000000000001 001EBF830 000000000 005E5D868
+683 000000000
kksfbc()+7361 ? 0000000000000001 001FB60A6 000000000 005E5D868
000000000
opiexe()+1691 ? 0000000000000001 0029045D0 000000000 0FFDF9250
0FFFFFD7F
opiall0()+1316 ? 0000000000000001 0028E9FB9 000000000 000000001
000000000
opikpr()+536 ? 0000000000000001 00290B2DD 000000000 0000000B7
000000000
opiodr()+1087 ? 0000000000000001 000E7BE1C 000000000 000000001
000000000
rpidrus()+217 ? 0000000000000001 000E8058E 000000000 0FFDFA6B8
0FFFFFD7F
skgmstack()+163 ? 0000000000000001 003F611D0 000000000 005E5D868
000000000
rpidru()+129 ? 0000000000000001 000E808A6 000000000 005E6FAD0
000000000
rpiswu2()+431 ? 0000000000000001 000E7FD8C 000000000 0FFDFB278
0FFFFFD7F
kprball()+1189 ? 0000000000000001 000E86E6A 000000000 0FFDFB278
0FFFFFD7F
kntxslt()+3150 ? 0000000000000001 0030601F3 000000000 005F7C538
000000000
kntxit()+998 ? 0000000000000001 003058EBB 000000000 005F7C538
000000000
0000000001E4866E ? 0000000000000001 001E4864B 000000000 000000000
000000000
delrow()+9170 ? 0000000000000001 0032020B7 000000000 000000002
000000000
qerdlFetch()+640 ? 0000000000000001 0033545F5 000000000 0EF38B020
000000003
delexe()+909 ? 0000000000000001 0032034EA 000000000 005E6FC50
000000000
opiexe()+9267 ? 0000000000000001 002906368 000000000 000000001
000000000
opiodr()+1087 ? 0000000000000001 000E7BE1C 000000000 0FFDFCD10
0FFFFFD7F
ttcpip()+1168 ? 0000000000000001 003D031AD 000000000 0FFDFEDF4
0FFFFFD7F
opitsk()+1212 ? 0000000000000001 000E77C41 000000000 000E7BA00
000000000
opiino()+931 ? 0000000000000001 000E7B0D8 000000000 005E5B8F0
000000000
opiodr()+1087 ? 0000000000000001 000E7BE1C 000000000 000000000
000000000
opidrv()+748 ? 0000000000000001 000E76A11 000000000 0FFDFF6D8
0FFFFFD7F
sou2o()+86 ? 0000000000000001 000E73E6B 000000000 000000000
000000000
opimai_real()+127 ? 0000000000000001 000E3A7C4 000000000 000000000
000000000
main()+95 ? 0000000000000001 000E3A694 000000000 000000000
000000000
0000000000E3A4D7 ? 0000000000000001 000E3A4DC 000000000 000000000
000000000

--------------------- Binary Stack Dump ---------------------

========== FRAME [1] (ksedst()+23 -> 0000000000000001) ==========
Dump of memory from 0x00000000061D0910 to 0x00000000061D0920
0061D0910 061D0920 00000000 0177A9EC 00000000 [ .........w.....]
========== FRAME [2] (ksedmp()+636 -> 0000000000000001) ==========
Dump of memory from 0x00000000061D0920 to 0x00000000061D0A60
0061D0920 061D0A60 00000000 01779481 00000000 [`.........w.....]
0061D0930 0000000B 00000000 061D0EF0 00000000 [................]
0061D0940 05E5B96C 00000000 05E5C930 00000000 [l.......0.......]
0061D0950 05E5C930 00000000 FE0D2000 FFFFFD7F [0........ ......]
0061D0960 061D0A40 00000000 00000000 00000000 [@...............]
0061D0970 00000000 00000000 00000000 00000000 [................]
...
...

After installing the Oracle database patches, check the installed patches by running opatch lsinventory on your database server.

% opatch lsinventory
Invoking OPatch 10.2.0.1.0

Oracle interim Patch Installer version 10.2.0.1.0
Copyright (c) 2005, Oracle Corporation. All rights reserved..


Oracle Home : /oracle/product/10.1.0
Central Inventory : /export/home/oracle/oraInventory
from : /oracle/product/10.1.0/oraInst.loc
OPatch version : 10.2.0.1.0
OUI version : 10.2.0.1.0
OUI location : /oracle/product/10.1.0/oui
Log file location : /oracle/product/10.1.0/cfgtoollogs/opatch/opatch-2007_Aug_10_21-56-03-PDT_Fri.log

Lsinventory Output file location : /oracle/product/10.1.0/cfgtoollogs/opatch/lsinv/lsinventory-2007_Aug_10_21-56-03-PDT_Fri.txt

--------------------------------------------------------------------------------
Installed Top-level Products (3):

Oracle Database 10g 10.2.0.1.0
Oracle Database 10g Products 10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 1 10.2.0.2.0
There are 3 products installed in this Oracle Home.


Interim patches (2) :

Patch 4770693 : applied on Thu Aug 02 15:27:23 PDT 2007
Created on 12 Jul 2006, 11:52:39 hrs US/Pacific
Bugs fixed:
4770693

Patch 5666714 : applied on Fri Jul 20 10:21:33 PDT 2007
Created on 29 Nov 2006, 04:52:58 hrs US/Pacific
Bugs fixed:
5666714

--------------------------------------------------------------------------------

OPatch succeeded.
_______________
Technorati Tags:
 Oracle |  Database |  E-Business Suite |  Oracle Applications |  Solaris
Read More
Posted in | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • *nix: Workaround to cannot find zipfile directory in one of file.zip or file.zip.zip ..
    Symptom: You are trying to extract the archived files off of a huge (any file with size > 2 GB or 4GB, depending on the OS) ZIP file with...
  • JDS: Installing Sun Java Desktop System 2.0
    This document will guide you through the process of installing JDS 2.0 on a PC from integrated CDROM images Requirements I...
  • Linux: Installing Source RPM (SRPM) package
    RPM stands for RedHat Package Manager. RPM is a system for installing and managing software & most common software package manager used ...
  • Solaris: malloc Vs mtmalloc
    Performance of Single Vs Multi-threaded application Memory allocation performance in single and multithreaded environments is an important a...
  • C/C++: Printing Stack Trace with printstack() on Solaris
    libc on Solaris 9 and later, provides a useful function called printstack , to print a symbolic stack trace to the specified file descripto...
  • Installing MySQL 5.0.51b from the Source Code on Sun Solaris
    Building and installing the MySQL server from the source code is relatively very easy when compared to many other OSS applications. At least...
  • Oracle Apps on T2000: ORA-04020 during Autoinvoice
    The goal of this brief blog post is to provide a quick solution to all Sun-Oracle customers who may run into a deadlock when a handful of th...
  • Siebel Connection Broker Load Balancing Algorithm
    Siebel server architecture supports spawning multiple application object manager processes. The Siebel Connection Broker, SCBroker, tries to...
  • 64-bit dbx: internal error: signal SIGBUS (invalid address alignment)
    The other day I was chasing some lock contention issue with a 64-bit application running on Solaris 10 Update 1; and stumbled with an unexpe...
  • Oracle 10gR2/Solaris x64: Fixing ORA-20000: Oracle Text errors
    First, some facts: * Oracle Applications 11.5.10 (aka E-Business Suite 11 i ) database is now supported on Solaris 10 for x86-64 architectur...

Categories

  • 80s music playlist
  • bandwidth iperf network solaris
  • best
  • black friday
  • breakdown database groups locality oracle pmap sga solaris
  • buy
  • deal
  • ebiz ebs hrms oracle payroll
  • emca oracle rdbms database ORA-01034
  • friday
  • Garmin
  • generic+discussion software installer
  • GPS
  • how-to solaris mmap
  • impdp ora-01089 oracle rdbms solaris tips upgrade workarounds zombie
  • Magellan
  • music
  • Navigation
  • OATS Oracle
  • Oracle Business+Intelligence Analytics Solaris SPARC T4
  • oracle database flashback FDA
  • Oracle Database RDBMS Redo Flash+Storage
  • oracle database solaris
  • oracle database solaris resource manager virtualization consolidation
  • Oracle EBS E-Business+Suite SPARC SuperCluster Optimized+Solution
  • Oracle EBS E-Business+Suite Workaround Tip
  • oracle lob bfile blob securefile rdbms database tips performance clob
  • oracle obiee analytics presentation+services
  • Oracle OID LDAP ADS
  • Oracle OID LDAP SPARC T5 T5-2 Benchmark
  • oracle pls-00201 dbms_system
  • oracle siebel CRM SCBroker load+balancing
  • Oracle Siebel Sun SPARC T4 Benchmark
  • Oracle Siebel Sun SPARC T5 Benchmark T5-2
  • Oracle Solaris
  • Oracle Solaris Database RDBMS Redo Flash F40 AWR
  • oracle solaris rpc statd RPC troubleshooting
  • oracle solaris svm solaris+volume+manager
  • Oracle Solaris Tips
  • oracle+solaris
  • RDC
  • sale
  • Smartphone Samsung Galaxy S2 Phone+Shutter Tip Android ICS
  • solaris oracle database fmw weblogic java dfw
  • SuperCluster Oracle Database RDBMS RAC Solaris Zones
  • tee
  • thanksgiving sale
  • tips
  • TomTom
  • windows

Blog Archive

  • ►  2013 (16)
    • ►  December (3)
    • ►  November (2)
    • ►  October (1)
    • ►  September (1)
    • ►  August (1)
    • ►  July (1)
    • ►  June (1)
    • ►  May (1)
    • ►  April (1)
    • ►  March (1)
    • ►  February (2)
    • ►  January (1)
  • ►  2012 (14)
    • ►  December (1)
    • ►  November (1)
    • ►  October (1)
    • ►  September (1)
    • ►  August (1)
    • ►  July (1)
    • ►  June (2)
    • ►  May (1)
    • ►  April (1)
    • ►  March (1)
    • ►  February (1)
    • ►  January (2)
  • ►  2011 (15)
    • ►  December (2)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  August (2)
    • ►  July (1)
    • ►  May (2)
    • ►  April (1)
    • ►  March (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2010 (19)
    • ►  December (3)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  August (1)
    • ►  July (1)
    • ►  June (1)
    • ►  May (5)
    • ►  April (1)
    • ►  March (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2009 (25)
    • ►  December (1)
    • ►  November (2)
    • ►  October (1)
    • ►  September (1)
    • ►  August (2)
    • ►  July (2)
    • ►  June (1)
    • ►  May (2)
    • ►  April (3)
    • ►  March (1)
    • ►  February (5)
    • ►  January (4)
  • ►  2008 (34)
    • ►  December (2)
    • ►  November (2)
    • ►  October (2)
    • ►  September (1)
    • ►  August (4)
    • ►  July (2)
    • ►  June (3)
    • ►  May (3)
    • ►  April (2)
    • ►  March (5)
    • ►  February (4)
    • ►  January (4)
  • ▼  2007 (33)
    • ▼  December (2)
      • E-Business Suite R12 : Java Performance on UltraSP...
      • Solaris: Handling idle socket connections
    • ►  November (4)
      • Solaris: Which process is associated with a socket...
      • Black Friday (November 23, 2007) - GPS Navigation ...
      • Oracle 11gR1 Client Silent Installation on Solaris
      • Solaris/SPARC: Oracle 11gR1 client for Siebel 8.0
    • ►  October (2)
      • Oracle BI 10.1.3.x 10,000 User Benchmark on SunFir...
      • OOB Large Page Selection Changes in Solaris 10 8/07
    • ►  September (5)
      • Oracle: Fixing ORA-01113: file x needs media recov...
      • Sun Secure Global Desktop (Tarantella)
      • *nix: Workaround to cannot find zipfile directory ...
      • Memory fragmentation / Large Pages on Solaris x86
      • Linux: Steps for installing GRUB as the Boot Loader
    • ►  August (3)
      • Sandhya Vandanam in Telugu Script
      • Cricket Flash Game
      • Oracle 10gR2/Solaris x64: Must Have Patches for E-...
    • ►  June (2)
    • ►  May (3)
    • ►  April (5)
    • ►  March (3)
    • ►  February (1)
    • ►  January (3)
  • ►  2006 (40)
    • ►  December (2)
    • ►  November (6)
    • ►  October (2)
    • ►  September (2)
    • ►  August (1)
    • ►  July (2)
    • ►  June (2)
    • ►  May (4)
    • ►  April (5)
    • ►  March (5)
    • ►  February (3)
    • ►  January (6)
  • ►  2005 (72)
    • ►  December (5)
    • ►  November (2)
    • ►  October (6)
    • ►  September (5)
    • ►  August (5)
    • ►  July (10)
    • ►  June (8)
    • ►  May (9)
    • ►  April (6)
    • ►  March (6)
    • ►  February (5)
    • ►  January (5)
  • ►  2004 (36)
    • ►  December (1)
    • ►  November (5)
    • ►  October (12)
    • ►  September (18)
Powered by Blogger.

About Me

Unknown
View my complete profile