平平庸庸

用户sql (给自己看)

上一篇 / 下一篇  2009-10-30 16:09:57 / 个人分类:随便写写

创建用户

 create user 用户名 identified by 密码 default tablespace 表空间名 ;(temp表空间使用默认)

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;

 

7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

select * from V$PWFILE_USERS

8、看当前SCHEME下的所有表的名字

SELECT TALBE_NAMES FROM USER_TALBES;

9、如果想看被删除表的详细点的内容,可用
SQL>
SHOW RECYCLEBIN; --这句在SQL*PLUS内可用,但PL/SQL DEV中显示不出内容,不知道怎么会事
或着
SQL>
SELECT ORIGINAL_NAME,OBJECT_NAME,TYPE,DROPTIME FROM USER_RECYCLEBIN;

10、看被删除表的结构

DESC "BIN$Z2ptJ6PcRk6mJbM/0BmmAg==$0"; 

11、删除recyclebin中的对象

我们用PURGE,语句PURGE TABLE "TABLE_NAME";
注:双引不要忘记,对RECYCLEBIN中对象操作都要有" "。

如上例,则:
SQL>purge table "BIN$6qAKR9ljQo+l+1gDCV8xCQ==$0";

SQL>PURGE RECYCLEBIN;--可以清空RECYCLEBIN;


12、恢复recyclebin中的对象

我们用FLASHBACK,中文名"闪回"
语句FLASHBACK TABLE [已删除TABLE名|"RECYCLEBIN中的名字"] TO BEFORE DROP;

如上例,则:
SQL>FLASHBACK TABLE FOO TO BEFORE DROP;
闪回完成。

但当你在RECYCLEBIN内有2张相同名字的表时候,只有通过
"RECYCLEBIN中的名字"来闪回指定的表,用上面方法只闪回第一个被删除的同名表。


TAG:

 

评分:0

我来说两句

Open Toolbar