无需用户名和密码即可登录Oracle数据库

无需用户名和密码即可登录Oracle数据库

我想通过从 Unix 脚本运行 SQL 文件来登录数据库,而无需提供用户名和密码(以 root 身份)。这可能吗?

数据库是Oracle。

答案1

您可以将数据库用户定义为经过操作系统认证的用户。Tim Hall 的 Oracle_Base站点上有关于如何执行此操作的很好的入门指南。您不需要允许人们使用 SYSDBA 权限登录,否则将导致灾难。

答案2

如果您的用户属于 oracle 组,他可以以 SYSDBA 身份连接。

Unix 环境下的示例:

$ export ORACLE_SID=MYDB
$ sqlplus /nolog

SQL*Plus: Release...

SP2-0640: Not connected
sql> connect / as sysdba
Connected

SQL> select * from scott.employees ;

对于一批来说,这可能有点过度了(除了您拥有搞砸数据库的所有权限之外)。

然而据我所知,这是唯一的选择。

更新 根据 DCookie 的回答,这不是唯一的方法。正如我已经提到并由 DCookie 强调的那样,这是一条非常危险的道路。

答案3

启动 SQL*Plus 时,您需要用户名和密码才能登录 Oracle 数据库模式。您的用户名和密码表明您是 Oracle 数据库模式的授权用户。

数据库管理员 (DBA) 负责创建具有必要权限的数据库帐户,并为您提供使您能够访问帐户的用户名和密码。

答案4

如果使用 PostgreSQL,那么您可以在“pg_hba.conf”文件中为本地主机网络指定“信任”方法。对于 MySQL 可能有类似的东西,我不确定(如果不是 PostgreSQL,希望这里有熟悉您使用的数据库的人可以提供帮助)。

相关内容