
正文
oracle权限怎么开 oracle怎么授权
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle数据库怎么创建用户和权限?
首先去下载oracleclient客户端工具
小编这里已经下载的有了oracle权限怎么开,目录结构如下所示
请点击输入图片描述
打开PLSQL,点取消进去,然后弹出PLSQL主界面,找到菜单栏的tools选择属性preferences进去
请点击输入图片描述
请点击输入图片描述
请点击输入图片描述
弹出如下界面,配置oracleclient
配置好两个设置项,点apply,然后点ok,关闭PLSQL,重启PLSQL
请点击输入图片描述
上边的两个填写项就是第一步中的目录,以及目录下的一个文件
如下图所示,在哪个目录就对应的去找就可以了。
请点击输入图片描述
重启PLSQL进入到登录界面,输入相关信息,用户名密码,以及连接信息
连接信息oracle权限怎么开:可以是ip:1521/实例名
也可以是network/admin目录下的tnsname.ora中配置的TNS别名。
请点击输入图片描述
连接进去成功之后
可以随便写一个语句查查,是否正常
select * from dual;
请点击输入图片描述
相关问答
Q1: 关于ORACLE的权限赋予问题
我们经常谈及Oracle的权限 比如Connect DBA resource sysdba select any table select_catelog_role这样一些权限 让我们眼花缭乱的 那么如何来区分这些种类繁多的privilege中不至于眼迷离呢 这个文章将会对你在这方面的了解起到帮助
以上我们看到的这些权限 都是可以通过grant语句来进行权限赋予 同时也可以用过revoke来进行权限收回的操作的 但是 oracle权限怎么开他们虽然都在grant里出现 但是有各自有着本质的不同
oracle里的权限有两种权限 系统权限和对象权限 所谓系统权限 就是oracle里已经hardcode写死的权限 这些权限 我们是不能自己去扩展的 比如上面提到的select any table create any table create table等 这里的权限已经在oracle里全部规定好了
我们可以通过查看system_privilege_map这个数据字典表来查看所以的oracle系统内置的权限
SQL select * from system_privilege_map;
PRIVILEGE NAME PROPERTY
ALTER SYSTEM
AUDIT SYSTEM
CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
这里就是所有的内置的系统权限了 其实如果有开发过权限系统的经验的话 对这里的这个概念 可以理解为function permission 也就是你可以进行哪些操作
这里特别提到一个另外的知识点 有网游朋友问过我 create any table和create table有什么区别 create table只能老老实实的给自己的scheam创建表 而不能以create table otherschema tablename这样的方式给其oracle权限怎么开他的schema创建表 额外提到这点 有很多朋友这块还是模糊的
oracle通过数据字典表dba_sys_privs这个表来记录user被赋予的系统权限 比如
我们现在执行
SQLgrant select any table to test ; 把select any table的权限赋予test 这个用户
Grant succeeded
SQL select * from dba_sys_privs where grantee = TEST ;
GRANTEE PRIVILEGE ADMIN_OPTION
TEST SELECT ANY TABLE NO
这里就可以查询到这个记录了 admin_option表示的是是否有把当前这个系统权限grant给其他用户的意思 yes 表示test 除了自己有这个权限 还可以把这个权限赋予其他用户 N就是没有grant的权限了
我们可以用一下语句试试
SQL grant select any table to test with admin option;
Grant succeeded
在来看看刚才的记录
GRANTEE PRIVILEGE ADMIN_OPTION
TEST SELECT ANY TABLE YES
现在test 就可以赋予select any table给别的用户了
下面我们看看object permission 其实这里已经名字就可以区分开了 这里是针对于特定的对象的权限 上面的系统权限是限定了可以操作的功能 而object permission就更细化了 具体到了莫个对象你可以操作的功能的权限
比如 A用户建立了一个TableA表 现在为了让B用户可以看到A这个对象 我们就可以把A table的select权限 进行赋予 这里的A table上的select权限就是一个对象权限
除了select 还有update delete insert alter drop index references这样正对于对象的权限
除了可以给表对象指定对象权限外 view sequence procedure function package triggger MV等这些oracle里的对象都可以进行对象的权限指定
对于对象权限来说 由于对象权限完全是动态的 在对一个对象进行grant的时候 才能看到具体的对象权限 所以对象权限是不像system privilege那样有一个表来描述的 只有一个表来记录用户和这个用户对于的对象权限的关系表 这个表就是dba_tab_privs;
这里这个名字比较容易让人误会为只有table的对象权限 其实不然 这里其他类型的对象的对象权限也会记录进来
实验一下 还是刚才的test 用户 我现在把对象dbms_xplan的execute的权限给他 dbms_xplan这个有些朋友可能不熟悉 这是执行计划有关的一个对象 朋友们如果没有安装执行计划的包 可以用dbms_output对象做实验
SQLgrant execute on dbms_xplan to test ;
SQLgrant execute on dbms_output to test ;
SQL select * from dba_tab_privs where grantee = TEST ;
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
TEST SYS DBMS_XPLAN SYS EXECUTE NO NO
TEST SYS DBMS_OUTPUT SYS EXECUTE
这里注意和fuanction 不同的 这里有一个GRANTABLE的字段 意味和上面admin option一样的作用
不过这里的sql不同了
SQLgrant execute on dbms_xplan to test with grant option;
这里是oracle里的权限了
不过有的人可能会问道 咦 你是不是漏掉了 不是我们还可以
grant connect resource dba to username;吗 那她们都是什么权限呀
在这里就要注意了 这里的connct resource dba都不是权限 而是一个role 角色 一个角色是 个或者多个系统权限或者对象权限的集合 是便于我们管理用户赋权而演化而来的 这里的create role和赋予role权限我们就不详谈了 朋友们可以自己查一查相关资料 role是我们可以动态建立的 建立的role可以用grant来赋予权限 或者把一个role赋予另一个role
我们可以通过dba_roles这个表来查询系统里所有的role
SQL select * from dba_roles;
ROLE PASSWORD_REQUIRED
CONNECT NO
RESOURCE NO
DBA NO
SELECT_CATALOG_ROLE NO
EXECUTE_CATALOG_ROLE NO
DELETE_CATALOG_ROLE NO
我们可以把role的赋予一个用户
比如
SQLgrant select_catalog_role to test ;
我们可以通过dba_role_privs来查询相关用户的role的赋予 比如
SQL select * from dba_role_privs where grantee = TEST ;
lishixinzhi/Article/program/Oracle/201311/16827
Q2: ORACLE中怎么设置SEQUENCE权限?
ORACLE中怎么设置SEQUENCE权限步骤如下:
1、Create Sequence
首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。
创建语句如下:
CREATE SEQUENCE seqTest
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
2、得到Sequence值
定义好sequence后,你就可以用currVal,nextVal取得值。
CurrVal:返回 sequence的当前值
NextVal:增加sequence的值,然后返回 增加后sequence值
得到值语句如下:
SELECT Sequence名称.CurrVal FROM DUAL;
如得到上边创建Sequence值的语句为:
select seqtest.currval from dual
在Sql语句中可以使用sequence的地方:
- 不包含子查询、snapshot、VIEW的 SELECT 语句
- INSERT语句的子查询中
- INSERT语句的values中
- UPDATE 的 SET中
如在插入语句中
insert into 表名(id,name)values(seqtest.Nextval,'sequence 插入测试');
3、Alter Sequence
拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create。
4、Drop Sequence
DROP SEQUENCE seqTest;
5、一个例子
create or replace trigger tri_test_id
before insert on S_Depart --S_Depart 是表名
for each row
declare
nextid number;
begin
IF :new.DepartId IS NULLor :new.DepartId=0 THEN --DepartId是列名
select SEQ_ID.nextval --SEQ_ID正是刚才创建的
into nextid
from sys.dual;
:new.DepartId:=nextid;
end if;
end tri_test_id;
Q3: 赋予oracle数据库中某一用户表权限的问题
开通其中2张表的查询权限,方法如下:
grant select on bas_checkcycle to jdc;这个是整个语句。
语句分析:
grant select on bas_checkcycle to jdc;
这个颜色为执行语句。
这个颜色是数据表。
这个颜色是用户;就是需要权限的用户。
下面这个是查看,更新,删除,增加的权限都开启。
grant select,update,delete,insert on UserTagPool to [app_webservice];
grant select,update,delete,insert on UserTagPoolMap to [app_webservice];
扩展资料
Oracle权限管理
权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
Q4: Oracle用户权限表的管理方法
oracle权限怎么开我们将通过介绍命令的方式 谈谈Oracle用户权限表的管理方法 希望对大家有所帮助
oracle权限怎么开我们将从创建Oracle用户权限表 开始谈起 然后讲解登陆等一般性动作 使大家对Oracle用户权限表有个深入的oracle权限怎么开了解
一 创建
sys;//系统管理员 拥有最高权限
system;//本地管理员 次高权限
scott;//普通用户 密码默认为tiger 默认未解锁
sys;//系统管理员 拥有最高权限
system;//本地管理员 次高权限
scott;//普通用户 密码默认为tiger 默认未解锁
二 登陆
sqlplus / as sysdba;//登陆sys帐户
sqlplus sys as sysdba;//同上
sqlplus scott/tiger;//登陆普通用户scott
sqlplus / as sysdba;//登陆sys帐户
sqlplus sys as sysdba;//同上
sqlplus scott/tiger;//登陆普通用户scott
三 管理用户
create user zhangsan;//在管理员帐户下 创建用户zhangsan
alert user scott identified by tiger;//修改密码
create user zhangsan;//在管理员帐户下 创建用户zhangsan
alert user scott identified by tiger;//修改密码
四 授予权限
默认的普通用户scott默认未 解锁 不能进行那个使用 新建的用户也没有任何权限 必须授予权限
/*管理员授权*/
grant create session to zhangsan;//授予zhangsan用户创建session的权限 即登陆权限
grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限
grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan;//授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant all to public;//这条比较重要 授予所有权限(all)给所有用户(public)
/*管理员授权*/
grant create session to zhangsan;//授予zhangsan用户创建session的权限 即登陆权限
grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限
grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan;//授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant all to public;//这条比较重要 授予所有权限(all)给所有用户(public)
oralce对权限管理比较严谨 普通用户 之间也是默认不能互相访问的 需要互相授权
/*oralce对权限管理比较严谨 普通用户之间也是默认不能互相访问的*/
grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限
grant drop on tablename to zhangsan;//授予删除表的权限
grant insert on tablename to zhangsan;//授予插入的权限
grant update on tablename to zhangsan;//授予修改表的权限
grant insert(id) on tablename to zhangsan;
grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限 注意 只能是insert和update
grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限
/*oralce对权限管理比较 严谨 普通用户之间也是默认不能互相访问的*/
grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限
grant drop on tablename to zhangsan;//授予删除表的权限
grant insert on tablename to zhangsan;//授予插入的权限
grant update on tablename to zhangsan;//授予修改表的权限
grant insert(id) on tablename to zhangsan;
grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限 注意 只能是insert和update
grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限
五 撤销权限
基本语法同grant 关键字为revoke
基本语法同grant 关键字为revoke
六 查看权限
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
七 操作表的用户的表
/*需要在表名前加上用户名 如下*/
select * from zhangsan tablename
/*需要在表名前加上用户名 如下*/
select * from zhangsan tablename
八 权限传递
即用户A将权限授予B B可以将操作的权限再授予C 命令如下
grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似
grant alert table on tablename to zhangsan with admin option;//关键字 with admin option
grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似
九 角色
角色即权限的集 合 可以把一个角色授予给用户
create role myrole;//创建角色
grant create session to myrole;//将创建session的权限授予myrole
grant myrole to zhangsan;//授予zhangsan用户myrole的角色
drop role myrole;删除角色
/*但是有些权限是不能授予给角色的 比如unlimited tablespace和any关键字*/
lishixinzhi/Article/program/Oracle/201311/17543
oracle权限怎么开的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle怎么授权、oracle权限怎么开的信息别忘了在本站进行查找喔。





