Oracle® Database Administrator's Guide 11g Release 1 (11.1) Part Number B28310-04 |
|
|
View PDF |
The primary means of communicating with Oracle Database is by submitting SQL statements. Oracle Database also supports a superset of SQL, which includes commands for starting up and shutting down the database, modifying database configuration, and so on. There are three ways to submit these SQL statements and commands to Oracle Database:
Directly, using the command-line interface of SQL*Plus
Indirectly, using the graphical user interface of Oracle Enterprise Manager
With Oracle Enterprise Manager (Enterprise Manager), you use an intuitive graphical interface to administer the database, and Enterprise Manager submits SQL statements and commands behind the scenes.
See Oracle Database 2 Day DBA for more information.
Directly, using SQL Developer
Developers use SQL Developer to create and test database schemas and applications, although you can also use it for database administration tasks.
See Oracle Database 2 Day Developer's Guide for more information.
This section focuses on using SQL*Plus to submit SQL statements and commands to the database. It includes the following topics:
SQL*Plus is the primary command-line interface to your Oracle database. You use SQL*Plus to start up and shut down the database, set database initialization parameters, create and manage users, create and alter database objects (such as tables and indexes), insert and update data, run SQL queries, and more.
Before you can submit SQL statements and commands, you must connect to the database. With SQL*Plus, you can connect locally or remotely. Connecting locally means connecting to an Oracle database running on the same computer on which you are running SQL*Plus. Connecting remotely means connecting over a network to an Oracle database that is running on a remote computer. Such a database is referred to as a remote database. The SQL*Plus executable on the local computer is provided by a full Oracle Database installation, an Oracle Client installation, or an Instant Client installation.
See Also:
SQL*Plus User's Guide and ReferenceOracle Database includes the following components:
The Oracle Database instance, which is a collection of processes and memory
A set of disk files that contain user data and system data
When you connect with SQL*Plus, you are connecting to the Oracle instance. Each instance has an instance ID, also known as a system ID (SID). Because there can be more than one Oracle instance on a host computer, each with its own set of data files, you must identify the instance to which you want to connect. For a local connection, you identify the instance by setting operating system environment variables. For a remote connection, you identify the instance by specifying a network address and a database service name. For both local and remote connections, you must set environment variables to help the operating system find the SQL*Plus executable and to provide the executable with a path to its support files and scripts. To connect to an Oracle instance with SQL*Plus, therefore, you must complete the following steps:
See Also:
Oracle Database Concepts for background information about the Oracle instanceTake the necessary action on your platform to open a window into which you can enter operating system commands.
Platform | Action |
---|---|
UNIX and Linux | Open a terminal session |
Windows | Open a Command Prompt window |
Depending on your platform, you may have to set environment variables before starting SQL*Plus, or at least verify that they are set properly.
For example, on most platforms, ORACLE_SID
and ORACLE_HOME
must be set. In addition, it is advisable to set the PATH
environment variable to include the ORACLE_HOME/bin directory. Some platforms may require additional environment variables. On the UNIX and Linux platforms, you must set environment variables by entering operating system commands. On the Windows platform, Oracle Universal Installer (OUI) automatically assigns values to ORACLE_HOME
and ORACLE_SID
in the Windows registry. If you did not create a database upon installation, OUI does not set ORACLE_SID
in the registry; after you create your database at a later time, you must set the ORACLE_SID
environment variable from a command window.
UNIX and Linux installations come with two scripts, oraenv
and coraenv
, that you can use to easily set environment variables. For more information, see Administrator's Reference for UNIX Systems.
For all platforms, when switching between instances with different Oracle homes, you must change the ORACLE_HOME
environment variable. If multiple instances share the same Oracle home, you must change only ORACLE_SID
when switching instances.
Refer to the Oracle Database Installation Guide or administration guide for your operating system for details on environment variables and for information on switching instances.
Example 1-1 Setting Environment Variables in UNIX (C Shell)
setenv ORACLE_SID orcl setenv ORACLE_HOME /u01/app/oracle/product/11.1.0/db_1 setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:/usr/lib:/usr/dt/lib:/usr/openwin/lib:/usr/ccs/lib
Example 1-2 assumes that ORACLE_HOME
is set in the registry and that ORACLE_SID
is not set (or that you want to override the registry value of ORACLE_SID
to connect to a different instance).
On Windows, environment variable values that you set in a command prompt window override the values in the registry.
To start SQL*Plus:
Do one of the following:
Ensure that the PATH
environment variable contains ORACLE_HOME/bin.
Change directory to ORACLE_HOME/bin.
Enter the following command (case sensitive on UNIX and Linux):
sqlplus /nolog
You submit the SQL*Plus CONNECT
statement to initially connect to the Oracle instance or at any time to reconnect as a different user. The syntax of the CONNECT
statement is as follows:
CONN[ECT] [logon] [AS {SYSOPER | SYSDBA}]
The syntax of logon
is as follows:
{username | /}[@connect_identifier]
When you provide username
, SQL*Plus prompts for a password. The password is not echoed as you type it.
The following table describes the syntax components of the CONNECT
statement.
Syntax Component | Description |
---|---|
/ |
Calls for external authentication of the connection request. A database password is not used in this type of authentication. The most common form of external authentication is operating system authentication, where the database user is authenticated by having logged in to the host operating system with a certain host user account. External authentication can also be performed with an Oracle wallet or by a network service. See Oracle Database Security Guide for more information. See also "Using Operating System Authentication". |
AS {SYSOPER | SYSDBA} |
Indicates that the database user is connecting with either the SYSOPER or SYSDBA system privilege. Only certain predefined administrative users or users who have been added to the password file may connect with these privileges. See "Administrative Privileges" for more information. |
username |
A valid database user name. The database authenticates the connection request by matching username against the data dictionary and prompting for a user password. |
connect_identifier (1) |
An Oracle Net connect identifier, for a remote connection. The exact syntax depends on the Oracle Net configuration. If omitted, SQL*Plus attempts connection to a local instance.
A common connect identifier is a net service name. This is an alias for an Oracle Net connect descriptor (network address and database service name). The alias is typically resolved in the tnsnames.ora file on the local computer, but can be resolved in other ways. See Oracle Database Net Services Administrator's Guide for more information on connect identifiers. |
connect_identifier (2) |
As an alternative, a connect identifier can use easy connect syntax. Easy connect provides out-of-the-box TCP/IP connectivity for remote databases without having to configure Oracle Net Services on the client (local) computer.
Easy connect syntax for the connect identifier is as follows: host[:port][/service_name] where:
See Oracle Database Net Services Administrator's Guide for more information on easy connect. |
Example 1-3
This simple example connects to a local database as user SYSTEM
. SQL*Plus prompts for the SYSTEM
user password.
connect system
Example 1-4
This example connects to a local database as user SYS
with the SYSDBA
privilege. SQL*Plus prompts for the SYS
user password.
connect sys as sysdba
When connecting as user SYS
, you must connect AS SYSDBA
.
Example 1-6
This example connects locally with the SYSDBA
privilege with operating system authentication.
connect / as sysdba
Example 1-7
This example uses easy connect syntax to connect as user salesadmin
to a remote database running on the host db1.mycompany.com
. The Oracle Net listener (the listener) is listening on the default port (1521). The database service is sales.mycompany.com
. SQL*Plus prompts for the salesadmin
user password.
connect salesadmin@db1.mycompany.com/sales.mycompany.com
Example 1-8
This example is identical to Example 1-7, except that the listener is listening on the non-default port number 1522.
connect salesadmin@db1.mycompany.com:1522/sales.mycompany.com
Example 1-9
This example connects remotely as user salesadmin
to the database service designated by the net service name sales1
. SQL*Plus prompts for the salesadmin
user password.
connect salesadmin@sales1
Example 1-10
This example connects remotely with external authentication to the database service designated by the net service name sales1
.
connect /@sales1
Example 1-11
This example connects remotely with the SYSDBA
privilege and with external authentication to the database service designated by the net service name sales1
.
connect /@sales1 as sysdba
See Also:
SQL*Plus User's Guide and Reference for more information on the CONNECT
statement
Oracle Database Net Services Administrator's Guide for more information on net service names