Did You Know? -- February 2002

By Hervé Deschamps, Oracle Corporation.

Designer 6i

It's been a while since I published anything about Designer.... If you need to do a quality check on the modules with the highest number of module components, you can use this query:

select   mod.name, count(*)
from     ci_module_component_inclusions comp,
         ci_general_modules mod
where    comp.general_module_reference = mod.id
group by mod.name
having   count(*) >= 5
order by 2 desc

I encountered 2 modules with 18 module components on a project...
 
 

SQL*Plus

To connect with Sql*Plus without a Tnsname.ora entry:
sqlplus system@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myDBhost.myDomain)(PORT=1526)))(CONNECT_DATA=(SERVICE_NAME=ORCL)))
 

From Sean McKeown
SQL> show parameter open_cursors
You can do this for any parameter, and you don't need the full name of the parameter either.  In other words, if you typed:
SQL> show parameter cursor
you'd get values for open_curors as well as cursor_space_for_time and cursor_sharing, etc.
 
 

DBA

One way to recompile all invalid packages from SQL*Plus is to run this utility:
$yourOracleHome/rdbms/admin/utlrp.sql
Here are important words of caution that can be found in the script header:

--
-- The following anonymous block will try to validate all views, functions,
-- procedures, packages, triggers, and ADTs.  It is meant to be used after
-- performing any operation that will invalidate PL/SQL related items (views
-- are included since they can depend on PL/SQL functions).
--
-- This must be run as the user SYS, and there should be no other DDL on
-- the database while running the script.  Not following this recommendation
-- may lead to deadlocks.
--
-- NOTE: Package STANDARD and DBMS_STANDARD must be valid before running
-- this part.  If these are not valid, run standard.sql and
-- dbms_standard.sql to recreate and validate STANDARD and DBMS_STANDARD;
-- then run this portion.
--
 
 
 

UNIX

The uname command displays system information or sets the system name.
uname -a
The information is displayed in the order:
<system> <node> <release> <version> <hardware>

The find command. A few common examples.
   1.  To list all files in the file system with a given base file name, enter:
            find / -name .profile -print

   2.  To list the files with a specific permission code in the current directory tree, enter:
            find . -perm 0600 -print

   3.  To search several directories for files with certain permission codes, enter:
            find manual clients proposals -perm -0600 -print

   4.  To search for regular files with multiple links, enter:
            find . -type f -links +1 -print

   5.  To find all accessible files whose path name begins with find, enter:
            find find -print

   6.  To remove all files named a.out or *.o that have not been accessed for a week and that are not mounted using nfs, enter:
            find / \( -name a.out -o -name '*.o' \) -atime +7 -exec \  rm {} \; -o -fstype nfs -prune

   7.  To find all files modified within the last 24 hours, enter:
            find . -mtime 1 -print

   8.  To find all files on the root file system, enter:
            find / -mount -print

   9.  To write all the files on the root file system to tape, enter:
            find / -mount -print -cpio /dev/tape/tape?_d0
            cpio -iBvt </dev/rmt?h

   10. To find all the mount points on the root file system, enter:
            find / ! -mount -print

   11. The following example finds all files that have a name starting with file.  Notice that the asterisk must be escaped to prevent the shell from interpreting it as a special character.
            % find . -name file\*

   12. The following example finds all files that have a name starting with file and an owning group of adm.  Notice that this is the default behaviour, and is identical to the next example using the -a operator.
            % find . -name file\* -group adm

   13. The following example finds all files that have a name starting with file and an owning group of adm.  Notice that this is identical to the  prior example of the default behaviour.
            % find . -name file\* -a -group adm

   14. The following example finds all files that have a name starting with file or that have an owning group of adm.
            % find . -name file\* -o -group adm

   15. The following example finds all files that have a name starting with file or that have an owning group of adm and a name starting with gf.
            % find . -name file\* -o -group adm -name gf\*
   16. The following example finds all files that have a name starting with file and that have an owning group of adm or a name starting with gf.
            % find . -name file\* -a -group adm -o -name gf\*

   17. The following example finds all files that have an owning group other than the group users.
            % find . ! -group users

   18. The following example finds all files owned by the group users and that have a name starting with file or that have a name starting with cc.
            % find . \( -group users -a -name file\* \) -o -name cc\*

   19. The following example finds all files not owned by the group users and that have a name starting with file or that have a name starting with cc.
            % find . \( ! -group users -a -name file\* \) -o -name cc\*
 
 

9iAS Install


The Portal install log is in 9iAS_HOME/assistants/opca/install.log

A lot of cool scripts are in 9iAS_HOME/portal30/admin/plsql contains Portal install scripts.

When you have a http connection problem with a Portal install, you can run the diagnosis tool 'diag' that is available from the command line in 9iAS_HOME/portal30/admin/plsql. Example:
diag -s portal30 -c myDBAlias
The result produced looks like this. Note the recommendation(s) at the end.

      Proxy Server Settings:
      HTTP Server:
      HTTP Server Port:
      No Proxy Servers for Domains beginning with:
      URL Connection Time-Out (seconds):

      *** There are too many rows in PORTAL30.wwsec_enabler_config_info$ ***
      *********************************************

      Recommendations:

      Please run ssodatan again
 

The SYSTEM and SYS accounts in the iCache database are locked.
This is to prevent accidental tampering of the iCache database that might cause it to stop operating correctly.
 



Hervé Deschamps is a Technical Manager with Oracle Corporation. Over the years he has developed a number of applications using Oracle Development Tools and others.  He has an extensive experience of all phases of the development life cycle. He is also known in the technical community for his article publications centered around best custom development practices and for his user group presentations. You can reach him by e-mail at herve.deschamps@.oracle.com. He also maintains a web site full of articles, scripts, tips and techniques at http://www.iherve.com.