Chinaunix
标题:
如何知道我(oracle中的 account)当前有哪些权限,比如select/update?
[打印本页]
作者:
TOADLover
时间:
2009-07-31 10:25
标题:
如何知道我(oracle中的 account)当前有哪些权限,比如select/update?
如何知道我(oracle中的 account)当前有哪些权限,比如select/update?
我的DBA给我在Oracle 9i中建立了一个账户,我用该账号登录后,如何查看我有哪些权限?
我分别用
select object_name, object_type from user_objects
和
select table_name from user_tables
结果都为空,什么都没有显示,这是不是说明我没有select的权限?
[
本帖最后由 TOADLover 于 2009-7-31 10:40 编辑
]
作者:
ziggler
时间:
2009-07-31 10:25
标题:
回复 #1 TOADLover 的帖子
[url]http://junmail.javaeye.com/blog/135331[/url]
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.查看角色所包含的权限
sql>select * 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;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
[[i] 本帖最后由 ziggler 于 2009-7-31 13:08 编辑 [/i]]
作者:
TOADLover
时间:
2009-07-31 10:26
知道的兄弟们快点来,我结贴很快的!
作者:
TOADLover
时间:
2009-07-31 10:28
@山野村夫,
在吗?
嗯,我是TOAD连上Oracle的,并且使用了图形界面的Find Object按钮的功能,结果找不到任何对象
作者:
TOADLover
时间:
2009-07-31 10:30
嗯,我如何知道我连上的数据库(oracle)的版本?
-----------------
select * from v$version
-----------------
select * from v$instance--我的账号对该视图没有权限,我看不到该视图,其他两个都可以
-----------------
select * from product_component_version
-----------------
[
本帖最后由 TOADLover 于 2009-7-31 10:44 编辑
]
作者:
TOADLover
时间:
2009-07-31 10:40
如何知道我(oracle中的 account)当前有哪些权限,比如select/update?
作者:
TOADLover
时间:
2009-07-31 10:49
这个问题也很难?
怎么没人答?
焦急。。。。
作者:
TOADLover
时间:
2009-07-31 12:28
select object_name, object_type from user_objects
select table_name from user_tables
--------------
以上只能查看自己建立的对象
desc all_tables
select table_name from all_tables
all_tables才是描述当前用户的所有对象
-------------
作者:
山野村夫
时间:
2009-07-31 12:29
标题:
回复 #3 TOADLover 的帖子
看8楼,
另外TOAD图形界面用户管理可以直接看到
作者:
TOADLover
时间:
2009-07-31 12:31
select privilege from dba_sys_privs where grantee='DATAUSER'
union
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='DATAUSER' );
-----------------
这种用户只能以sys用户查看,可是我当前只是一个普通用户,我想知道自己有哪些权限,好像做不到????????
作者:
TOADLover
时间:
2009-07-31 12:37
标题:
回复 #9 山野村夫 的帖子
我看了ziggler给出的链接,
嗯,
select * from all_tab_privs
这个是可以用来查看现有系统中的所有对象的权限。
select * from user_tab_privs
这个只能用来查看自己用当前账号建立对象的权限。
select * from user_role_privs
这个可以用来查看自己的username和被赋的角色。
select * from user_sys_privs
这个可以用来查看自己的username和系统级权限。
select * from user_users
看当前用户
default tablespace
和
tempory tablespace
和
account_status
和
expiry_date
.
---------
我自己发现
select object_name, object_type from all_objects
这个也挺好用
[
本帖最后由 TOADLover 于 2009-7-31 12:58 编辑
]
作者:
TOADLover
时间:
2009-07-31 12:56
标题:
回复 #9 山野村夫 的帖子
TOAD中直接可以看到?
在哪里?
作者:
山野村夫
时间:
2009-07-31 13:19
标题:
回复 #12 TOADLover 的帖子
用户管理
作者:
TOADLover
时间:
2009-07-31 13:28
我怎么找不到这个菜单在哪里?
temp.PNG
(1.87 KB, 下载次数: 30)
下载附件
2009-07-31 13:29 上传
作者:
TOADLover
时间:
2009-07-31 14:16
trunc
这个函数怎么用的?
作者:
TOADLover
时间:
2009-07-31 14:18
TRUNC函数为指定元素而截去的日期值。
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
下面是该函数的使用情况:
TRUNC(TO_DATE('24-Nov-1999 08:00 pm','dd-mon-yyyy hh:mi am'))-----
这里还是不明白
='24-Nov-1999 12:00:00 am'
TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am','hh')) ='24-Nov-1999 08:00:00 am'
2.TRUNC(for number)
TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。
其具体的语法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分
下面是该函数的使用情况:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2