我刚刚在windows 7机器上安装了Oracle 11g R2。我可以使用我的sys作为sysdba帐户登录。
使用sys帐户创建了一个用户,如下所示
create user testuser identified by testuser;
当我尝试以正常用户testuser连接数据库时,它说'用户testuser缺乏CREATE SESSION权限;这是可以理解的,因为到目前为止我还没有授予testuser任何权限。
但是当我尝试使用testuser作为sysdba登录数据库时,它允许我连接到数据库,并且所选择的模式对我来说似乎是SYS模式。
是否有一些我错过了,因为我认为用户testuser不应该能够甚至登录更不用说登录到SYS模式。我还发现我可以用sysdba连接任何用户名,不管它是否存在于数据库中。
如何创建一个普通的oracle用户,该用户不能访问任何其他模式?
您的windows用户属于dba组(oradba)。使用Windows认证方式连接as sysdba
。查看AskTom:
"as sysdba"功能非常强大,它使用OS身份验证,确实如此不需要数据库身份验证(在此之前用于登录)是"数据库"还是"实例"!)
作为dba组的成员,您可以使用任何数据库用户登录as sysdba
。sqlplus / as sysdba
.
我通常是这样创建一个新用户的:
create user &2 .由&默认表空间&临时表空间&4;
grant connect, resource to &1;
**了解情况;还包括其他默认权限,如"create…":序列、同义词、表、视图、数据库链接select_catalog_role等