11

我在 Unix 环境中使用以下命令连接到 Oracle 数据库:

sqlplus test/test@'(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname.com )(PORT=1521)))(CONNECT_DATA=(SID=mysid))'

但我得到以下错误:

Use SQL*Plus to execute SQL, PL/SQL and SQL*Plus statements.

Usage 1: sqlplus -H | -V

    -H             Displays the SQL*Plus version and the
                   usage help.
    -V             Displays the SQL*Plus version.

Usage 2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]

  <option> is: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

请帮助我在使用命令时出错的地方。

4

8 回答 8

10

尝试这个: sqlplus USER/PW@//hostname:1521/SID

于 2013-09-24T14:02:28.643 回答
4

sqlplus 用户名/密码@数据库

例如:

sqlplus hr/hr@orcl

于 2013-03-31T12:25:23.200 回答
2

从 Unix 用户连接 Oracle 数据库的不同方法是:

[oracle@OLE1 ~]$ sqlplus scott/tiger

[oracle@OLE1 ~]$ sqlplus scott/tiger@orcl

[oracle@OLE1 ~]$ sqlplus scott/tiger@192.168.244.128:1521/orcl

[oracle@OLE1 ~]$ sqlplus scott/tiger@//192.168.244.128:1521/orcl

[oracle@OLE1 ~]$ sqlplus "scott/tiger@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ole1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)))"

请参阅链接中的说明:https ://stackoverflow.com/a/45064809/6332029

谢谢!

于 2017-07-13T07:10:17.887 回答
1

简单的方法(使用 XE):

1)。配置您的 tnsnames.ora

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = HOST.DOMAIN.COM)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

您可以将 HOST.DOMAIN.COM 替换为 IP 地址,默认情况下 TCP 端口是 1521(检查一下),看看这个配置的名称是 XE

2)。使用名为 sqlplus 的应用程序:

sqlplus SYSTEM@XE

SYSTEM应替换为授权的USER,并在出现提示时输入您的密码

3)。查看防火墙以了解某些被阻止的 TCP 端口的任何可能性,并在出现时修复它

于 2014-04-01T19:38:31.567 回答
0

如果你想连接oracle数据库

  1. 打开 sql 提示符
  2. 与 sysdba 连接 XE-conn / as sysdba for IE-conn sys as sysdba
  3. 然后通过以下命令启动数据库;

一旦它启动意味着您现在可以访问 oracle 数据库。如果你想连接另一个用户,你可以写 conn 用户名/密码,例如 conn scott/tiger;它将显示已连接......

于 2013-04-06T08:25:09.853 回答
0

会是这样的

sqlplus -s /nolog  <<-!
connect ${ORACLE_UID}/${ORACLE_PWD}@${ORACLE_DB};
whenever sqlerror exit sql.sqlcode;
set pagesize 0;
set linesize 150;
spool <query_output.dat> APPEND
@$<input_query.dat>
spool off;
exit;
!

这里

ORACLE_UID=<user name>
ORACLE_PWD=<password>
ORACLE_DB=//<host>:<port>/<DB name>
于 2017-03-08T20:52:10.140 回答
0

正如大卫奥尔德里奇解释的那样,你的括号应该在 sqlplus 命令之后开始,所以它应该是:

sqlplus 'test/test@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname.com )(PORT=1521)))(CONNECT_DATA=(SID=mysid))'

于 2017-02-06T14:04:23.793 回答
0
tnsping xe --if you have installed express edition
tnsping orcl --or if you have installed enterprise or standard edition then try to run
--if you get a response with your description then you will write the below command
sqlplus  --this will prompt for user
hr --user that you have created or use system
password --inputted at the time of user creation for hr, or put the password given at the time of setup for system user
hope this will connect if db run at your localhost.
--if db host in a remote host then you must use tns name for our example orcl or xe
try this to connect remote
hr/pass...@orcl or hr/pass...@xe --based on what edition you have installed
于 2016-11-05T16:57:05.577 回答