0

我有一台机器 A,上面有数据库服务器。我有一台机器 B,上面安装了 Oracle 客户端。

我通过添加以下内容修改了机器 B 中的 tnsnames.ora 文件:

  TRIAL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = machineName.example.com)(PORT = 1521)(QUEUESIZE=100))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = Trial1.world)
    )
  )

但是,我无法sqlplus name/pwd@trial as sysdba在机器 B 上成功运行命令。它会抛出一个错误,指出“权限不足”。是否需要对机器 A 上的 sqlnet.ora 或 tnsnames.ora 文件进行任何修改?

4

1 回答 1

1

为了能够以 sysdba 身份远程连接,您需要将该系统权限授予需要执行此操作的用户。

grant sysdba to name;

从现在开始,您可以使用sqlplus name/pwd@trial1 as sysdba. 该名称是您连接到的数据库中定义的用户名,无论您从哪个操作系统帐户连接或从哪台机器连接,只要可以建立连接即可。

剩下的问题是:您是否需要在该数据库中作为 sysdba 工作。除非您知道自己在做什么,否则不要这样做。实际上,您作为目录的所有者 SYS 工作。最轻微的拼写错误都会使您的数据库像渡渡鸟一样死掉。

对于大多数人来说,即使是普通的 dba 帐户也已经太多了。尽快创建一个常规帐户,为其提供所需的权限并使用该帐户来完成您的工作。所需权限是完成工作所需的最低权限(创建会话、创建表、创建过程等(几乎肯定不是 dba))

于 2014-06-17T09:22:58.380 回答