日安。如果我使用sqlplus user/oracle@db,我就可以成功地连接到db。
如果我使用sqlplus user/oracle@db as sysdba,我会得到错误ORA-01017。
但是在服务器端,这个命令可以成功执行。
我的tnsnames.ora:
db =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.175)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)而且我也不能做sqlplus /@db as sysdba。在sqlplus user@db as sysdba之后,我输入了一个密码,也出现了这个错误。在服务器上,这是没有错误的执行。有什么问题吗?
Oracle VirtualBox与Win2008、Oracle 12c
发布于 2016-12-01 03:06:47
只有在被授予权限的情况下,才能使用as sysdba。跑
GRANT SYSDBA TO user;为了实现这一点。
不可能从远程机器进行sqlplus /@db as sysdba -这将打开数据库到整个世界,在那里每个人都可以使用SYSDBA权限连接,而不需要任何密码!
只允许从本地计算机使用sqlplus /@db as sysdba,因为在本地计算机上您已经(通常)以操作系统用户"oracle“的身份进行了身份验证。
发布于 2016-12-01 18:54:14
完全可以从远程计算机以SYSDBA身份连接,就像您所做的那样:指定一个密码,并且不依赖于操作系统身份验证机制(在这样的远程身份验证过程中不涉及有效的系统身份验证)。
只需要激活密码文件机制(默认情况下是禁用的)。
为此,请将参数remote_login_passwordfile的值更改为shared或exclusive。如果它是shared,则它适用于在该计算机上运行的所有数据库,并且只能包含SYS用户(而如果它是exclusive,则它可以包含任何用户,其范围是目标数据库)。
重要提示:只有在启用密码文件并授予用户SYSDBA或sysoper权限后,才会将用户添加到密码文件中;即不会自动添加预先存在的用户(!),您必须为他们重新授予SYSDBA或SYSOPER角色。
最后,此视图允许您查看密码文件的逻辑内容
select * from v$pwfile_users;有关更多详细信息,请参阅Creating and Maintaining a Password File。
https://stackoverflow.com/questions/40896126
复制相似问题