+-----------+ | 5/jul/03 | +-----------+ unicodePwd is the attribute that AD uses to store password. The original password must be quoted. and must be in unicode format. A JNDI code for it: byte[] encodePassword(String pass) throws UnsupportedEncodingException { //quot it pass = "\"" + pass +"\""; // Unicode it :-). The quote "Unicode" may be something else byte ubytes[] = pwd.getBytes("Unicode"); // strip unicode marker // The forst 2 bytes indicate that the string is unicode. // Since they are just unicode markers and not actual data // hence remove it. byte bytes[] = new byte [ubytes.length - 2]; System.arraycopy(ubytes, 2, bytes, 0,ubytes.length - 2); return bytes; } +-----------+ | 25/jul/04 | +-----------+ UNIX To setup the vars in a given script: bash and ksh: . path/to/script.sh csh: source path/to/script.sh +-----------+ | 26/jul/04 | +-----------+ UNIX The following parameters are automatically set by the shell. # The number of positional parameters in decimal. - Flags supplied to the shell on invocation or by the set command. ? The decimal value returned by the last synchronously executed command. $ The process number of this shell. ! The process number of the last background command invoked. To check last command's exit status: $echo $? To check last command: $echo $_ In csh you can also say: $echo $status See also $* and $# To show the pwd in prompt: -------------------------- ksh: // place this in .kshrc PS1 = '$PWD $' For HPUX try this for enabling backspace stty erase ^\? csh: // place this in .cshrc -----------Cut here----------- setenv H `hostname` alias setprompt 'set prompt="[${USER}@${H}:$PWD]\012csh% "' alias cd 'cd \!*; setprompt' set history=100 savehist=100 # limit the size of the history files set filec # enable filename completion setprompt -----------Cut here----------- bash: // place this in .bashrc export PS1='[\u@\h:\w] $ ' +-----------+ | 27/jul/04 | +-----------+ PL/SQL: To start a listner $lsnrctl start|stop To start/stop a database sid $oradim -startup -sid $oradim -shutdown -sid To start ultrasearch do: $searchctl start searchctl is a batch file on Windows. To connect to the database $ sqlplus "/ as sysdba" This gives the following error is the user is not in dba group of unix: ORA-01031: insufficient privileges To check which database you are connected to: SQL> select name from v$database; >> x$ tables are the sql interface to viewing oracle's memory in the SGA. check: http://www.adp-gmbh.ch/ora/misc/x.html To find out, on which version of oracle we are working: select * from v$version; UNIX: To execute previous command in ksh: $ r -1 +-----------+ | 28/jul/04 | +-----------+ To get top n rows from oracle do: select * from tab where rownum <= n in MS-SQL server: select top n from tab; +-----------+ | 30/jul/04 | +-----------+ To start|stop Oracle's iSQL service: go to ORAHOME\bin: isqlplusctl.bat stop|start --------------------- Explaination of oracle's database: A database is a set of files (data, redo, ctl and so on) An instance is a set of processes (SMON, PMON, DBWR, etc) and a shared memory segment (SGA). A database may be mounted and opened by many INSTANCES (Parallel Server) concurrently. An instance may mount and open ANY database -- however it may only open a single database at any time. Therefore -- you need a unique database name (for the sets of files). The db_name is burned into these files. thats how it knows --------------------- +-----------+ | 05/aug/04 | +-----------+ Use 'basename' command on UNIX to get filename. When we have files with same name in top level and subdirectory and we want to get a unique list: find . -name somefile\*pattern -follow -exec basename '{}' \; | sort | uniq uniq will only eleminate duplicates if theyare in succession. so before uinq always run a sort. ------------------------------- Error: ORA-01403: no data found Cause: You tried one of the following: You executed a SELECT INTO statement and no rows were returned. You referenced an uninitialized row in a table. You read past the end of file with the UTL_FILE package ------------------------------- To find the broken links in dir and sub-directory: find . -type l -follow -exec ls -L '{}' \; > /dev/null To redirect ONLY stderr to a pipe: cmd 2>&1 >/dev/null | wc -l To close std output stream do: cmd 1>&- To close std error stream do: cmd 2>&- To close both std error / std out stream do: cmd 1>&- 2>&- OR cmd 2>&- 1>&- +-----------+ | 05/aug/04 | +-----------+ UNIX command : 'uniqe -u' will output only those lines which appear eactly once 'uniqe -d' will output only those lines which are duplicated +-----------+ | 16/aug/04 | +-----------+ When you want to start a shell and what that to be the only shell then do : exec bash exec command will overlay existing shell +-----------+ | 17/aug/04 | +-----------+ IMPORTANT: How to start a database when you are in DBA group export PATH=$ORACLE_HOME/bin:.... export LD_LIBRARY_PATH=${SAVE_LLP}:${ORACLE_HOME}/lib export PFILE=${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora export SPFILE=${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora export SPFILE1=${ORACLE_HOME}/dbs/spfile.ora sqlplus '/ as sysdba' startup; quit +-----------+ | 25/aug/04 | +-----------+ On unix oracle finds the listner.ora using the environment variable: TNS_ADMIN Under $TNS_ADMIN/ dir lsnrctl searches for listener.ora file to get the ports on which to listen. To start TNS Listner on a different port modify listener.ora file +-----------+ | 27/aug/04 | +-----------+ Log in as admin and fire the follow: select sid, serial#, username from v$session This will give session ID and user from current session. v$session contains session info +-----------+ | 31/aug/04 | +-----------+ See http://www.geocities.com/sachitale/java-in-oracle.html A small script to start stop oracle listner: http://www.geocities.com/sachitale/script-to-start-stop-listner.html +-----------+ | 02/sep/04 | +-----------+ In oracle's ROW trigger: You cant modify the :new. value in AFTER trigger, but it can be modified in BEFORE trigger. (See Oracle Database Application Developer's Guide - Fundamentals) Oracle tuning: http://www.idevelopment.info/data/Oracle/DBA_tips/Tuning/TUNING_13.shtml +-----------+ | 20/sep/04 | +-----------+ The table SYS.DBA_SYS_PRIVS contains all the privileges and roles. Login as : sqlplus '/ as sysdba' and fire the queries: SQL> select * from DBA_SYS_PRIVS where GRANTEE= UPPER('Resource'); GRANTEE PRIVILEGE ADM ------------------------------ ------------------------------------------ --- RESOURCE CREATE TYPE NO RESOURCE CREATE TABLE NO RESOURCE CREATE CLUSTER NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE PROCEDURE NO 8 rows selected. SQL> select * from DBA_SYS_PRIVS where GRANTEE= UPPER('CONNECT'); select * from ROLE_SYS_PRIVS where role = 'CONNECT'; GRANTEE PRIVILEGE ADM ------------------------------ ------------------------------------------ --- CONNECT CREATE VIEW NO CONNECT CREATE TABLE NO CONNECT ALTER SESSION NO CONNECT CREATE CLUSTER NO CONNECT CREATE SESSION NO CONNECT CREATE SYNONYM NO CONNECT CREATE SEQUENCE NO CONNECT CREATE DATABASE LINK NO +-----------+ | 24/sep/04 | +-----------+ To find out the user who has logged in: SELECT USER, UID, DATABASE_NAME FROM DUAL; +-----------+ | 27/sep/04 | +-----------+ Registry params that can be changed on a windows machine for network services Registry tunes: (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\) - Tcpip\Parameters\MaxUserPort=0xfffe, setts maximum open ports to 65534 - Tcpip\Parameters\TcpTimedWaitDelay=60, ssetts TIME_WAIT parameter to 60 seconds (non-RFC 1122), default 240 - Tcpip\Parameters\MaxFreeTWTcbs=100000, ssetts maximum number of TIME_WAIT TCBs - Tcpip\Parameters\TcpWindowSize=65535, seetss TCP send/receive window size, default 8192 +-----------+ | 19/oct/04 | +-----------+ Apache: How to force Apache to downgrade to HTTP 1.0 from HTTP 1.1 Protocol. Look in a httpd.conf. Here is one for older versions of IE: BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 --------------------------- SQL Plus: Getting an error like this: C:\Command Prompt>sqlplus Message 133 not found; product=SQLPlus; facility=SP2 : Release 9.0.1.4.0 - Production on Tue Oct 19 11:28:05 2004 (c) Copyright 2001 Oracle Corporation. All rights reserved. Enter user-name: Solution: Try - set PATH=%ORACLE_HOME%\bin;%PATH% +-----------+ | 26/oct/04 | +-----------+ How to create and sign Certificates: http://www.openssl.org/docs/apps/CA.pl.html +-----------+ | 19/nov/04 | +-----------+ Q. What is "non-emulated data source"? A. As explained on: http://www.idevelopment.info/data/Oracle/DBA_tips/OC4J_903/OC4J_10.shtml :Emulated datasource -: The pre-installed default data source is an emulated data source. Emulated data sources are wrappers around Oracle data sources. Used primarily by applications that access only a single database. :Non-emulated datasource -: Non-emulated data sources are pure Oracle data sources. Used by applications that want to coordinate access to multiple sessions within the same database or to multiple databases within a global transaction. +-----------+ | 25/nov/04 | +-----------+ Difference between oracle's old left outer join and new outer join: select empno, e.deptno, dname, ename from emp e, dept d where e.deptno(+) = d.deptno and d.deptno <> 20; This does not get the departments with deptno <> 20 even from emp table. select empno, e.deptno, dname, ename from emp e left join dept d on (e.deptno = d.deptno and d.deptno <> 20); Above gets all the rows from emp table even if d.deptno = 20 +-----------+ | 07/dec/04 | +-----------+ Just a reminder: In a container managed transaction if we say ctx.setRollbackOnly(); and we dont throw an exception then the transaction will be rolled back but user wont be shown any exception as we have not thrown any. +-----------+ | 22/dec/04 | +-----------+ Good article on JDBC connection caching: http://www.sys-con.com/story/?storyid=46236&DE=1 +-----------+ | 27/dec/04 | +-----------+ Oracle's internal working: http://www.netapp.com/tech_library/3330.html#3.4. +-----------+ | 30/dec/04 | +-----------+ This is where we can search for verisign issued certs https://securitycenter.verisign.com/celp/enroll/searchStart +-----------+ | 03/jan/05 | +-----------+ On Sun solaris to find out processor info use: psrinfo To find out which all instruction sets are supported use: isalist For system information: sysinfo +-----------+ | 07/jan/05 | +-----------+ How to setup RAC cluster: http://www.oracle.com/technology/pub/articles/hunter_rac.html#FireWire%20Technology +-----------+ | 18/jan/05 | +-----------+ In the article the author suggests that not to use DUAL table in oracle. http://www.oracle.com/technology/oramag/oracle/04-may/o34tech_plsql.html ------------------------------------------- Using parameters in DOS batch programming: ------------------------------------------- Using batch parametersYou can use batch parameters anywhere within a batch file to extract information about your environment settings. Cmd.exe provides the batch parameter expansion variables %0 through %9. When you use batch parameters in a batch file, %0 is replaced by the batch file name, and %1 through %9 are replaced by the corresponding arguments that you type at the command line. To access arguments beyond %9, you need to use the shift command. For more information about the shift command, see Shift. The %* batch parameter is a wildcard reference to all the arguments, not including %0, that are passed to the batch file. For example, to copy the contents from Folder1 to Folder2, where %1 is replaced by the value Folder1 and %2 is replaced by the value Folder2, type the following in a batch file called Mybatch.bat: xcopy %1\*.* %2 To run the file, type: mybatch.bat C:\folder1 D:\folder2 This has the same effect as typing the following in the batch file: xcopy C:\folder1 \*.* D:\folder2 You can also use modifiers with batch parameters. Modifiers use current drive and directory information to expand the batch parameter as a partial or complete file or directory name. To use a modifier, type the percent (%) character followed by a tilde (~) character, and then type the appropriate modifier (that is, %~modifier). The following table lists the modifiers you can use in expansion. Modifier Description %~1 Expands %1 and removes any surrounding quotation marks (""). %~f1 Expands %1 to a fully qualified path name. %~d1 Expands %1 to a drive letter. %~p1 Expands %1 to a path. %~n1 Expands %1 to a file name. %~x1 Expands %1 to a file extension. %~s1 Expanded path contains short names only. %~a1 Expands %1 to file attributes. %~t1 Expands %1 to date and time of file. %~z1 Expands %1 to size of file. %~$PATH:1 Searches the directories listed in the PATH environment variable and expands %1 to the fully qualified name of the first one found. If the environment variable name is not defined or the file is not found, this modifier expands to the empty string. The following table lists possible combinations of modifiers and qualifiers that you can use to get compound results. Modifier Description %~dp1 Expands %1 to a drive letter and path. %~nx1 Expands %1 to a file name and extension. %~dp$PATH:1 Searches the directories listed in the PATH environment variable for %1 and expands to the drive letter and path of the first one found. %~ftza1 Expands %1 to a dir-like output line. Note In the previous examples, you can replace %1 and PATH with other batch parameter values. The %* modifier is a unique modifier that represents all arguments passed in a batch file. You cannot use this modifier in combination with the %~ modifier. The %~ syntax must be terminated by a valid argument value. You cannot manipulate batch parameters in the same manner that you can manipulate environment variables. You cannot search and replace values or examine substrings. However, you can assign the parameter to an environment variable, and then manipulate the environment variable. +-----------+ | 19/jan/05 | +-----------+ Microsoft power toys: E.g. (command prompt here) http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx +-----------+ | 28/jan/05 | +-----------+ To find out if any class is present in the classpath jars: for f in \ `echo $CLASSPATH | sed "s/;/ /g"`; \ do \ [ -f $f ] && echo $f && jar tvf $f | grep com/any/package/Klass 2>/dev/null ; \ done +-----------+ | 25/feb/05 | +-----------+ On HP-UX to find out model of the machione use comman: $ model To use backspace issue the following command: stty erase ^? To ensure that process is interrupted use: stty intr ^C use stty -a to find out current settings. +-----------+ | 07/mar/05 | +-----------+ VM hotspot options: http://java.sun.com/docs/hotspot/VMOptions.html http://www.petefreitag.com/articles/gctuning/ )(GC Tuning) http://java.sun.com/docs/hotspot/gc/index.html +-----------+ | 04/apr/05 | +-----------+ Unix's script command for copying output to a file: script +-----------+ | 08/apr/05 | +-----------+ On HPUX the shared libraries must have executale permission to be loaded. Else System.loadLibrary(...) fails. +-----------+ | 11/apr/05 | +-----------+ On HPUX use kctune or /etc/sysdef to find out the current value of kernel params like MAXDSIZ. On HPUX VM the tests may give OutOfMemoryError because the MAXDSIZ param may be set too low. For weblogic 8 use these values: http://e-docs.bea.com/platform/suppconfigs/configs81/hpux1123_risc/81sp4.html +-----------+ | 11/may/05 | +-----------+ Use tr command to chnage the case of string from uppercase to lowercase or vice versa. tr is also useful at many other places. example: uname -a | tr "[a-z]" "[A-Z]" will convert lowercase to uppercase. +-----------+ | 23/jun/05 | +-----------+ ORA-12545: Connect failed because target host or object does not exist Try username@tnsentry Oracle release no format meaning: Release Number Format ------------------------ To understand the release nomenclature used by Oracle, examine the following example of an Oracle Database server labeled "Release 10.1.0.1.0". 10 . 1 . 0 . 1 . 0 10 - Major DB release 1 - DB maintainance release no 0 - App server release no 1 - Component specific release no 0 - platform specific release no. ----------------------------- ${ORACLE_HOME}/sqlplus/demo/demobld.sql The above script contains SQL sdcript to create emp datbase of scott/tiger +-----------+ | 28/jun/05 | +-----------+ To detemine the architecture of HP-UX machine give the folling command: # /bin/getconf KERNEL_BITS ------------------------------ To increase the no of user parallel user connections in MS SQL Server: exec sp_configure 'user connections', 200; RECONFIGURE; RESTART The server. Without this you may get: A problem occurred when attempting to contact the server (Server returned: Connection reset). Please ensure that the server parameters passed to the driver are correct and that the server is running. Also ensure that the maximum number of connections have not been exceeded for this server. ------------------------------ Getting the follong for MS SQL Server for JTA: java.sql.SQLException: [BEA][SQLServer JDBC Driver][SQLServer] Could not find stored procedure 'master..xp_jdbc_open2'. DO this: 1. Run the sql script in \bea\weblogic81\server\lib\instjbc.sql against the master database. This will install the stored procedures. 2. Copy the \bea\weblogic81\server\lib\sqljdbc.dll (referenced in the storeprocedures) to a spot where sql server can find it. 3. You need to have the Distributed Transaction service running if it is not already. Suggested reading: http://e-docs.bea.com/wls/docs90/jdbc_drivers/mssqlserver.html ---------------------------------------- On HP instead of dos2unix the command is dos2ux ---------------------------------------- +-----------+ | 21/jul/05 | +-----------+ Good info on classloaders and J2EE: http://www.objectsource.com/j2eechapters/Ch21-ClassLoaders_and_J2EE.htm +-----------+ | 09/Aug/05 | +-----------+ nc (netcat) - use network sockets from the command line +-----------+ | 12/Aug/05 | +-----------+ On a multicast network if we ping 224.0.0.1, Then all multicast capable hosts on the network should answer, as every multicast capable host must join that group at start-up on all it's multicast capable interfaces http://nixdoc.net/Linux-Howtos/Multicast-HOWTO-1.html Writing a simple IPv6 Program: http://www-128.ibm.com/developerworks/library/wa-ipv6.html +-----------+ | 13/Aug/05 | +-----------+ Maximum value of shared memroy segment is specified in : "/proc/sys/kernel/shmmax" in Linux. While installing Oracle I got a problem while setting SGA size. the problem was max shared memroy segment was set to 0 in /proc/sys/kernel/shmmax. either set it using : echo 235544320 > /proc/sys/kernel/shmmax also try this: /sbin/sysctl -w kernel.shmmax=235544320 later query using /sbin/sysctl kernel.shmmax +-----------+ | 17/Aug/05 | +-----------+ On HP-UX (may be on other UX) check /etc/nsswitch.conf to find out why a host is not pingable (ping). The entry against hosts in this file should have: hosts: dns files This will ensure that DNS is used also to query hostnames. +-----------+ | 23/Aug/05 | +-----------+ For Oracle OCI client to be used in java the ORACLE_HOME env must be set. +-----------+ | 24/Aug/05 | +-----------+ Mobile facts (Probably Nokia only) 1. Why is an IMEI (International Mobile Equipment Identity) number important and how do I retrieve the IMEI number from my NOKIA mobile? The IMEI number is a 15 digit unique code that is used to identify a mobile phone to a GSM network. The IMEI number can be retrieved by keying in *#06# and the 15 digit unique code will be displayed on the screen. In the unfortunate event that your mobile is misplaced, provision of this IMEI number to the police and telco service provider would be useful. 2. Imagine your mobile battery is very low, you are expecting an important call and you don't have a charger. Your instrument comes with reserve battery. To activate, key is *3370# your mobile will restart with this reserve and your instrument will show a 50% increase in battery. This reserve will get charged when you charge your cell next time. 3. The Emergency Number worldwide for Mobile is 112. If you find yourself out of coverage area of your mobile network and there is an emergency, dial 112 and the mobile will search any existing network to establish the emergency number for you. This number 112 can be dialed even while the keypad is locked. +-----------+ | 29/Aug/05 | +-----------+ On HP-UX the network configuration tool is ndd. +-----------+ | 6/Sep/05 | +-----------+ Encountered on Oracle 9.2.0: java.sql.SQLException: ORA-00020: maximum number of processes (50) exceeded Solution: I tried making the server shared: To make a server shared server: 1. edit network/admin/tnsnames.ora (mark server as shared) E.g: (SERVICE_NAME = tbwlsdb1)(server=shared) 2. Edit inittbwlsdb2.ora. Add the following: dispatchers="(address=(protocol=tcp)(host=172.22.49.189))(dispatchers=2)" max_dispatchers=10 shared_servers=2 max_shared_servers=10 listener_address="(ADDRESS=(PROTOCOL=tcp)(host=172.22.49.189)(port=1521))" Tip: Old MTS paras: http://www.praetoriate.com/t_ault_122_mts_circuits_dispatchers.htm 3. Login as sysdba: ORACLE_SID=tbwlsdb2 sqlplus '/ as sysdba' select instance_name from v$instance; shutdown CREATE SPFILE FROM PFILE='/opt/oracle9i/product/9.4.0/dbs/init${db_name}.ora'; startup select * from v$dispatcher; ref: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:5414746274062 http://www.oracle.com/technology/obe/paa/obe-dbf/html/man_spfile.htm#c To see the description of a view see the fllowing table: Select text from ALL_VIEWS; ref: http://www.techonthenet.com/oracle/sys_tables/index.php -------------------- To understand oracle error use: (oerr) oerr ora 32004 Oracle alert log location: ref: http://www.adp-gmbh.ch/ora/concepts/alert_log.html +-----------+ | 08/Nov/05 | +-----------+ Find out How EMI is calculated: http://mathforum.org/dr.math/faq/faq.interest.html +-----------+ | 11/Nov/05 | +-----------+ On HP-UX (and solaris) the backgroung process has less priority. Typically 4 less than foreground. To avoid this try: set +o bgnice +-----------+ | 15/Nov/05 | +-----------+ check out in Oracle: select text from USER_SOURCE; This gives code of stored proc or function. +-----------+ | 23/Nov/05 | +-----------+ To start services console from command line: services.msc +-----------+ | 29/Nov/05 | +-----------+ Detailed info on browsers and JavaScripts: http://www.quirksmode.org/ +-----------+ | 08/Dec/05 | +-----------+ Q) Do u know what's the deal with ejbHomeRemove()? My weblogic.appc doesnt seem to be working without adding this method to bean. I am calling ejbRemove on the home class. A) Ok, remove should be called from remote interface, but client if it calls remove from home interface you need to add ejbHomeRemove method within your bean class. Which in turn calls the ejbRemove on bean. Any business method or lifecycle method other than create if called from home should have a corresponding ejbHome defined in the home interface and its implementation has to be in the bean class. Reference reading: Look at home methods in ejb2.1 spec 9.6.4 section +-----------+ | 27/Dec/05 | +-----------+ To find out if a trigger is enabled or disabled in MSSQL server: select name, objectproperty(id, 'ExecIsTriggerDisabled') tn from sysobjects where name = '' +-----------+ | 28/Dec/05 | +-----------+ To find out what queries are being executed by weblogic use the following -D flag: -Dweblogic.debug.DebugJDBCSQL=true while starting weblogic. Different Weblogic flags: -Dweblogic.configuration.upgrade.Allow90Attributes=true -Dweblogic.debug.DebugSecurityAtz=false -Dweblogic.debug.DebugSecurityRoleMap=false -Dweblogic.debug.DebugJMSXA=false -Dweblogic.debug.DebugJMSStore=false -Dweblogic.debug.DebugJMSBoot=false -Dweblogic.debug.DebugJMSCommon=false -Dweblogic.debug.DebugJTAXA=false -Dweblogic.debug.DebugJTA2PC=false -Dweblogic.debug.DebugJTARecovery=false -Dweblogic.debug.DebugJTAXAStackTrace=false -Dweblogic.debug.DebugJTAJDBC=false -Dweblogic.debug.DebugJDBCSQL=false -Dweblogic.debug.DebugJDBCConn=false -Dweblogic.log.StdoutSeverity=Debug -Dweblogic.debug.DebugJTAMigration=false -Dweblogic.debug.DebugDeployment=false -Dweblogic.debug.DebugConfigurationEdit=false -Dweblogic.jms.store.JMSJDBCIORetryDelay=3 -Dweblogic.transaction.EnableInstrumentedTM=true When a nested trigger causes a recursive delete, MS SQL Server prints an error indicating that the nesting level has been exceeded. To get around this, the following script needs to be run: +-----------+ | 18/Jan/06 | +-----------+ Turning off recursive triggers in MSSQL server: -- Start batch exec sp_configure 'nested triggers', 0 -- This set's the new value. reconfigure with override -- This makes the change permanent -- End batch EXEC sp_configure 'nested triggers' If the run_value is 0 then the nested triggers are off, if the value is 1 then they are on. Therefore, to turn on nested triggers, type the following command: EXEC sp_configure 'nested triggers', 1 RECONFIGURE To turn them off, type the following: EXEC sp_configure 'nested triggers', 0 RECONFIGURE As you can see, the nested trigger setting works on a server level. On the other hand, the recursive trigger setting works on a database level, so those commands require you to specify a database. To check the status of the recursive setting, issue this command: EXEC sp_dboption '', 'recursive triggers' Use this command to turn them: EXEC sp_dboption '', 'recursive triggers', 'true' Use this command to turn them off: EXEC sp_dboption '', 'recursive triggers', 'false' +-----------+ | 10/Apr/06 | +-----------+ Had problem with creating table in DB2 having long rows. Reason all the tables space where having max limit of 4k. This ristricted the length of row. To solve created a new bufferpool and tabelspace: CREATE BUFFERPOOL LARGEBUFFPOOL IMMEDIATE SIZE 250 PAGESIZE 8 K EXTENDED CREATE TABLESPACE userts1 \ PAGESIZE 8K \ MANAGED BY SYSTEM USING ('c:\DB2\BGTBSPC_BGTB2') \ BUFFERPOOL LARGEBUFFPOOL You also need to give permission to the user to use this tablespace: GRANT USE OF TABLESPACE userts1 TO USER bgtb1; I think to have large pagesize we need to have large buffer pool also. So had to create LARGEBUFFPOOL named large buffer pool. +-----------+ | 26/Apr/06 | +-----------+ In oracle: To find out dependencies among user objects use USER_DEPENDENCIES: select name, type, referenced_name, referenced_type, dependency_type from USER_DEPENDENCIES; To find out trigger info: select * from user_triggers where trigger_name like '%OCSTOCKEJBTRIGGERTABLE_BUFER%' +-----------+ | 18/may/06 | +-----------+ To ensure that JVM is installed execute: SELECT count(*) FROM dba_objects WHERE object_type LIKE '%JAVA%' select count(*), owner from all_objects where object_type like '%JAVA%' group by owner; Describe DBMS_JAVA +-----------+ | 22/may/06 | +-----------+ If you are facing the problem like this: Oracle error code: 29540 oerr ora 29540: 29540, 00000, "class %s does not exist" // *Cause: Java method execution failed to find a class with the indicated name. // *Action: Correct the name or add the missing Java class. We got the above problem while executing XA tests on WLS Do the following: sqlplus '/ as sysdba' alter system set java_pool_size=67108864 scope=spfile; alter system set shared_pool_size=134217728 scope=spfile; restart Database If you have installed JVM inside Oracle the execute rmjvm.sql @/export/home/ora920/product/9.2.0/javavm/install/rmjvm.sql (May take long to run) and restart the DB. Then run: @/export/home/ora920/product/9.2.0/javavm/install/initjvm.sql @/export/home/ora920/product/9.2.0/rdbms/admin/xaview.sql restart the DB and check the count of: SELECT count(*) FROM dba_objects WHERE object_type LIKE '%JAVA%' (Should be around 8585 in 9i) In WLS this used to manifest as: --------------------------------------- java.sql.SQLException: Unexpected exception while enlisting XAConnection java.sql.SQLException: XA error: XAResource.XAER_RMERR start() failed on resource 'jtaXAPool': XAER_RMERR : A resource manager error has occured in the transaction branch oracle.jdbc.xa.OracleXAException --------------------------------------- +-----------+ | 12/jun/06 | +-----------+; Windows debugging tools: http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx A very good documentation on JDK 1.5 Trouble Shooting: http://java.sun.com/j2se/1.5/pdf/jdk50_ts_guide.pdf