Net8 Administrator's Guide Release 8.1.6 Part Number A76933-01 |
|
This chapter describes how to enable advanced features. It includes the following sections:
This section contains the following advanced connect descriptor topics:
A database service may be accessed by more than one network route, or listener address. In the following example, sales.us.acme.com
can connect to sales.us.acme.com
using listeners on either sales1-server
or sales2-server
.
sales.us.acme.com= (description= (address_list= (address=(protocol=tcp)(host=sales1-server)(port=1521)) (address=(protocol=tcp)(host=sales2-server)(port=1521))) (connect_data= (service_name=sales.us.acme.com)))
To add a network protocol address to an existing net service name or database service:
The right pane displays the current destination service and address list.
A new address tab appears:
When a database service is accessible by multiple listener protocol addresses, it is important to specify the order of how the addresses are to be used. For example, the addresses can be chosen randomly or tried sequentially.
When multiple protocol addresses have been configured for a net service name or database service, the following options may be configured:
Parameter | Description |
---|---|
SOURCE_ROUTE (Source Routing |
Instructs Net8 to use each address in the order presented until the destination reached when set to ON. This parameter is required when reaching the destination requires more than one address stop. This feature is typically used to enable Oracle Connection Manager features. |
FAILOVER (Connect-Time Failover) |
At connect time, instructs Net8 to fail over to a different listener if the first listener fails when set to ON. The number of addresses in the list determines how many addresses are tried. When set to OFF, instructs Net8 to try one address. Connect-time failover is turned ON by default for multiple address lists (ADDRESS_LIST), connect descriptors (DESCRIPTION), and multiple connect descriptors (DESCRIPTION_LIST).
Important: Do not set the GLOBAL_DBNAME parameter in the SID_LIST_listener_name section of the |
LOAD_BALANCE (Client Load Balancing) |
When set to ON, instructs Net8 to progress through the list of listener addresses in a random sequence, balancing the load on the various listeners. When set to OFF, instructs Net8 to try the addresses sequentially until one succeeds. Client load balancing is turned ON by default for multiple connect descriptors (DESCRIPTION_LIST). |
Implementation of these parameter depends on the naming method used. The following table describes the tools to configure connect-time failover or client load balancing. Source routing involves other configuration that goes beyond the scope of this section.
See Also:
"Configuring Clients for Oracle Connection Manager" for more information about configuring clients for source routing |
Naming Method | Tool to Configure Multiple Address Options |
---|---|
Local Naming |
Net service names stored in a See the procedure that follows. |
Directory Naming |
Net service names and database services stored in a directory may be configured for connect-time failover and client load balancing using Net8 Assistant. See the procedure that follows. |
Oracle Names |
Net service names stored in an Oracle Names server may be configured for connect-time failover and client load balancing using the following tools:
See Also: "Task 6: Register Data with the Oracle Names Server" |
To configure connect-time failover or client load balancing:
The right pane displays the current destination service and address list:
The Address List Options dialog box appears:
The following table describes the options:
In the following example, the tnsnames.ora
file is configured for client load balancing with the "Try each address, randomly, until one succeeds" option:
sales.us.acme.com= (description= (address_list= (load_balance=on) (address=(protocol=tcp)(host=sales1-server)(port=1521)) (address=(protocol=tcp)(host=sales2-server)(port=1521))) (connect_data= (service_name=sales.us.acme.com)))
In the following example, the tnsnames.ora
file is configured for connect-time failover with the "Try each address, in order, until one succeeds" option:
sales.us.acme.com= (description= (address_list= (load_balance=off) (failover=on) (address=(protocol=tcp)(host=sales1-server)(port=1521)) (address=(protocol=tcp)(host=sales2-server)(port=1521))) (connect_data=(service_name=sales.us.acme.com)))
The connect data portion of a connect descriptor defines the destination database service. In the following example, SERVICE_NAME defines a service called sales.us.acme.com
:
sales.us.acme.com= (description= (address=(protocol=tcp)(host=sales-server)(port=1521)) (connect_data= (service_name=sales.us.acme.com)))
Besides the service name, connect data information may be optionally configured with the following parameters:
tnsnames.ora File Parameter | Net8 Assistant Field/Option | Description |
---|---|---|
Instance Name |
Identifies the database instance to access The instance name can be obtained from the INSTANCE_NAME parameter in the initialization parameter file. Note: Not enabled if "Use Oracle8i Release 8.0 Compatible Identification" is checked. See Also: "Understanding Connect Descriptors" |
|
Session Data Unit Size |
If you want to optimize the transfer rate of data packets being sent across the network, you can specify the session data unit (SDU) size to change the performance characteristics having to do with the packets sent across the network. See Also: "Adjusting the Session Data Unit (SDU) Size for Data Transfer Optimization" |
|
Use for Heterogeneous Services |
If you want an Oracle8i server to access a non-Oracle system, turn this option on. See Also: "Configuring Net8 for Oracle Heterogeneous Services" |
|
Oracle Rdb Settings |
|
|
Oracle RDB Database |
||
TYPE_OF_SERVICE) |
Type of Service |
Specifies the type of service to use for an Oracle RDB database |
GLOBAL_NAME) |
Global Database Name |
Implementation of these parameter depends on the naming method used. The following table describes the tools to configure connect-time failover or client load balancing. Source routing involves other configuration that goes beyond the scope of this section.
See Also:
"Configuring Clients for Oracle Connection Manager" for more information about configuring clients for source routing |
Naming Method | Tool to Configure Multiple Address Options |
---|---|
Local Naming |
Net service names stored in a See the procedure that follows. |
Directory Naming |
Net service names and database services stored in a directory may be configured with advanced connect data information using Net8 Assistant. See the procedure that follows. |
Oracle Names |
Net service names and database services stored in an Oracle Names server may be configured with advanced connect data information using the following tools:
See Also: See "Task 6: Register Data with the Oracle Names Server" |
To configure advanced CONNECT_DATA parameters for either a net service name or a database service:
The right pane displays the current destination service and address list:
The Advanced Service Options dialog box appears:
Transparent application failover (TAF) instructs Net8 to fail over an established connection that has failed to a different listener. This enables the user to continue to work using the new connection as if the original connection had never failed.
TAF involves manual configuration of a net service name that includes the FAILOVER_MODE parameter included in the CONNECT_DATA portion of the connect descriptor.
This sections covers the following topics:
The FAILOVER_MODE parameter must be included in the CONNECT_DATA portion of a connect descriptor. FAILOVER_MODE may contain the following parameters:
Depending on the FAILOVER_MODE parameters, TAF can be implemented in a number of ways. Oracle recommends the following methods:
TAF can be implemented with connect-time failover and client load balancing for multiple addresses. In the following example, Net8 connects randomly to one of the listener addresses on sales1-server
or sales2-server
. If the instance fails after the connection, Net8 fails over to the other node's listener, reserving any SELECT statements in progress.
sales.us.acme.com= (description= (load_balance=on) (failover=on) (address= (protocol=tcp) (host=sales1-server) (port=1521)) (address= (protocol=tcp) (host=sales2-server) (port=1521)) (connect_data= (service_name=sales.us.acme.com) (failover_mode= (type=select) (method=basic))))
TAF also provides the ability to automatically retry connecting if the first connection attempt fails with the RETRIES and DELAY parameters. In the following example, Net8 tries to connect to the listener on sales1-server
. If the connection attempt fails, Net8 waits 15 seconds before trying to connect again. Net8 attempts to connect up to 20 times.
sales.us.acme.com= (description= (address= (protocol=tcp) (host=sales1-server) (port=1521)) (connect_data= (service_name=sales.us.acme.com) (failover_mode= (type=select) (method=basic) (retries=20) (delay=15))))
A backup connection can be pre-established. The initial and backup connections must be explicitly specified. In the following example, Net8 connects to the listener on sales1-server
. If sales1-server
fails after the connection, Net8 fails over to sales2-server
, reserving any SELECT statements in progress.
sales.acme.com= (description= (address= (protocol=tcp) (host=sales1-server) (port=1521)) (connect_data= (service_name=sales.us.acme.com) (instance_name=sales1) (failover_mode= (backup=sales2.acme.com) (type=select) (method=preconnect)))) sales2.acme.com= (description= (address= (protocol=tcp) (host=sales2-server) (port=1521)) (connect_data= (service_name=sales.us.acme.com) (instance_name=sales2)))
You can query FAILOVER_TYPE, FAILOVER_METHOD, and FAILED_OVER columns in the V$SESSION view to verify that TAF is correctly configured.
The following sections describe available client configuration options:
In environments where the client often requests names from a specific domain, it is appropriate to set a default domain in the client's sqlnet.ora
file with the NAMES.DEFAULT_DOMAIN parameter.
When a default domain is set, it is automatically appended to any unqualified net service name given in the connect string, and then compared to net service names stored in a tnsnames.ora
file or Oracle Names server.
For example, if the client tnsnames.ora
file contains a net service name of sales.us.acme.com
, the user can enter the following connect string:
CONNECT scott/tiger@sales
In this example, sales
gets searched as sales.us.acme.com
.
If the connect string includes the domain extension, such as in CONNECT scott/tiger@sales.acme.com
, the domain is not appended. If a net service name in a tnsnames.ora
file or Oracle Names server is not domain qualified and this parameter is set, the net service name must be entered with a dot ("."). For example, if domain is set to us.acme.com
and the client tnsnames.ora
file contains a net service name of sales
, the user would enter the following connect string:
CONNECT scott/tiger@sales.
To specify a default domain:
The sqlnet.ora
file should contain an entry that looks like the following:
names.def
ault_domain=com
After naming methods are configured, as described in Chapter 6, they must be prioritized. The naming method at the top of the list is used first to resolve a net service name. If it cannot resolve the net service name, the second method in the list is used to resolve the net service name.
To specify the order of naming methods:
Available naming methods are described in the following table:
Naming Method | Description |
---|---|
TNSNAMES |
Net service names are resolved using the |
LDAP |
Net service names and database service names are resolved through a directory server. |
ONAMES |
Net service names and database service names are resolved centrally, through an Oracle Names server. |
HOSTNAME |
Net service names are resolved using the host naming method. Certain criteria must be met to use host naming. See Also: "Configuring the Host Naming Method" |
CDS |
This naming method is available with Oracle Advanced Security option. |
NDS |
Novell Directory Services (NDS) |
NIS |
Network Information Service (NIS) |
The naming method moves to the Selected Methods list.
The sqlnet.ora
file updates with the NAMES.DIRECTORY_PATH parameter:
names.directory_path=(onames, tnsnames)
Clients and servers acting as clients can be configured so connection requests are directed to a specific process at all times. The sqlnet.ora
file parameters described in the following table can be used to route connection requests:
To route connection requests:
The sqlnet.ora
file can be configured with the following advanced parameters:
To set advanced features for clients:
If you are using Oracle Names as a naming method, you can specify the name and address of preferred Oracle Names servers to take precedence over any other available Oracle Names server addresses. Net8 routes name resolution requests to each preferred Oracle Names Server until a response is received.
Preferred Oracle Names servers are an alternative to using the Discover Oracle Names Servers command in Net8 Assistant or the REORDER_NS command in the NAMESCTL control utility. These commands create a list of Oracle Names servers based on what is available throughout the network and ranks them in the order of fastest response time. Preferred Oracle Names servers override any other Oracle Names servers found during the discovery process. Once you have initially discovered an Oracle Names server, you may want to delete preferred Oracle Names servers.
See Also:
|
To specify a preferred Oracle Names server:
The sqlnet.ora
file updates with the NAMES.PREFERRED_SERVERS parameter:
names.preferred_servers= (address=(protocol=tcp) (host=namesrv1)(port=1575))
Note:
The preferred Oracle Names server(s) must match the Oracle Names listening protocol address(es) you configured in the |
The following sections describe how to configure Oracle Connection Manager features:
Oracle Connection Manager enables you to take advantage of the ability to multiplex or funnel multiple logical client network sessions through a single transport connection to a multi-threaded server destination. This is accomplished through Oracle Connection Manager's connection concentration feature.
To configure connection concentration, perform these tasks:
Task 1: Configure Oracle Connection Manager
Oracle Connection Manager accepts client connection requests at the following default listening address:
cman=(address=(protocol=tcp)(host=anyhost)(port=1630))
Oracle Connection Manager also listens for local and remote administration commands at the following listening address:
cman_admin=(address=(protocol=tcp)(host=anyhost)(port=1830))
If you do not want to use the default addresses, you must create a cman.ora
file with the following information:
cman=(address=(protocol_address_information)) cman_admin=(address=(protocol_address_information))
A cman.ora
file should exist in $ORACLE_HOME/network/admin
on UNIX and ORACLE_HOME
\network\admin
on Windows NT that you can edit.
See Also:
|
Verify that the destination server is configured with multi-threaded server (MTS) and that the multiplexing option is turned on. MTS and multiplexing may be turned on using Oracle Database Configuration Assistant or by setting the MTS_DISPATCHERS parameter in the initialization parameter file with the PROTOCOL and MULIPLEX attributes. For example:
mts_dispatchers="(protocol=tcp) (multiplex=on)"
Client support is accomplished by creating two addresses, the first for the Oracle Connection Manager and the second for the listener. Configuration varies according to naming method, as described in the following table:
Naming Method | Procedure |
---|---|
Local Naming and Directory Naming |
An address list must be created, where the first address must be for the Oracle Connection Manager, and the second address must be for the listener. In order to have the client connect to the Oracle Connection Manager first and have the Oracle Connection Manager then connect to the listener, the SOURCE_ROUTE parameter must be set. See Also: "Configuring Clients for Oracle Connection Manager" to configure the Oracle Connection Manager and listener addresses |
Oracle Names |
Oracle Names servers are automatically updated with the listener and Oracle Connection Manager addresses.
In order for a client using an Oracle Names server to send requests to Oracle Connection Manager, the USE_CMAN=TRUE parameter must be set in the |
Example 8-1 shows a comparison of a regular tnsnames.ora
file and a tnsnames.ora
file with an entry to use the Oracle Connection Manager (Oracle Connection Manager entries are shown in boldface text):
Oracle Connection Manager also provides multiple protocol support enabling a client and server with different networking protocols to communicate with each other. An Oracle Connection Manager can listen on any protocol that Oracle supports.
Without multi-protocol support, a client that uses SPX cannot connect to a server that uses TCP/IP. If Oracle Connection Manager is configured for TCP/IP, the client can connect to Oracle Connection Manager using SPX, and Oracle Connection Manager can connect to the server using TCP/IP.
To configure multi-protocol support, performs these tasks:
Task 1: Configure Oracle Connection Manager
Oracle Connection Manager accepts client connection requests at the following default listening address, and:
cman=(address=(protocol=tcp)(host=anyhost)(port=1630))
listens for local and remote administration commands at the following listening address:
cman_admin=(address=(protocol=tcp)(host=anyhost)(port=1830))
If you do not want to use the default addresses, you must create a cman.ora
file with the following information:
cman=(address=(protocol_address_information)) cman_admin=(address=(protocol_address_information))
A cman.ora
file should exist in $ORACLE_HOME/network/admin
on UNIX and ORACLE_HOME
\network\admin
on Windows NT that you can modify.
See Also:
|
Client support is accomplished by creating two addresses, the first for the Oracle Connection Manager and the second for the listener. Configuration varies according to naming method, as described in the following table:
Naming Method | Procedure |
---|---|
Local Naming and Directory Naming |
An address list must be created, where the first address must be for the Oracle Connection Manager, and the second address must be for the listener. In order to have the client connect to the Oracle Connection Manager first and have the Oracle Connection Manager then connect to the listener, the SOURCE_ROUTE parameter must be set. See Also: "Configuring Clients for Oracle Connection Manager" to configure the Oracle Connection Manager and listener addresses |
Oracle Names |
Oracle Names servers are automatically updated with the listener and Oracle Connection Manager addresses.
In order for a client using an Oracle Names server to send requests to Oracle Connection Manager, the USE_CMAN=TRUE parameter must be set in the |
Example 8-2 depicts a client using SPX to connect to an Oracle Connection Manager, and Oracle Connection Manager using TCP/IP to connect to a database server.
cman= (description= (source_route=yes) (address= (protocol=spx) (service=cman)) (address= (protocol=tcp) (host=sales-pc) (port=1521)) (connect_data= (service_name=sales.com)))
Oracle Connection Manager also includes a feature which you can use to control client access to designated servers in a TCP/IP environment. By specifying certain filtering rules, you may allow or restrict specific clients access to a server.
Use of this feature depends on whether you want to use connection concentration and multi-protocol support features with or without filtering.
This feature requires the release 8.1 Oracle Connection Manager if there are release 8.1 services in the network.
To configure Net8 access control, perform these tasks:
Task 1: Configure Oracle Connection Manager
To configure the Oracle Connection Manager:
cman.ora
file, if one does not already exist. Net8 Assistant does not support configuration of this file.
A cman.ora
file should exist in $ORACLE_HOME/network/admin
on UNIX and ORACLE_HOME
\network\admin
on Windows NT that you can edit.
See Also:
|
cman=(address=(protocol=tcp)(host=anyhost)(port=port))
cman=(address=(protocol=tcp)(host=anyhost)(port=port))
cman_rules= (rule_list= (rule= (src=shost) (dst=dhost) (srv=service) (act=accept | reject)))
Multiple RULEs can be defined within the RULE_LIST. The action (ACT) in the first matched RULE is applied to the request. If the CMAN_RULES are not defined, then all connections are permitted.
The following example shows restriction to service sales.us.acme.com
for a client machine of client1-pc
, and access to service db1
for client 144.25.23.45
.
cman_rules= (rule_list= (rule=(src=client1-pc)(dst=sales-pc)(srv=sales.us.acme.com)(act=reject)) (rule=(src=144.25.23.45)(dst=144.25.187.200)(srv=db1)(act=accept)))
Client support is accomplished by creating two addresses, the first for the Oracle Connection Manager and the second for the listener. Configuration varies according to naming method, as described in the following table:
Naming Method | Procedure |
---|---|
Local Naming and Directory Naming |
An address list must be created, where the first address must be for the Oracle Connection Manager, and the second address must be for the listener. In order to have the client connect to the Oracle Connection Manager first and have the Oracle Connection Manager then connect to the listener, the SOURCE_ROUTE parameter must be set. See Also: "Configuring Clients for Oracle Connection Manager" to configure the Oracle Connection Manager and listener addresses |
Oracle Names |
Oracle Names servers are automatically updated with the listener and Oracle Connection Manager addresses.
In order for a client using an Oracle Names server to send requests to Oracle Connection Manager, the USE_CMAN=TRUE parameter must be set in the |
Configuring the client involves routing client connection requests that you want concentrated to the database server through an Oracle Connection Manager. This is achieved by setting the Oracle Connection Manager and listener protocol addresses in a tnsnames.ora
file, directory or an Oracle Names server. Take note of the following:
sqlnet.ora
file on machines where each Oracle Names server resides. To set this parameter, follow the procedure in "Routing Connection Requests".
tnsnames.ora
file or a directory, the protocol addresses and the SOURCE_ROUTE parameter must be set. To configure the local or directory naming methods for Oracle Connection Manager, perform these tasks:
Task 1: Configure an Oracle Connection Manager Address
To configure an Oracle Connection Manager address:
The Net Service Name Wizard starts.
If the destination service is Oracle release 8.1, click (Oracle8i), and enter a service name in the Service Name field. If destination service is Oracle release 8.0 or version 7 database, click (Oracle8 or Previous), and enter an Oracle System Identifier (SID) in the Database SID field.
See Also:
"Understanding Connect Descriptors" for further information about setting the service name string |
The new net service name and the Oracle Connection Manager address is added to the Service Naming folder.
After the Oracle Connection Manager address is specified, create an address for the listener, so that the Oracle Connection Manager can connect to the server.
To configure the listener address:
Notice the Oracle Connection Manager address is displayed in the Address 1 tab:
A new address tab displays.
The Address List Options dialog box appears:
This option sets SOURCE_ROUTE=ON. It tells the client to connect to the first address, the Oracle Connection Manager, and from the first address to the second address, the listener.
Note: There is not an option that supports client load balancing and connect-time failover options with Oracle Connection Manager's source routing feature within the same address list. When SOURCE_ROUTE is set, the first address is for the client connection to an Oracle Connection Manager and the second address is for the Oracle Connection Manager connection to a listener. Client load balancing and connect-time failover are disabled when SOURCE_ROUTE is set. It is possible to manually configure client load balancing and connect-time failover with source routing for multiple address lists. See "Examples". |
The following sections describes how to configure connections to non-Oracle database services:
External procedures are functions or procedures written in a third-generation language (3GL) that can be called from PL/SQL code.
The listener can be configured to listen for external procedure calls. When a PL/SQL or SQL application calls an external procedure, the listener launches a network session-specific process called extproc
. Through the listener service, PL/SQL passes the following information to extproc
:
extproc
then loads the shared library and invokes the external procedure.
By default, Net8 Configuration Assistant configures connections to external procedure during server installation. For environments where the connection information do not exist, edit the listener.ora
file and tnsnames.ora
files, located in $ORACLE_HOME/network/admin
on UNIX and ORACLE_HOME
\network\admin
on Windows platforms, as follows:
listener.ora
file. The following procedures describes creating an IPC address:
-On UNIX, run netasst
from $ORACLE_HOME/bin
.
-On Windows NT, choose Start > Programs > Oracle - HOME_NAME > Network Administration > Net8 Assistant.
extproc
.
"Configuring Listener Protocol Addresses" for more information about configuring listener protocol addresses
See Also:
extproc
in the listener.ora
file, including the following parameters:
To configure the SID_NAME, ORACLE_HOME, and PROGRAM parameters:
extproc
in the Program Name field, a SID, such as plsextproc
, in the SID field, and the Oracle home where the extproc
executable resides in the Oracle Home field,
The listener.ora
file updates with external procedures, as shown in the following:
listener= (address= (protocol=ipc) (key=extproc)) sid_list_listener (sid_list= (sid_desc= (sid_name=plsextproc) (oracle_home=/u1/app/oracle/8.1.6) (program=extproc)))
tnsnames.ora
file that matches the information configured in the listener.ora
file.
listener.ora
file shown in Step 2, the tnsnames.ora
file should be configured with the following entry:
extproc_connection_data= (description= (address=(protocol=ipc)(key=extproc)) (connect_data= (sid=plsextproc)))
See Also:
"Configuring the Local Naming Method" for more information about creating a net service name |
Heterogeneous Services are an integrated component within the Oracle server, and provides the generic technology for accessing non-Oracle systems from the Oracle server. Heterogeneous Services enable you to:
While Heterogeneous Services provides the generic technology in the Oracle server, a Heterogeneous Service agent is required to access a particular non-Oracle system.
To initiate a connection to the non-Oracle system, the Oracle server starts an agent process through the listener on the gateway. For the Oracle server to be able to connect to the agent, perform the following steps:
listener.ora
file:
To configure the SID, ORACLE_HOME, and PROGRAM parameters:
-On UNIX, run netasst
from $ORACLE_HOME/bin
.
-On Windows NT, choose Start > Programs > Oracle - HOME_NAME > Network Administration > Net8 Assistant.
The listener.ora
file updates information about the Heterogeneous Services, as shown in the following:
sid_list_listener= (sid_list= (sid_desc= (sid_name=salesdb) (oracle_home=/home/oracle/megabase/8.1.6) (program=tg4mb80)))
-On UNIX, run netasst
from $ORACLE_HOME/bin
.
-On Windows NT, choose Start > Programs > Oracle - HOME_NAME > Network Administration > Net8 Assistant.
The Advanced Service Options dialog box appears:
The tnsnames.ora
file updates with the new net service name configured for Heterogeneous Services, as shown in the following:
megabase6_sales= (description= (address=(protocol=tcp)(host=dlsun206)(port=1521)) (connect_data= (service_name=sales6) (hs=ok)))
Oracle Rdb is a database for Digital's 64-bit platforms. With Net8, Oracle Rdb servers appears the same way to clients as Oracle8i databases. Because Oracle Rdb has its own listener, the client interacts with Rdb in the same manner as it does with Oracle7.
To initiate a connection to an Oracle Rdb, set up a net service name to connect to the Oracle Rdb database using the parameters described in the following table:
To configure a client for an Oracle Rdb database, use Net8 Assistant:
The Advanced Service Options dialog box appears:
The tnsnames.ora
file updates with the new net service name configured for the Oracle Rdb database, as shown in the following:
alpha5= (description= (address=...) (connect_data= (service_name=generic) (rbd_database=[.mf]mf_personnel.rdb) (global_name=alpha5)))
In the following example, TYPE_OF_SERVICE is used to load balance between an Oracle Rdb database service or Oracle database service:
alpha5= (description_list= (description= (address=...) (connect_data= (service_name=generic) (rbd_database=[.mf]mf_personnel.rdb) (global_name=alpha5))) (description= (address=...) (connect_data= (service_name=sales.com)) (type_of_service=oracle8_database))
|
![]() Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
|