网站建设资讯

NEWS

网站建设资讯

如何进入oracle权限,oracle系统权限有哪些

oracle权限

Oracle的操作系统身份认证

创新互联公司是专业的上高网站建设公司,上高接单;提供成都做网站、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行上高网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

oraclelogin数据库远程登录authenticationos

sqlnet.authentication_services=(NTS),在$ORACLE_HOME/network/admin/sqlnet.ora中

NTS特指的是windows系统,或者设为all,这两种情况都允许操作系统认证。

如果在unix下如果没有设置sqlnet.authentication_services,默认就是操作系统认证!或者设为all也允许操作系统认证。

参数SQLNET.AUTHENTICATION_SERVICES= (NONE,NTS)表明用户连接Oracle服务器时使用哪种验证方式

NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用。

数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证;登录方式有两种,一种是在数据库主机直接登录(用os认证的方式),一种是通过网络远程登录;需要设置的参数有两个,一个是SQLNET.AUTHENTICATION_SERVICES,一个是REMOTE_LOGIN_PASSWORDFILE。

os认证:如果启用了os认证,以sysdba登录,那么我们只要用oracle软件的安装用户就能登录:sqlplus “/ as sysdba”。如果我们要禁用os认证,只利用密码文件登录,我们首先要有一个密码文件:

orapwd file=C:/oracle/product/10.2.0/db_1/database/PWDoralocal.ora password=maximo entries=10;

然后我们要把$ORACLE_HOME/network/admin/sqlnet.ora中设置:

SQLNET.AUTHENTICATION_SERVICES= none

注意一下,密码文件只在数据库启动的时候加载进去,一旦加载进去,密码文件就脱离了oracle管理,所以我们用orapwd新建密码文件后,里面指定的密码要在数据重启后才能生效:

至此,我们已经实现不用os认证(sqlplus “/ as sysdba”的方式登录不了)。那么我们怎么限制网络方面利用sysdba远程登录呢?我们可以设置初始化文件中的REMOTE_LOGIN_PASSWORDFILE=none。

注意,当REMOTE_LOGIN_PASSWORDFILE=none时,这个参数生效需要重启数据库,并且,一旦启用这个参数,将使用操作系统认证,不使用口令文件。因此如果REMOTE_LOGIN_PASSWORDFILE=none且SQLNET.AUTHENTICATION_SERVICES= none这个时候数据库是无法登录的。

alter system set REMOTE_LOGIN_PASSWORDFILE=none scope=spfile;

(1)REMOTE_LOGIN_PASSWORDFILE=none且SQLNET.AUTHENTICATION_SERVICES= none:

oracle安装用户本地sqlplus “/ as sysdba”无法登录

非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”无法登录

非oracle安装用户远程sqlplus “/ as sysdba_on_install@sid as sysdba”无法登录

(2)REMOTE_LOGIN_PASSWORDFILE=exclusive且SQLNET.AUTHENTICATION_SERVICES= none:

oracle安装用户本地sqlplus “/ as sysdba”无法登录

非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”能登录

非oracle安装用户远程sqlplus “/ as sysdba_on_install@sid as sysdba”能登录

(3)REMOTE_LOGIN_PASSWORDFILE=none且SQLNET.AUTHENTICATION_SERVICES= (NTS):

oracle安装用户本地sqlplus “/ as sysdba”能登录

非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”无法登录

非oracle安装用户远程sqlplus “/ as sysdba_on_install@sid as sysdba”无法登录

(4)REMOTE_LOGIN_PASSWORDFILE=exclusive且SQLNET.AUTHENTICATION_SERVICES= (NTS):

oracle安装用户本地sqlplus “/ as sysdba”能登录

非oracle安装用户本机sqlplus “sys/change_on_install as sysdba”能登录

非oracle安装用户远程sqlplus “/ as sysdba_on_install@sid as sysdba”能登录

Oracle REMOTE_LOGIN_PASSWORDFILE 参数

设置初始化参数 REMOTE_LOGIN_PASSWORDFILE :

在 Oracle 数据库实例的初始化参数文件中,此参数控制着密码文件的使用及其状态。它可以有以下几个选项:

1、NONE :指示 Oracle 系统不使用密码文件,特权用户的登录通过操作系统进行身份验证;

2、EXCLUSIVE :指示只有一个数据库实例可以使用此密码文件。只有在此设置下的密码文件可以包含有除 SYS 以外的用户信息,即允许将系统权限 SYSOPER /SYSDBA 授予除 SYS 以外的其他用户。此设置oracle 9i中为缺省值。有朋友说是shared,其实不然.

3、SHARED :指示可有多个数据库实例可以使用此密码文件。在此设置下只有 SYS 帐号能被密码文件识别,即使文件中存有其他用户的信息,也不允许他们以 SYSOPER /SYSDBA 的权限登录。

---- 在 REMOTE_LOGIN_PASSWORDFILE 参数设置为 EXCLUSIVE 、 SHARED 情况下, Oracle 系统搜索密码文件的次序为:在系统注册库中查找 ORA_SID_PWFILE 参数值(它为密码文件的全路径名);若未找到,则查找 ORA_PWFILE 参数值;若仍未找到,则使用缺省值 ORACLE_HOME/DATABASE/PWDSID.ORA ;其中的 SID 代表相应的 Oracle 数据库系统标识符。

总结

$ORACLE_HOME/network/admin/sqlnet.ora中的AUTHENTICATION_SERVICES参数:

1、在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证。

2、在linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;设置为其他任何值都不能使用OS认证。

spfile中的REMOTE_LOGIN_PASSWORDFILE参数:

1、值为exclusive时,远程能作为sysdba身份登录

2、值为none时,以sysdba身份无法登录

怎么样去了解Oracle用户和权限

"ORACLE数据字典视图的种类分别为:USER,ALL 和 DBA.

USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息

ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上

其他用户创建的对象但该用户有权访问的信息

DBA_*:有关整个数据库中对象的信息

(这里的*可以为TABLES,INDEXES,OBJECTS,USERS等。)

1、查看所有用户

select * from dba_user;

select * from all_users;

select * from user_users;

2、查看用户系统权限

select * from dba_sys_privs;

select * from all_sys_privs;

select * from user_sys_privs;

3、查看用户对象权限

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

4、查看所有角色

select * from dba_roles;

5、查看用户所拥有的角色

select * from dba_role_privs;

select * from user_role_privs;

6、查看当前用户的缺省表空间

select username,default_tablespace from user_users;

7、查看某个角色的具体权限

如grant connect,resource,create session,create view to TEST;

8、查看RESOURCE具有那些权限

用SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE

"

如何查看oracle用户具有的权限和角色?

1.查看所有用户:

select * from dba_users;

select * from all_users;

select * from user_users;

2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):

select * from dba_sys_privs;

select * from user_sys_privs;

3.查看角色(只能查看登陆用户拥有的角色)所包含的权限

sqlselect * from role_sys_privs;

4.查看用户对象权限:

select * from dba_tab_privs;

select * from all_tab_privs;

select * from user_tab_privs;

5.查看所有角色:

select * from dba_roles;

Oracle 权限的几种操作/管理方法

先登陆拥有赋权限的用户(管理员或对象拥有者,管理员赋管理权限,拥有者赋对象权限) //前提:需当前登陆的是EMP表的拥有者 //将EMP表的选择权限赋给用户abc grant select on emp to abc grand all on emp to abc--赋EMP表的所有权限 //对象继承赋予,即父传子,子可传孙 //下面的语句可使abc拥有EMP表的权限并可以转传他人 //如果是对象权限 grant all on emp to abc with grant option //如果是系统限权 grant connect to abc with admin option //权限回收(一样是要登陆拥有者进行操作)

如何以管理员的身份登录oracle 与SqlServer?

sqlserver不常用,就先回答一下oracle的吧\x0d\x0a首先你的remote_login_passwordfile应该是exclusive,这样才能够赋予其它用户管理员权限sysdba和sysoper,也就是说这个用户首先要得到管理员的权限,才能以管理员的身份登录,默认的oracle中sys用户就是具有管理员身份的唯一用户,其它的都是后来添加的。\x0d\x0a比如现在有个用户abc,首先要给它管理员的权限(赋权的这个用户当然要有给其它用户赋予管理员权限的权限) grant sysdba to abc;\x0d\x0a然后用sysdba权限登录sqlplus:sqlplus “abc/abc的口令 as sysdba"\x0d\x0a这样abc用户就以管理员的身份登录oracle了


文章名称:如何进入oracle权限,oracle系统权限有哪些
本文来源:http://njwzjz.com/article/dscsdsi.html