错误 ORA-12162:安装 sqlplus 后在 Ubuntu 18.04 上错误指定了 TNS:net 服务名称

问题描述

这是我第一次与数据库sqlplus 交互,但我正在大学学习一个名为数据库主题,我们被告知在没有进一步帮助的情况下安装 sqlplus 并“键入 sqlplus使用用户 SYS 和我们在安装过程中选择的密码”,所以我按照这里描述的过程将它安装在我的 Ubuntu 18.04 计算机上,在这里https://askubuntu.com/questions/159939/how-to-install-sqlplus 的投票问题中,一切都很好,除了我没有被要求输入密码,当我尝试教授给我的指令时(用用户 SYS 输入 sqlplus),我收到错误 ORA-12162:TNS:net 服务名称指定不正确。

阅读了很长时间后,我得出结论,我应该导出我的 SID,我导出了这里描述的那个:http://www.dba-oracle.com/t_ora_12162_tns_net_service_name.htm

ORACLE_HOME=/u01/oracle; export ORACLE_HOME
ORACLE_SID=asdb; export ORACLE_SID

但这也不起作用,我读到我应该导出我的 SIDE,我试图通过写作找到

sqlplus \nolog
SELECT instance FROM v$thread;

但后来我得到 SP2-0640:未连接,所以当我的教授要求我们输入 sqlplus(我认为是连接到我自己的数据库是我在安装 sqlplus 时安装的,但我不确定)以及为什么不起作用。

当我将整个问题暴露给我的教授时,他将作业的截止时间延长了一天,但仅此而已。

解决方法

这个场景有几个问题:

  1. sqlplus 只是一个客户端工具,而不是数据库本身。您的教授应该为您提供对预先配置的数据库的网络访问,以及有关如何配置客户端 tnsnames.ora 和 sqlnet.ora 文件的说明,或者他们应该更具体地告诉您在本地安装 Oracle 数据库在您的系统上,而不仅仅是 sqlplus。

  2. Oracle 产品在 Ubuntu 上不受支持(不管有人怎么说破解安装工作)。如果您想获得预期的结果,您必须使用 Red Hat、Oracle Linux 或 SuSE。

如果您可以在受支持的操作系统上安装 Oracle 数据库,您将可以选择在安装结束时创建您的第一个数据库。完成后,导出 ORACLE_HOME 和 ORACLE_SID 的过程基本正确。应在安装和创建数据库期间设置 ORACLE_HOME 和 ORACLE_SID 的确切值。

export ORACLE_HOME=/u01/oracle/product/db_1
export ORACLE_SID=orcl
sqlplus /nolog
SQL> connect sys as sysdba

OR

SQL> connect / as sysdba