Skip Headers

Oracle9i Administrator's Reference
Release 2 (9.2.0.1.0) for UNIX Systems: AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, and Sun Solaris
Part No. A97297-01
Go To Table Of Contents
Contents
Go To Index
Index

Previous Next

1
Administering Oracle9i

This chapter provides information on administering Oracle9i on AIX, HP, Linux, Solaris, and Tru64. It contains the following sections:

Overview

You must set Oracle9i environment variables, parameters, and user settings for Oracle9i to work. This chapter describes the various settings for Oracle9i on AIX, HP, Linux, Solaris, and Tru64.

In Oracle9i files and programs, a question mark (?) represents the value of the ORACLE_HOME environment variable. For example, Oracle9i expands the question mark in the following SQL statement to the full pathname of the Oracle home directory:

SQL> ALTER TABLESPACE TEMP ADD DATAFILE '?/dbs/temp02.dbf' SIZE 2M

Similarly, the @ sign represents the ORACLE_SID environment variable. For example, to indicate a file belonging to the current instance, enter:

SQL> ALTER TABLESPACE tablespace_name ADD DATAFILE tempfile@.dbf 

Environment Variables

This section describes the most commonly-used Oracle9i and UNIX environment variables. You must define some environment variables before installing Oracle9i. These environment variables are listed in the Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems.

To display the current value of an environment variable, use the env command. For example, to display the value of the ORACLE_SID environment variable, enter:

$ env | grep ORACLE_SID

Oracle9i Environment Variables

Table 1-1 provides the syntax for, and examples of, environment variables used by Oracle9i.

Table 1-1 Oracle9i Environment Variables on UNIX

Variable Detail Definition
EPC_DISABLED Function Disables Oracle Trace.

Syntax TRUE |FALSE
NLS_LANG Function Specifies the language, territory, and character set of the client environment. The character set specified by NLS_LANG must match the character set of the terminal or terminal emulator. The character set specified by NLS_LANG can be different from the database character set, in which case Oracle automatically converts the character set.

See the Oracle9i Globalization Support Guide for a list of values for this variable.

Syntax language_territory.characterset
Example french_france.we8dec
ORA_NLS33 Function Specifies the directory where language, territory, character set, and linguistic definition files are stored.
Syntax directory_path
Example $ORACLE_HOME/ocommon/nls/admin/data
ORA_TZFILE Function Specifies the full pathname to the time zone file. You must set this environment variable if you want to use a time zone from the large time zone file ($ORACLE_HOME/oracore/zoneinfo/timezlrg.dat) for data in the database. The large time zone file contains information on more time zones than the default time zone file ($ORACLE_HOME/oracore/zoneinfo/timezone.dat).

All databases that share information must use the same time zone file. You must stop and restart the database when you change the value of this environment variable.

Syntax directory_path
Example $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat
ORACLE_BASE Function Specifies the base of the Oracle directory structure for Optimal Flexible Architecture (OFA) compliant databases.
Syntax directory_path
Example /u01/app/oracle
ORACLE_HOME Function Specifies the directory containing the Oracle software.
Syntax directory_path
Example $ORACLE_BASE/product/9.2.0.1.0
ORACLE_PATH Function Specifies the search path for files used by Oracle applications, such as SQL*Plus (*.sql ), Oracle Forms (*.frm), and Oracle Reports (*.rpt). If the full path to the file is not specified, or if the file is not in the current directory, the Oracle application uses ORACLE_PATH to locate the file.
Syntax Colon-separated list of directories:
directory1:directory2:directory3
Example /u01/app/oracle/product/9.2.0.1.0/bin:.

Note: The period adds the current working directory to the search path.

ORACLE_SID Function Specifies the Oracle system identifier.
Syntax A string of numbers and letters that must begin with a letter. Oracle Corporation recommends a maximum of eight characters for system identifiers. For more information on this environment variable, see the Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems.
Example SAL1
ORACLE_TRACE Function Enables the tracing of shell scripts during an installation. If this environment variable is set to T, many Oracle shell scripts use the set -x command, which prints commands and their arguments as they are run.
Syntax T or not T.
ORAENV_ASK Function Controls whether the coraenv or oraenv script prompts for the value of the ORACLE_SID or ORACLE_HOME environment variable. If the value is NO, the scripts do not prompt; otherwise they do.
Syntax A string. Specifies the directory containing the Oracle Net Services configuration file.
Example NO or not NO.
SQLPATH Function Specifies the directory or list of directories that SQL*Plus searches for a login.sql file.

Syntax Colon-separated list of directories:
directory1:directory2:directory3

Example /home:/home/oracle:/u01/oracle
TNS_ADMIN Function Specifies the directory containing the Oracle Net Services configuration file.

Syntax directory_path

Example $ORACLE_HOME/network/admin
TWO_TASK Function Specifies the default connect identifier to use in the connect string. The connect identifier does not need to be specified in the connect string. For example, if the TWO_TASK environment variable is set to sales, you can connect to a database using the CONNECT username/password command rather than the CONNECT username/password@sales command.
Syntax Any connect identifier.
Range of Values Any valid connect identifier that can be resolved with a naming method, such as a tnsnames.ora file or a directory server.
Example PRODDB_TCP

Note:

To prevent conflicts, do not define environment variables with names that are identical to the names of Oracle Server processes, for example: ARCH, PMON, and DBWR.

UNIX Environment Variables

Table 1-2 provides the syntax for, and examples of, UNIX environment variables used with Oracle9i.

Table 1-2 UNIX Environment Variables Used with Oracle9i

Variable Detail Definition
ADA_PATH
(Solaris 32-bit and AIX only)
Function Specifies the directory containing the Ada compiler.

Syntax directory_path

Example /usr/lpp/powerada
CLASSPATH Function Used with Java applications. The setting for this variable differs with each Java application. See the product documentation for your Java application for more information.

Syntax Colon-separated list of directories or files:
directory1:directory2:file1:file2

Example There is no default setting. CLASSPATH must include the following directories:

$ORACLE_HOME/JRE/lib:$ORACLE_HOME/product/jlib

DISPLAY Function Used by X-based tools. Specifies the display device used for input and output. See the X Windows documentation of the vendor for details.
Syntax hostname:server[.screen]
where the hostname is the computer name (either IP address or alias), server is the sequentila code number for the server, and screen is the sequentila code number for the screen. If you have a single monitor, the server.screen is 0.0.

Note: If you have a single monitor, screen is optional.

Example 135.287.222.12:0.0 bambi:0
HOME Function The user's home directory.

Syntax directory_path

Example /home/oracle
LANG or LANGUAGE Function Specifies the language and character set used by the operating system for messages and other output. See the operating system documentation and the Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems for more information.
LD_OPTIONS Function Specifies the default linker options. See the ld man pages for more information.
LPDEST (Solaris only) Function Specifies the name of the default printer.
Syntax string
Example docprinter
LDPATH (Solaris only) Function Default directories used by the linker to find shared object libraries. See the ld man pages for more information on this environment variable.
LD_LIBRARY_PATH Function List of directories that the shared library loader searches to locate shared object libraries at runtime. See the ld man page for information on this environment variable.
Syntax Colon-separated list of directories:
directory1:directory2:directory3
Example /usr/dt/lib:$ORACLE_HOME/lib
LIBPATH (AIX only) Function List of directories that the shared library loader searches to locate shared object libraries at runtime. See the ld man page for information on this environment variable.

Syntax Colon-separated list of directories:
directory1:directory2:directory3

Example /usr/dt/lib:$ORACLE_HOME/lib
PATH Function Used by the shell to locate executable programs; must include the $ORACLE_HOME/bin directory.

Syntax Colon-separated list of directories:
directory1:directory2:directory3

Example /bin:/usr/bin:/usr/local/bin: /usr/bin/X11:$ORACLE_HOME/bin:$HOME/bin:.

Note: The period adds the current working directory to the search path.

PRINTER Function Defines the name of the default printer.

Syntax string

Example docprinter
SHELL Function Specifies the command interpreter used during a host command.

Syntax shell_path

Range of Values /bin/sh, /bin/csh, /bin/ksh, or any other UNIX command interpreter.

Example /bin/sh
SHLIB_PATH (HP 32-bit libraries only) Function List of directories that the shared library loader searches to locate shared object libraries at runtime. See the ld man page for information on this environment variable.

Syntax Colon-separated list of directories:
directory1:directory2:directory3

Example /usr/dt/lib:$ORACLE_HOME/lib
TEMP and TMPDIR Function Specifies the default directory for temporary files; if set, tools that create temporary files create them in this directory.

Syntax directory_path

Example /u02/oracle/tmp
XENVIRONMENT Function Specifies a file containing X-Windows system resource definitions. See your X-Windows documentation for more information.

Setting a Common Environment

This section describes how to use the oraenv command to set a common UNIX environment. You can use the coraenv command for the C shell in the same way.

oraenv Script File

The oraenv script is created during installation. This script sets environment variables based on the contents of the oratab file and provides:

  • A central means of updating all user accounts with database changes

  • A mechanism for switching between Oracle9i databases specified in the oratab file

You may find yourself frequently adding and removing databases from your development system or your users may be switching between several different Oracle databases installed on the same system. You can use the oraenv script to ensure that user accounts are updated and to switch between databases.

The oraenv script is usually called from the user's .profile file . It is used to set the ORACLE_SID, ORACLE_HOME, and PATH environment variables to include the $ORACLE_HOME/bin directory. When switching between databases, users can run the oraenv script to set these environment variables.


See Also:

Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems for more information on setting a common environment.

Local bin Directory

The directory that contains the oraenv and dbhome scripts is called the local bin directory. All database users should have read access to this directory. Include the path of the local bin directory in the users' PATH environment variables. If you run the root.sh script after installation, the script prompts you for the path of the local bin directory and automatically copies the oraenv and dbhome scripts to the directory. The default local bin directory is /usr/local/bin. If you do not run the root.sh script, you can manually copy the oraenv and dbhome script from the $ORACLE_HOME/bin directory to your local bin directory.

Switching Between Databases

To switch from one database or database instance to another, call the oraenv script. Reply to the prompt with the value of the ORACLE_SID environment variable of the database to which you are switching. If the local bin directory is not included in the PATH environment, provide the full path of the oraenv command file. For example:

$ . /usr/local/bin/oraenv
ORACLE_SID= [default]? sid

Setting and Exporting the Value of a Variable in a Current Session

Use the env command to show the environment variable values that have been exported to the environment. The Bourne shell and Korn shell can set values without exporting them.

For the Bourne or Korn shell, enter:

$ ORACLE_SID=test
$ export ORACLE_SID

For the C shell, enter:

% setenv ORACLE_SID test

In the preceding examples, test is the value of the ORACLE_SID environment variable.

Setting the System Time

The TZ environment variable sets the time zone. It enables you to adjust the clock for daylight saving time changes or different time zones. The adjusted time is used to time-stamp files, produce the output of the date command, and obtain the current SYSDATE.

Oracle Corporation recommends that you do not change your personal TZ value. Using different values of TZ such as GMT+24 might change the date a transaction is recorded. This changed date affects Oracle applications that use SYSDATE, such as Oracle Financials. To avoid this problem, use sequence numbers to order a table instead of date columns.

LD_PRELOAD Environment Variable for Loading Shared Libraries (HP Only)

If you are developing Oracle9i applications on HP that use shared libraries and function calls, users of your application must set the LD_PRELOAD environment variable.

Because they require less memory, many programs use shared libraries. In most cases, the dld.sl 64-bit HP-UX dynamic loader is invoked automatically when applications using shared libraries start. At run time, the dynamic loader implicitly attaches all shared libraries linked with the program to the process. This includes the HP-UX thread-local storage (TLS) libraries. Programs can also use the shl_load() HP-UX function call to:

In laboratory tests, errors occur when an application uses the shl_load() function call to attach a shared library that directly or indirectly contains HP-UX TLS libraries. These errors include Oracle shared libraries which are currently linked with the libpthread.sl and libcl.sl HP-UX TLS libraries, for example libclntsh.sl.

In the following example, the prog.c program calls the shl_load() function to load the libclntsh.sl library:

shl_load("Oracle_home_directory/rdbms/lib/libclntsh.sl", BIND_IMMMEDIATE | BIND_VERBOSE | DYNAMIC_PATH | 0L); 

When the program is executed, it generates the following errors:

/usr/lib/pa20_64/dld.sl: Cannot dlopen load module '/usr/lib/pa20_64/libpthread.1' because it contains thread specific data. 

/usr/lib/pa20_64/dld.sl: Cannot dlopen load module '/usr/lib/pa20_64/libcl.2' because it contains thread specific data. 

The new LD_PRELOAD environment variable resolves these errors.

To prevent errors occurring when an application uses the shl_load() function call to attach a shared library that directly or indirectly contains HP-UX TLS libraries, perform the following steps:

  1. Set the value of the LD_PRELOAD environment variable to include a colon-separated or whitespace-separated list of the TLS libraries that your program uses, for example:

    $ export LD_PRELOAD=/usr/lib/pa20_64/libpthread.1:/usr/lib/pa20_64/libcl.2
    
    

    The dynamic loader treats the libraries specified by the LD_PRELOAD variable as the first libraries in the link line and pre-loads these libraries implicitly at application startup.

  2. Enter the following command to execute your program, where prog is the name of your program:

    $ prog 
    
    

    The errors shown on the previous page should not appear.

  3. Unset the LD_PRELOAD variable to prevent memory overheads:

    $ unset LD_PRELOAD
    
    

See Also:

Your HP-UX system documentation for more information on the LD_PRELOAD environment variable.

Relinking Executables

You can manually relink your product executables using a relink shell script located in the $ORACLE_HOME/bin directory. Relinking is necessary after applying any operating system patches or after an operating system upgrade.


Note:

Shut down all executables that are running in the ORACLE_HOME that you are relinking, including the listener and Oracle Intelligent Agent. In addition, shut down any applications that are linked with any Oracle shared libraries.

The relink script manually relinks Oracle product executables, depending on the products that have been installed in the Oracle home directory.

To relink product executables, enter the following command, where argument is one of the values listed in Table 1-3:

$ relink argument

Table 1-3 Relink Script Parameters

Value Description
all Every product executable that has been installed
oracle Oracle server executable only
network net_client, net_server, cman, names
client net_client, otrace, plsql
ctx Oracle Text utilities
precomp All precompilers that have been installed
utilities All utilities that have been installed
oemagent oemagent

Note: To give the correct permissions to the dbsnmp executable, you must run the root.sh script after relinking oemagent executables.

ldap ldap, oid

System Global Area

The System Global Area (SGA) is the Oracle structure that is located in shared memory. It contains static data structures, locks, and data buffers. Sufficient shared memory must be available to each Oracle process to address the entire SGA.

The maximum size of a single shared memory segment is specified by the SHMMAX kernel parameter (SHM_MAX on Tru64). The following table shows the recommended value for this parameter, depending on your platform:

Platform Recommended Value
AIX Not applicable.
HP The size of the physical memory installed on the system.

See Also: "HP-UX Shared Memory Segments for a 64-Bit Oracle Instance " for information on the SHMMAX parameter on HP.

Solaris 4 GB minus 16 MB. Can be greater than 4 GB on 64-bit systems.
Tru64 4 GB minus 16 MB.

Note: The value of the SHM_MAX parameter must be at least 16 MB for the Oracle instance to start. If your system runs both Oracle8i and Oracle9i instances, you must set the value of this parameter to 2 GB minus 16 MB.

Linux Half the size of the physical memory installed on the system.

If the size of the SGA exceeds the maximum size of a shared memory segment (SHMMAX or SHM_MAX), Oracle9i attempts to attach more contiguous segments to fulfill the requested SGA size. The SHMSEG kernel parameter (SHM_SEG on Tru64) specifies the maximum number of segments that can be attached by any process.

Set the following initialization file parameters to control the size of the SGA:

Use caution when setting values for these parameters. When values are set too high, too much of the computer's physical memory is devoted to shared memory, resulting in poor performance.

Determining the Size of the SGA

You can determine the SGA size in one of the following ways:

  • Enter the following SQL*Plus command to display the size of the SGA for a running database:

    SQL> SHOW SGA
    
    

    The result is shown in bytes.

  • Determine the size of the SGA when you start your database instance. The SGA size is displayed next to the heading Total System Global Area.

Intimate Shared Memory (Solaris Only)

On Solaris systems, Oracle9i uses Intimate Shared Memory (ISM) for shared memory segments because it shares virtual memory resources among Oracle processes. On Solaris 2.6 and Solaris 7, Oracle9i uses ISM by default. ISM causes the physical memory for the entire shared memory segment to be locked automatically.

On Solaris 8, dynamic/pageable ISM (DISM) is available. This enables Oracle9i to share virtual memory resources among processes sharing the segment, and at the same time, enables memory paging. The operating system does not have to lock down physical memory for the entire shared memory segment.

Oracle9i automatically decides at startup whether to use ISM or DISM, based on the following criteria:

  • Oracle9i uses DISM if it is available on the system, and if the value of the SGA_MAX_SIZE initialization parameter is larger than the size required for all SGA components combined. This allows Oracle9i to lock only the amount of physical memory that is used.

  • Oracle9i uses ISM if the entire shared memory segment is in use at startup or if the value of the SGA_MAX_SIZE parameter is equal to or smaller than the size required for all SGA components combined.

Regardless of whether Oracle9i uses ISM or DISM, it can always exchange the memory between dynamically sizable components such as the buffer cache, the shared pool, and the large pool after it starts an instance. Oracle9i can relinquish memory from one dynamic SGA component and allocate it to another component.

Because shared memory segments are not implicitly locked in memory, when using DISM, Oracle9i explicitly locks shared memory that is currently in use at startup. When a dynamic SGA operation uses more shared memory, Oracle9i explicitly performs a lock operation on the memory that comes in use. When a dynamic SGA operation releases shared memory, Oracle9i explicitly performs an unlock operation on the memory that is freed, so that it becomes available to other applications.

Oracle9i uses a new utility, oradism, to lock and unlock shared memory. If the LOCK_SGA parameter is set to TRUE, Oracle9i attempts to lock the entire SGA at startup. In this case, no locks or unlocks are performed when the SGA resizes.

With Oracle9i release 2 (9.2.0.1.0), the oradism utility is automatically set up during installation. You do not need to perform any configuration tasks to use dynamic SGA.


Note:

The process name for the oradism utility is ora_dism_sid, where sid is the system identifier. When using DISM, this process is started during instance startup, and automatically quits when the instance is shut down.If a message appears in the alert log saying that the oradism utility is not set up correctly, verify that the oradism utility is located in the $ORACLE_HOME/bin/ directory and that it has superuser privileges.

Shared Memory on AIX

On AIX, shared memory uses common virtual memory resources across processes. Processes share virtual memory segments through a common set of virtual memory translation resources, for example tables and cached entries, for improved performance. With Oracle9i on AIX, shared memory can be pinned to prevent paging and to reduce I/O overhead. To do this, set the LOCK_SGA parameter to TRUE. Additionally, starting with Oracle9i release 2 (9.2.0.1.0) on AIX 5.1, the same parameter activates the large page feature whenever the underlying hardware supports it.Enter the following command to make pinned memory available to Oracle9i on AIX systems:

$ vmtune -s 1

Enter the following command to set the maximum percentage of real memory available for pinned memory where percent_of_real_memory is the maximum percent of real memory that you want to set:

$ vmtune -M percent_of_real_memory

When using the -M flag, it is important that the amount of pinned memory exceeds the Oracle SGA size by at least 3 percent of the real memory on the system, allowing free pinnable memory for use by the kernel.

Use the AIX svmon command to monitor the use of pinned memory during the operation of the system. Oracle9i attempts to pin memory only if the LOCK_SGA parameter is set to TRUE.


Large Page Feature on AIX Power4-Based Systems

On AIX Power4-based systems, you can enable large pages by:

  • Using the -g and -L flags of the vmtune command. The -g flag specifies the size of the large pages, and should be set to 256 MB (-g 268435456) for Power4 processors. The -L flag specifies the number of large pages as specified by the -g flag to reserve for Oracle9i.

  • Running the bosboot command and then rebooting the system.

Oracle Corporation recommends specifying enough large pages to contain the entire SGA. Starting with Oracle9i release 2 (9.2.0.1.0), the Oracle instance attempts to allocate large pages when the LOCK_SGA parameter is set to TRUE. If the SGA size exceeds the size of memory available for pinning, or large pages, the portion of the SGA exceeding these sizes is allocated to ordinary shared memory.


See Also:

The AIX documentation for information on the command for enabling and tuning pinned memory and large pages.

Oracle9i Memory Requirements

The total memory used by an Oracle9i instance is approximately the size of the SGA plus the size of the Program Global Area (PGA). To specify the size of the PGA, set the PGA_AGGREGATE_TARGET parameter.

Database Limits

Table 1-4 lists the default and maximum values for parameters in a CREATE DATABASE or CREATE CONTROLFILE statement.


Note:

Interdependencies among these parameters may affect allowable values.

Table 1-4 CREATE CONTROLFILE and CREATE DATABASE Parameters

Parameter Default Maximum Value
MAXLOGFILES 16 255
MAXLOGMEMBERS 2 5
MAXLOGHISTORY 100 65534
MAXDATAFILES 30 65534
MAXINSTANCES 1 63

Table 1-5 lists the Oracle9i file size limits in bytes specific to UNIX.

Table 1-5 File Size Limits

File Type Operating System Maximum SIze
Datafiles Any 4,194,303 multiplied by the value of the DB_BLOCK_SIZE parameter
Import/Export files and SQL*Loader files Tru64

AIX, HP, Linux, Solaris: 32-bit with 32-bit files

AIX, HP, Linux, Solaris: 32-bit with 64-bit files

AIX, HP, Linux, Solaris: 64-bit

< 16TB

2,147,483,647 bytes

Unlimited

Unlimited

Control files Solaris, HP, Linux 20000 database blocks
AIX 10000 database blocks

Tru64 19200 database blocks

Operating System Accounts and Groups

Special operating system accounts and groups are required by Oracle9i, as follows:

Oracle Software Owner Account

The Oracle software owner account, usually named oracle, is the account that you use to install the Oracle software. You can use different Oracle software owner accounts for separate installations of the software. However, you must use the same account that installed the software for all subsequent maintenance tasks on that installation.

Oracle Corporation recommends that the Oracle software owner has the ORAINVENTORY group as its primary group and the OSDBA group as its secondary group.

OSDBA, OSOPER, and ORAINVENTORY Groups

Table 1-6 describes the special UNIX groups required by Oracle9i.

Table 1-6 UNIX Groups

Group Typical Name Description
OSDBA dba Operating system accounts that are members of the OSDBA group have special database privileges. Members of this group can connect to the database using the SYSDBA privilege. The Oracle software owner is the only required member of this group. You can add other accounts as required.

For more information on the OSDBA group and the SYSDBA privilege, see the Oracle9i Database Administrator's Guide and the Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems.

OSOPER oper The OSOPER group is an optional group. Operating system accounts that are members of the OSOPER group have special database privileges. Members of this group can connect to the database using the SYSOPER privilege.

For more information on the OSOPER group and the SYSOPER privilege, see the Oracle9i Database Administrator's Guide and the Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems.

ORAINVENTORY oinstall All users installing Oracle software on a UNIX system must belong to the same UNIX group, called the ORAINVENTORY group. This group must be the primary group of the Oracle software owner during installations. After the installation, this group owns all of the Oracle files installed on the system.

Oracle9i uses several features of the UNIX operating system to provide a secure environment for users. These features include file ownership, group accounts, and the ability of a program to change its user ID upon execution.

The two-task architecture of Oracle9i improves security by dividing work (and address space) between the user program and the oracle program. All database access is achieved through the shadow process and special authorizations in the oracle program.


See Also:

Oracle9i Database Administrator's Guide for more information on security issues.

Groups and Security

Oracle programs are divided into two sets for security purposes: those executable by all (other, in UNIX terms), and those executable by DBAs only. Oracle Corporation recommends the following approach to security:

  • The primary group for the oracle account should be the oinstall group.

  • The oracle account must have the dba group as a secondary group.

  • Although any user account which requires dba privileges can belong to the dba group, the only user account which should belong to the oinstall group is the oracle account.

Security for Database Files

See the Oracle9i Installation Guide Release 2 (9.2.0.1.0) for UNIX Systems for information on the appropriate permissions for database files.

External Authentication

If you choose to use external authentication, you must use the value of the OS_AUTHENT_PREFIX initialization parameter as a prefix for Oracle usernames. If you do not explicitly set this parameter, the default value on UNIX is ops$, which is case sensitive.

To use the same usernames for both operating system and Oracle authentication, set this initialization parameter to a null string, as follows:

OS_AUTHENT_PREFIX=""


See Also:

Oracle9i Database Administrator's Guide for more information on external authentication.

Running the orapwd Utility

You can use a password file to identify users that can use the SYSDBA and SYSOPER privileges when connecting to the database. To create the password file:

  1. Log in as the Oracle software owner.

  2. Use the $ORACLE_HOME/bin/orapwd utility, which has the following syntax:

    $ orapwd file=filename password=password entries=max_users
    
    

    The following table describes the values that you must specify in this command:

Variable Description
filename Name of the file where password information is written. The name of the file must be orapwsid and you must supply the full pathname. Its contents are encrypted and not user-readable. This parameter is mandatory. The password file is typically created in the $ORACLE_HOME/dbs directory.
password This parameter sets the password for the SYS user. If you use an ALTER USER statement to change the password for the SYS user after you connect to the database, both the password stored in the data dictionary and the password stored in the password file are updated. This parameter is mandatory.
max_users Maximum number of entries that you require the password file to accept.

See Also:

Oracle9i Database Administrator's Guide for more information on using the orapwd utility.

Password Management

When the Database Configuration Assistant Summary window appears, users must change the SYS and SYSTEM account passwords. You cannot use the default CHANGE_ON_INSTALL and MANAGER passwords.

For security reasons, the Database Configuration Assistant locks most Oracle user accounts after it creates the database. It does not lock the SYS, SYSTEM, or SCOTT accounts. You must unlock any locked accounts and change their passwords before logging into them.

To change the passwords, click the Password Management button in the Database Configuration Assistant Summary window.

Alternatively, use SQL*Plus to connect to the database as SYSDBA and enter the following command:

SQL> ALTER USER username IDENTIFIED BY passwd ACCOUNT UNLOCK;

Customizing the Initialization File

The default initialization file (initsid.ora) is provided with the Oracle9i software. The Database Creation Assistant creates it in the $ORACLE_BASE/admin/sid/pfile directory. A sample initialization file is located in the $ORACLE_HOME/dbs directory.

Table 1-7 lists default initialization parameter values on UNIX. All Oracle9i instances assume these values if you do not specify different values for them in the initsid.ora file. Oracle Corporation recommends that you include in the initsid.ora file only those parameters that differ from the default initialization parameter values.

Use the SHOW PARAMETERS command in SQL*Plus to display the current values of these parameters on the system.


See Also:

For Tru64, "CLUSTER_INTERCONNECTS Initialization Parameter (Formerly TRU64_IPC_NET)", and the Oracle9i Database Reference, Oracle9i Database Administrator's Guide, and the Oracle9i Performance Guide and Reference for more information on initialization parameters.

Table 1-7 Initialization Parameters

Parameter Default Value Range of Values
BACKGROUND_DUMP_DEST ?/rdbms/log Valid directory name
BITMAP_MERGE_AREA_SIZE 1048576 65536 to unlimited
COMMIT_POINT_STRENGTH 1 0 to 255
CONTROL_FILES ?/dbs/cntrlsid.dbf Valid filenames
CREATE_BITMAP_AREA_SIZE 8388608 65536 to unlimited
DB_BLOCK_SIZE 2048 2048 to 16384
(Linux, Solaris 32-bit)

2048 to 32768
(AIX, HP, Tru64, Solaris 64-bit)

DB_CACHE_SIZE 8 MB 8 MB to unlimited
DB_FILES 200 1 to 2000000
DB_FILE_DIRECT_IO_COUNT 64 0 to 1048576/block size
DB_FILE_MULTIBLOCK_READ_COUNT 8 1 to the smaller of the following values:
  • The value of DB_CACHE_SIZE divided by 4

  • 1048576 divided by the value of DB_BLOCK_SIZE

HASH_AREA_SIZE The value of SORT_AREA_SIZE multiplied by 2 0 to unlimited
HASH_MULTIBLOCK_IO_COUNT 0 (self-tuned) 0 to the smallest of the following values:
  • 127

  • The value of DB_CACHE_SIZE divided by 4

  • 1048576 divided by the value of DB_BLOCK_SIZE

JAVA_POOL_SIZE 24 MB 1000000 to 1000000000
LOCK_SGA FALSE TRUE, FALSE
LOG_ARCHIVE_DEST NULL Valid directory names
LOG_ARCHIVE_FORMAT "%t_%s.dbf" Valid filenames
LOG_BUFFER 512 KB or (128 KB multiplied by the value of CPU_COUNT, which ever is higher) 66560 to unlimited
LOG_CHECKPOINT_INTERVAL 0 0 to unlimited
MAX_DISPATCHERS 5 1 to maximum number of processes that can be opened by your operating system.
MAX_SHARED_SERVERS 2 multiplied by the value of SHARED_SERVER, if the value of SHARED_SERVERS is greater than 20, otherwise 20 Between the value of SHARED_SERVERS and the value of PROCESSES
SHARED_SERVERS 1, if DISPATCHERS is specified, else 0 Between 1 and PROCESSES
NLS_LANGUAGE AMERICAN Valid language names
NLS_TERRITORY AMERICA Valid territory names
OBJECT_CACHE_MAX_SIZE_PERCENT 10 0 to unlimited
OBJECT_CACHE_OPTIMAL_SIZE 100 KB 10 KB to unlimited
OPEN_CURSORS 50 1 to unlimited
OS_AUTHENT_PREFIX ops$ Arbitrary string
PGA_AGGREGATE_TARGET 0 (auto memory management is not set) 10 MB to 4 TB (if set)
PROCESSES 30, if not PARALLEL_AUTOMATIC_TUNING 6 to unlimited
SHARED_POOL_SIZE 64 MB on 64-bit systems, 8 MB on 32-bit systems 4194304 to unlimited
SORT_AREA_SIZE 65536 0 to unlimited

Oracle HTTP Server

To administer the Oracle HTTP Server, you must have access to the local system on which the server is running, and in some cases you must have root access.

The Oracle HTTP Server starts automatically on the default port 7777 after installation. To verify that the server is running, enter the following command:

$ ps -elf | grep httpd 


Note:

This product includes software developed by the Apache Software Foundation.


Starting and Stopping the Oracle HTTP Server

If you modify the configuration, you must restart the server. You must be logged in as the root user to start the server with SSL enabled.

To stop the server, enter the following commands:

$ cd $ORACLE_HOME/Apache/Apache/bin 
$ su root 
# ./apachectl stop 

To restart the server, enter the following commands:

$ cd $ORACLE_HOME/Apache/Apache/bin 
$ su root 
# ./apachectl {start|startssl} 

Use the start flag to start a non-SSL enabled server or use the startssl flag to start an SSL enabled server. The default port for a non-SSL enabled server is 80. The default port for an SSL enabled server is 443.


Note:

If you start a non-SSL enabled server and port 80 is not available, the Oracle HTTP server uses the next available port between 7777 and 7877 as its default port.

If you start an SSL enabled server and port 443 is not available, the Oracle HTTP server uses the next available port between 4443 and 4543 as its default port.



Accessing the Default Initial Static Page

The default initial static page contains links to online documentation as well as demonstrations for each of the components. To access the initial static page, use an internet browser to view one of the following URLs:

In the preceding example, ServerName is configured in the HTTP Server httpd.conf configuration file. To locate the appropriate value in the configuration file, enter:

$ grep ServerName $ORACLE_HOME/Apache/Apache/conf/httpd.conf 

Oracle HTTP Server Log Files

A number of log files are generated by the server. Check them periodically to make sure that the server is working correctly. By default, the error log level is set to warn in the configuration files. You can change the default error level by editing the appropriate configuration file and restarting the server.

The following log files are generated by the server:

$ORACLE_HOME/Apache/Apache/logs/access_log 
$ORACLE_HOME/Apache/Apache/logs/error_log 
$ORACLE_HOME/Apache/Apache/logs/ssl_engine_log 
$ORACLE_HOME/Apache/Jserv/logs/jserv.log 
$ORACLE_HOME/Apache/Jserv/logs/mod_jserv.log 

Demonstration Files

This section describes how to build and run the SQL*Loader and PL/SQL demonstration programs installed with Oracle9i.

SQL*Loader Demonstrations

The following SQL*Loader demonstration files are included with Oracle9i in the $ORACLE_HOME/rdbms/demo directory. Run the demonstrations in numerical order:

ulcase1 ulcase3 ulcase5 ulcase7
ulcase2 ulcase4 ulcase6

To Create and Run a Demonstration

Run demonstrations while logged in as the user SCOTT/TIGER. If the SCOTT/TIGER schema does not exist on your system, run the $ORACLE_HOME/rdbms/admin/utlsampl.sql script to create it.

Ensure that:

  • The user SCOTT/TIGER has CONNECT and RESOURCE privileges

  • The EMP and DEPT tables exist

In the following steps, n represents the demonstration number, listed in the previous section. To create and run a demonstration:

  1. Run the ulcasen.sql script corresponding to the demonstration you want to run:

    $ sqlplus SCOTT/TIGER @ulcasen.sql
    
    
  2. Load the demonstration data into the objects:

    $ sqlplus SCOTT/TIGER @ulcasen.sql
    
    

The following list provides additional information on the ulcase2, ulcase6, and ulcase7 demonstrations:

  • For the ulcase2 demonstration, you do not have to run the ulcase2.sql script.

  • For the ulcase6 demonstration, run the ulcase6.sql script, then enter the following command:

    $ sqlldr SCOTT/TIGER ulcase6 DIRECT=true
    
    
  • For the ulcase7 demonstration, run the ulcase7s.sql script, then enter the following command:

    $ sqlldr SCOTT/TIGER ulcase7
    
    

    After running the demonstration, run the ulcase7e.sql script to drop the trigger and package used by this demonstration.

PL/SQL Demonstrations

PL/SQL includes a number of demonstration programs that you can load. The Oracle9i database must be open and mounted to work with the demonstration programs.

You must build database objects and load sample data before using these programs. To build the objects and load the sample data:

  1. Change directory to the PL/SQL demonstrations directory:

    $ cd $ORACLE_HOME/plsql/demo
    
    
  2. Start SQL*Plus and connect as SCOTT/TIGER:

    $ sqlplus SCOTT/TIGER
    
    
  3. Enter the following commands to build the objects and load the sample data:

    SQL> @exampbld.sql
    SQL> @examplod.sql
    
    

    Note:

    Build the demonstrations as any Oracle user with sufficient privileges. Run the demonstrations as the same Oracle user.

PL/SQL Kernel Demonstrations

The following PL/SQL kernel demonstrations are available:

examp1.sql examp5.sql examp11.sql sample1.sql
examp2.sql examp6.sql examp12.sql sample2.sql
examp3.sql examp7.sql examp13.sql sample3.sql
examp4.sql examp8.sql examp14.sql sample4.sql
extproc.sql



To compile and run the exampn.sql or samplen.sql PL/SQL kernel demonstrations:

  1. Start SQL*Plus and connect as SCOTT/TIGER:

    $ cd $ORACLE_HOME/plsql/demo
    $ sqlplus SCOTT/TIGER
    
    
  2. Enter a command similar to the following to run a demonstration, where demoname.sql is the name of the demonstration:

    SQL> @demoname
    
    

To run the extproc.sql demonstration:

  1. If necessary, add an entry for external procedures to the tnsnames.ora file, similar to the following:

    EXTPROC_CONNECTION_DATA.domain =
       (DESCRIPTION =
           (ADDRESS_LIST = 
              (ADDRESS=(PROTOCOL = IPC)( KEY = EXTPROC))
           )
           (CONNECT_DATA = 
              (SID = PLSExtProc)
           )
        )
    
    
  2. If necessary, add an entry for external procedures to the listener.ora file, similar to the following:

    SID_LIST_LISTENER = 
      (SID_LIST = 
         (SID_DESC=
            (SID_NAME=PLSExtProc)
            (ORACLE_HOME=/u01/app/oracle/product/9.2.0.1.0) 
    
    (ENVS=EXTPROC_DLLS=/u01/app/oracle/product/9.2.0.1.0/plsql/demo/extproc.so,
    LD_LIBRARY_PATH=/u01/app/oracle/product/9.2.0.1.0/plsql/demo) (PROGRAM=extproc) ) )

    Note:

    The value that you specify for SID_NAME in the listener.ora file must match the value that you specify for SID in the tnsnames.ora file.

  3. Enter the following command to create the extproc.so shared object, build the required database objects, and load the sample data:

    $ make -f demo_plsql.mk extproc.so exampbld examplod
    
    

    Alternatively, if you have already built the database objects and loaded the sample data, enter the following command:

    $ make -f demo_plsql.mk extproc.so
    
    
  4. From SQL*Plus, enter the following commands:

    SQL> CONNECT SYSTEM/MANAGER
    SQL> GRANT CREATE LIBRARY TO SCOTT;
    SQL> CONNECT SCOTT/TIGER
    SQL> CREATE OR REPLACE LIBRARY demolib IS
      2  '$ORACLE_HOME/plsql/demo/extproc.so';
      3  /
    
    
  5. To run the demonstration, enter the following command:

    SQL> @extproc
    
    

PL/SQL Precompiler Demonstrations


Note:

The make commands shown in this section build the required database objects and load the sample data in the SCOTT schema.

The following precompiler demonstrations are available:

examp9.pc examp10.pc sample5.pc sample6.pc

To build all of the PL/SQL precompiler demonstrations, enter the following commands:

$ cd $ORACLE_HOME/plsql/demo
$ make -f demo_plsql.mk demos

To build a single demonstration, enter its name as the argument in the make command. For example, to build the examp9 demonstration, enter:

$ make -f demo_plsql.mk examp9

To run the examp9 demonstration, enter the following command:

$ ./examp9

Administering SQL*Loader

SQL*Loader is used by both database administrators and Oracle9i users. It loads data from standard operating system files into Oracle database tables.


See Also:

Oracle 9i Database Utilities for more information on using SQL*Loader.

The SQL*Loader control file includes the following additional file processing option, the default being str, which takes no argument:

[ "str" | "fix n" | "var n" ]

The following table describes these processing options:

String Description
"str" Specifies a stream of records, each terminated by a newline character, which are read in one record at a time. This option is the default.
"fix n" Indicates that the file consists of fixed-length records, each of which is n bytes long, where n is an integer value.
"var n" Indicates that the file consists of variable-length records, with the length of each record specified in the first n characters. If you do not specify a value of n, SQL*Loader assumes a value of 5.

If you do not select the file processing option, the information is processed by default as a stream of records ("str"). You might find that the "fix" option yields faster performance than the default "str" option because it does not scan for record terminators.

Newline Characters in Fixed Length Records

When using the "fix" option to read a file containing fixed-length records, where each record is terminated by a newline character, include the length of the newline character (one character) when specifying the record length to SQL*Loader.

For example, to read the following file, specify "fix 4" instead of "fix 3" to include the additional newline character:

AAA<cr>
BBB<cr>
CCC<cr>

If you do not terminate the last record in a file of fixed-length records with a newline character, do not terminate the other records with a newline character either. Similarly, if you terminate the last record with a newline character, terminate all records with a newline character.


Caution:

Certain text editors, such as vi, automatically terminate the last record of a file with a newline character. This leads to inconsistencies if the other records in the file are not terminated with newline characters.

Removing Newline Characters

Use the position(x:y) function in the control file to discard the newline characters from fixed length records rather than loading them.

For example, enter the following lines in your control file to discard newline characters from the fourth position:

load data
infile xyz.dat "fix 4"
into table abc
( dept position(01:03) char )

Using these lines, SQL*Loader discards newline characters because they are in the fourth position in each fixed-length record.


Previous Next
Oracle Logo
Copyright © 1996, 2002 Oracle Corporation

All rights reserved
Go To Table Of Contents
Contents
Go To Index
Index