连接和使用Oracle数据库有多种方法,不过,通常使用Oracle SQL*Plus界面以及一组称为SQL*Plus命令来连接和使用Oracle数据库,SQL*Plus提供了进入Oracle数据库界面。
此界面是Oracle DBA的一个有用工具,主要理由如下:
1、可以用它运行SQL查询和PL/SQL代码块并接收结果信息
2、可以发布DBA命令并自动工作
3、可以启动和关闭数据库
4、一种创建数据库管理报告的便利方法
环境变量
在能调用SQL*Plus前,必须首先正确地设置Oracle环境,包括:
ORACLE_SID
ORACLE_HOME
LD_LIBBARY_PATH
有时还必须设置NLS_LANG和ORA_NLS11环境变量。
使用SQL*Plus即时客户机软件连接Oracle:
使用这个软件,可以远程连接到运行在任意操作系统平台上的任意Oracle数据库,只需用Oracle网络连接标识符给出远程数据库名即可。连接到某个远程数据库的唯一要求是在tnsnames.ora文件中指定该远程数据库。这就是为什么必须对SQL * Plus即时客户机指定ORACLE_HOME环境变量的原因。
还有一种连接方法,不需要使用客户服务器上的tnsnames.ora文件 。这种方法称为简易连接(easy connect)方法。使用一个简易连接标识,你可以作为用户OE连接到运行在名为myserver的服务器上的数据库,使用的命令如下:
sqlplus oe/oe@//myserver.mydoamin:1521/testdb
从命令行启动SQL *Plus会话
可以使用ORACLE_SID环境变量设置默认数据库。
ORACLE_SID=orcl export ORACLE_SID
当设置好ORACLE_SID以后就可以使用sqlplus username/password的方式登录数据库
为了连接某个指定数据库而不是默认数据库,则必须在操作系统命令行上输入以下内容:
$sqlplus username@connect_identifier
如果具有SYSDBA或(SYSOPER)权限,则可以按以下方法登录到SQL*Plus:
$sqlplus sys/oracle AS SYSDBA
AS 子句允许有SYSDBA或SYSOPER系统权限的用户连接SQL*Plus
如果已经在数据库中创建了一个操作系统认证的用户账户,可以用(/)连接。
$sqlplq /
从理论上讲,可以用完整的连接标识符语法连接数据库,但是,通过使用在网络文件tnsnames.ora中定义的网络服务名,可以用更简单的方法连接到数据库,如下所示:
$sqlplus scott/tigger@orcl
还可以使用简易连接方法,如:
$[//]host[:port][/[servie_name]]
用CONNECT命令进行连接
在SQL * Plus 中可用使用CONNECT命令以不同用户身份进行连接 ,在使用CONNECT命令连接一个数据库后,还可以登录到另一个不同的数据库。
connect newuser/newser_passwd
可以在SQL * Plus中提供连接标识符作为CONNECT命令的成分连接到另一个数据库。
connect scott/tiger@orcl
在连接另一个数据库前,要确定tnsnamers.ora文件中有该远程数据库的连接信息。
可在SQL * Plus中使用CONNECT命令以及/AS SYSDBA和/AS SYSOPER语法 ,如下所示:
CONNECT sys/oracle@orcl as sysdba
CONNECT / as sysdba
CONNECT username/password AS SYSDBA
CONNECT / AS SYSOPER
CONNECT usernmae/password AS SYSOPER
在启动一个新SQL*Plus会话中,使用sqlplus命令以/NOLOG选项,可以不连接数据库而只启动SQL*Plus会话:
sqlplus / nolog
在登录到SQL*Plus界面后,可以输入任何SQL *Plus、SQL或PL/SQL命令,一条SQL语句由一个分号(;)或一个反斜杠(/)结束,一个PL/SQL块由一个反斜杠(/)结束.你可以在屏幕上看到输出结果,也可以将输出 结果假脱机到一个文件中.SQL*Plus命令以一个换行符结束,如果你输入一条SQL*Plus命令同,SQL*Plus客户程序将处理它,如果它是一条SQL或PL/SQL语句,则数据库服务器会进行处理。
可以使用连字符 (-)作为语句行的数据字符,当然,若一行就能输入完一条语句,则不需要连字符 。
输入大写或小写的EXIT即可退出SQL*Plus会话,也可以输入QUIT退回到操作系统,SQL*Plus不区分大小写。
如果 在SQL *Plus输入EXIT(或QIUT)命令正常地退出会话,则事务将立即被提交。如果不打算提交事务,必须在退出前发布rollback命令。