SQL*Plus® User's Guide and Reference Release 10.2 Part Number B14357-01 |
|
|
PDF · Mobi · ePub |
These instructions are to enable you to login and connect to a database after you have installed SQL*Plus. You can connect to the default database you created during installation, or to another existing Oracle database.
SQL*Plus on the Oracle Technology Network at http://www.oracle.com/technology/tech/sql_plus/
.
SQL*Plus Discussion Forum at http://www.oracle.com/forums/
.
Oracle Documentation Library at http://www.oracle.com/technology/documentation
.
SQL*Plus Product and Documentation feedback by emailing sqlplus@oracle.com.
SQL*Plus is an interactive and batch query tool that is installed with every Oracle Database installation. It has a command-line user interface, a Windows Graphical User Interface (GUI) and the iSQL*Plus web-based user interface.
There is also the SQL*Plus Instant Client which is a stand-alone command-line interface available on platforms that support the OCI Instant Client. SQL*Plus Instant Client connects to any available Oracle database, but does not require its own Oracle database installation. See the Oracle Call Interface Programmer's Guide for more information on the OCI Instant Client.
SQL*Plus has its own commands and environment, and it provides access to the Oracle Database. It enables you to enter and execute SQL, PL/SQL, SQL*Plus and operating system commands to perform the following:
Format, perform calculations on, store, and print from query results
Examine table and object definitions
Develop and run batch scripts
Perform database administration
You can use SQL*Plus to generate reports interactively, to generate reports as batch processes, and to output the results to text file, to screen, or to HTML file for browsing on the Internet. You can generate reports dynamically using the HTML output facility of SQL*Plus, or using the dynamic reporting capability of iSQL*Plus to run a script from a web page.
Connections to an Oracle7 database from SQL*Plus 10.2 are not supported.
The SQL*Plus, SQL, and PL/SQL command languages are powerful enough to serve the needs of users with some database experience, yet straightforward enough for new users who are just learning to work with the Oracle Database.
The SQL*Plus language is easy to use. For example, to rename a column labelled LAST_NAME with the heading "Family Name", enter the command:
COLUMN LAST_NAME HEADING 'Family Name'
Similarly, to list column definitions for the EMPLOYEES table, enter the command:
DESCRIBE EMPLOYEES
There are several sources available to assist you to learn SQL*Plus:
Part II of this Guide, Using SQL*Plus
Help for SQL*Plus, Command-line and iSQL*Plus online help
Oracle Database 10g: SQL Fundamentals
An instructor-led course run by Oracle. This is a comprehensive hands-on course taking the student through all aspects of using SQL*Plus and iSQL*Plus to access Oracle Database.
More Oracle Database 10g Training
To find more useful Oracle courses, go to http://www.oracle.com/education
.
This guide provides information about SQL*Plus that applies to all operating systems. It also includes some Windows and UNIX specific information, for example, the Windows Graphical User Interface. Some aspects of SQL*Plus differ on each operating system. Such operating system specific details are covered in the Oracle Database Installation Guide provided for your system. Use these operating system specific guides in conjunction with this SQL*Plus User's Guide and Reference.
Throughout this guide, examples showing how to enter commands use a common command syntax and a common set of sample tables. The tables are described in "Sample Schemas and SQL*Plus".
SQL*Plus command-line and the Windows GUI use a two-tier model comprising:
Client (command-line user interface).
Database (Oracle Database).
The two tiers may be on the same machine.
The command-line user interface is the character based terminal implementation. The Windows GUI is an alternate user interface available in Windows installations.
Oracle Database Net components provide communication between the SQL*Plus Client and Oracle Database.
iSQL*Plus is a browser-based interface which uses the SQL*Plus processing engine in a three-tier model comprising:
Client (Web browser).
Middle tier (Application Server).
Database (Oracle Database).
The iSQL*Plus Server is installed on the same machine as the Application Server. The client may or may not also be on this machine. The middle tier coordinates interactions and resources between the client tier and the database tier. The database is Oracle8i, Oracle9i or Oracle Database 10g accessed through Oracle Net.
The iSQL*Plus user interface comprises web pages served to your web browser through the Internet or your intranet. There is no installation or configuration required for the iSQL*Plus user interface. You only need to know the URL of the Application Server to access an available Oracle database.
The Application Server is installed when Oracle Database is installed.
The middle tier contains a Java2 Enterprise Edition (J2EE) compliant application server. It uses Oracle Containers for Java (OC4J) as the server engine. The Application Server enables communication and authentication between the iSQL*Plus user interface and Oracle Database.
Oracle Net components provide communication between the iSQL*Plus Application Server and Oracle Database in the same way as for a client server installation of Oracle Database.
SQL*Plus is a component of Oracle Database. SQL*Plus, and its command-line user interface, Windows GUI, and iSQL*Plus web-based user interface are installed by default when you install the Oracle Database.
Some aspects of Oracle Database and SQL*Plus differ from one computer and operating system to another. These topics are discussed in the Oracle Database Installation Guide for each operating system that SQL*Plus supports.
What is necessary before you can run SQL*Plus or iSQL*Plus?
Install Oracle Database (or Oracle Client for the command-line SQL*Plus or Windows GUI interfaces only). See the Oracle Database Installation Guide for your operating system available at http://www.oracle.com/technology/documentation/
.
Obtain an Oracle Database login username and password during installation or from your Database Administrator. See Login Username and Password.
Ensure a sample database is installed and that you have a login username and password for it during Oracle Database installation. See Sample Schemas and SQL*Plus.
Create a default database during installation or obtain the connection identifier for the Oracle Database you want to connect to from your Database Administrator. See Connecting to a Database.
Ensure the database you want to connect to is started. See the STARTUP command.
If using iSQL*Plus, ensure that you have the URL for the Application Server you want to connect to, and that the Application Server is available and running. See Starting the iSQL*Plus Application Server, and Testing if the iSQL*Plus Application Server is Running.
The default date format in SQL*Plus is determined by the database NLS_DATE_FORMAT parameter and may use a date format displaying two digit years. You can use the SQL TO_CHAR function, or the SQL*Plus COLUMN FORMAT command in your SELECT statements to control the way dates are displayed in your report.
The SQL*Plus executable is usually installed in $ORACLE_HOME/bin, which is usually included in your operating system PATH environment variable. You may need to change directory to the $ORACLE_HOME/bin directory to start SQL*Plus.
In the following examples, you are prompted to enter the database account password.
An example using an Easy Connection identifier to connect to the HR schema in the MYDB database running on mymachine is:
sqlplus hr@//mymachine.mydomain:port/MYDB
An example using a Net Service Name is:
sqlplus hr@MYDB
Net Service Names can be stored in a number of places, including Oracle Names. See the Net Services Reference Guide for more information.
If you want to use Net Service Names configured in a local Oracle Net tnsnames.ora file, then set the environment variable TNS_ADMIN to the directory containing the tnsnames.ora file. For example, on UNIX, if your tnsnames.ora file is in /home/user1 and it defines the Net Service Name MYDB2:
TNS_ADMIN=/home/user1 export TNS_ADMIN sqlplus hr@MYDB2
This example assumes the ORACLE_HOME environment variable is set, and the $ORACLE_HOME/network/admin/tnsnames.ora or %ORACLE_HOME%\network\admin\tnsnames.ora file defines the Net Service Name MYDB3:
sqlplus hr@MYDB3
The TWO_TASK (on UNIX) or LOCAL (on Windows) environment variable can be set to a connection identifier. This removes the need to explicitly enter the connection identifier whenever a connection is made in SQL*Plus or SQL*Plus Instant Client. This UNIX example connects to the database known as MYDB4:
TNS_ADMIN=/home/user1 export TNS_ADMIN TWO_TASK=MYDB4 export TWO_TASK sqlplus hr
To start SQL*Plus and connect to the default database
Open a UNIX or a Windows terminal and enter the SQL*Plus command:
sqlplus
When prompted, enter your Oracle Database username and password. If you do not know your Oracle Database username and password, ask your Database Administrator.
Alternatively, enter the SQL*Plus command in the form:
sqlplus username
You are prompted to enter your password.
SQL*Plus starts and connects to the default database.
Now you can start entering and executing SQL, PL/SQL and SQL*Plus statements and commands at the SQL> prompt.
To start SQL*Plus and connect to a database other than the default
Open a UNIX or a Windows terminal and enter the SQL*Plus command:
sqlplus username@connect_identifier
You are prompted to enter your password.
To start the SQL*Plus Windows GUI and connect to a database
Click Start > Programs > Oracle-OraHomeName > Application Development > SQL Plus.
Alternatively, open a Windows terminal and enter the SQL*Plus command:
sqlplusw
The SQL*Plus Windows GUI opens and the Log On dialog is displayed.
Enter your Oracle Database username and password in the Log On dialog. If you do not know your Oracle Database username and password, ask your Database Administrator.
Leave the Host String field blank to connect to the default database. Enter a connection identifier for the database you want to connect to in the Host String field. You can connect to Oracle8i, Oracle9i and Oracle Database 10g databases.
Click OK. SQL*Plus starts and connects to the database.
Now you can start entering and executing SQL, PL/SQL and SQL*Plus statements and commands at the SQL> prompt.
Enter the iSQL*Plus URL in your web browser's Location or Address field. The iSQL*Plus URL looks like:
http://machine_name.domain:port/isqlplus
If you do not know the iSQL*Plus URL, ask your System Administrator, or try one of the following on the machine running the iSQL*Plus Application Server.
http://127.0.0.1:5560/isqlplus/ http://localhost:5560/isqlplus/
iSQL*Plus uses HTTP port 5560 by default. If iSQL*Plus is not available on port 5560, read the $ORACLE_HOME/install/portlist.ini file on the computer running the iSQL*Plus Application Server to find the port on which iSQL*Plus is running.
Press Enter to go to the URL. The iSQL*Plus Login screen is displayed in your web browser.
Enter your Oracle Database username and password in the Username and Password fields. If you do not know your Oracle Database username and password, ask your Database Administrator.
Leave the Connection Identifier field blank to connect to the default database.
Enter an Oracle Database connection identifier in the Connection Identifier field to connect to a database other than the default. You can connect to Oracle8i, Oracle9i and Oracle Database 10g databases.
If restricted database access has been configured, the Connection Identifier field is a dropdown list of available databases to select.
Click Login to connect to the database. The iSQL*Plus Workspace is displayed in your web browser.
Now you can start entering and executing SQL, PL/SQL and SQL*Plus statements and commands in the Workspace.
The iSQL*Plus Application Server is started during Oracle Database installation. It must be running to enable web-based iSQL*Plus sessions. See Starting the iSQL*Plus Application Server.
SQL*Plus Instant Client is the SQL*Plus command-line without the need to install Oracle Database. For information about using it, see Starting SQL*Plus Command-line.
Because SQL*Plus Instant Client does not include a database, it is always 'remote' from any database server. To connect to a database you must specify the database using an Oracle Net connection identifier.
If TNS_ADMIN is not set, then an operating system dependent set of directories is examined to find tnsnames.ora. This search path includes looking in the directory specified by the ORACLE_HOME environment variable for network/admin/tnsnames.ora. This is the only reason to set the ORACLE_HOME environment variable for SQL*Plus Instant Client. If ORACLE_HOME is set when running Instant Client applications, it must be set to a directory that exists.
To connect to a different database from a current command-line session
From an existing Windows GUI or command-line session, enter a CONNECT command in the form:
SQL> connect username@connect_identifier
You are prompted to enter your password.
To connect to a different database from a current iSQL*Plus session
From an existing iSQL*Plus session, enter a CONNECT command in the form:
connect username@connect_identifier
You are prompted to enter your password.
Sample schemas are included with the Oracle Database. Examples in this guide use the EMP_DETAILS_VIEW view of the Human Resources (HR) sample schema. This schema contains personnel records for a fictitious company. To view column details for the view, EMP_DETAILS_VIEW, enter
DESCRIBE EMP_DETAILS_VIEW
For more information about the sample schemas, see the Oracle Database Sample Schemas guide.
The Human Resources (HR) Sample Schema is installed as part of the default Oracle Database installation. The HR account is locked by default.
You need to unlock the HR account before you can use the HR sample schema. To unlock the HR account, log in as the SYSTEM user and enter the following command, where your_password is the password you want to define for the user HR:
ALTER USER HR IDENTIFIED BY your_password ACCOUNT UNLOCK;
For further information about unlocking the HR account, see the Oracle Database Sample Schemas guide. The HR user is primarily to enable you to access the HR sample schema and is necessary to enable you to run the examples in this guide.
Each table in the database is "owned" by a particular user. You may wish to have your own copies of the sample tables to use as you try the examples in this guide. To get your own copies of the HR tables, see your DBA or see the Oracle Database Sample Schemas guide, or you can create the HR tables with the script HR_MAIN.SQL which is located in the following directory on UNIX:
$ORACLE_HOME/demo/schema/human_resources/hr_main.sql
And on the following directory on Windows:
%ORACLE_HOME%\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL
To create the HR tables from command-line SQL*Plus, do the following:
Ask your DBA for your Oracle Database account username and password.
Login to SQL*Plus.
On UNIX, enter the following command at the SQL*Plus prompt:
SQL> @?/DEMO/SCHEMA/HUMAN_RESOURCES/HR_MAIN.SQL
On Windows, enter the following command at the SQL*Plus prompt:
SQL> @?\DEMO\SCHEMA\HUMAN_RESOURCES\HR_MAIN.SQL
To remove the sample tables, perform the same steps but substitute HR_DROP.SQL for HR_MAIN.SQL.
To describe a database object using iSQL*Plus, for example, column details for EMP_DETAILS_VIEW, enter a DESCRIBE command like:
DESCRIBE EMP_DETAILS_VIEW
which produces the following output:
To rename the column headings, and to select data from the HR sample schema view, EMP_DETAILS_VIEW, enter
COLUMN FIRST_NAME HEADING "First Name" COLUMN LAST_NAME HEADING "Family Name" SELECT FIRST_NAME, LAST_NAME FROM EMP_DETAILS_VIEW WHERE LAST_NAME LIKE 'K%';
which produces the following output:
It is recommended that you always use the Logout icon to exit iSQL*Plus to free up system and server resources.
To exit SQL*Plus command-line, enter EXIT.
To exit the Windows GUI, enter EXIT or select Exit from the File menu.
In iSQL*Plus, the EXIT or QUIT command halts the script currently running, it does not terminate your session.