在能调用SQLPLUS之前,必须首先正确地设置Oracle环境,包括设置ORACLE_SID,ORACLE_HOME,LD_LIBRARY_PATH环境变量,有时还需设置NLS_LANG和ORA_NLS11变量。如果没有正确设置环境变量,可能会出错。
如果没有设置ORACLE_HOME变量则会出现error 6 initializing SQL*PLUS和SP2-0750:You may need to set ORACLE_HOME to your ORACLE Software directory.错误。
可以通过:
export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1设置(路径根据实际情况进行准备)
连接到远程数据库的唯一要求是在tnsnames.ora文件中指定该远程数据库。这也是为什么必须对sqlplus即时客户机指定ORACLE_HOME环境变量的原因。还有一种方法叫简易连接不需要设置tnsnames.ora文件。简易连接:sqlplus oe/oe@//myserver.mydomain:1521/testdb
如果只是启动和关闭数据库,可以使用具有SYSDBA或SYSOPER权限的用户登录到SQLPLUS即可。sqlplus user/password as sysdba;
请注意,当通过sqlplus进行连接时不必使用数据库名,这是因为我们连接的是默认实例---即有Oracle_SID环境变量值指定的数据库。在使用SQLPLUS登录默认数据库时不需要指定数据库名。但如果希望连接到一个通过网络访问的非默认数据库时,则必须使用连接标识符
如果在tnsnames.ora文件中已经定义了ORCL则可以直接使用sqlplus username/password@orcl
直接书写完整标示符的连接数据库的方式:
sqlplus username/password@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sales-server)(PORT=1521)(CONNECT DATA=(SERVICE_NAME=orcl.mycompany.com))))