`

Oracle 查看用户,用户权限,用户表空间,用户默认表空间

阅读更多
查看用户和默认表空间的关系。
select username,default_tablespace from dba_users;


1.查看表结构:desc表名

2.查看当前用户的表:

select table_name from user_tables;
3.查看所有用户的表名:

select table_name from all_tables;
4.查看所有表名(其中包括系统表)

select table_name from all_tables;
5.查看所有的表:

select * from tab/dba_tables/dba_objects/cat;
下面介绍Oracle查询用户表空间

◆Oracle查询用户表空间:select * from user_all_tables

◆Oracle查询所有函数和储存过程:select * from user_source

◆Oracle查询所有用户:select * from all_users.select * from dba_users

◆Oracle查看当前用户连接:select * from v$Session

◆Oracle查看当前用户权限:select * from session_privs

◆Oracle查看用户表空间使用情况:

select a.file_id "FileNo",a.tablespace_name

"Tablespace_name",

a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",

sum(nvl(b.bytes,0)) "Free",

sum(nvl(b.bytes,0))/a.bytes*100 "%free"

from dba_data_files a, dba_free_space b

where a.file_id = b .file_id(+)

group by a.tablespace_name ,

a.file_id,a.bytes order by a.tablespace_name;
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 * from role_sys_privs;

  select * from role_tab_privs;

7.查看所有系统权限

  select * from system_privilege_map;

8.查看所有对象权限

  select * from table_privilege_map;

以上是在Oracle中查看用户权限 ,

在DB2中为:

  select * from syscat.dbauth

  或者

  get authorizations


查看sid

  select * from v$instance

1 创建临时表空间
2 Sql代码 
3 create temporary tablespace stbss_tmp  
4 tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'  
5 size 32m  
6 autoextend on  
7 next 32m maxsize 2048m  
8 extent management local; 

10
11 创建数据表空间
12 Sql代码 
13 create tablespace stbss  
14 logging  
15 datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf'  
16 size 32m  
17 autoextend on  
18 next 32m maxsize 2048m  
19 extent management local; 
20

1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为32M
3) UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k
4) 空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m; //手动修改数据文件大小为32M 
21
22 创建用户并指定表空间
23 Sql代码 
24 create user username identified by password  
25 default tablespace stbss 
26 temporary tablespace stbss_tmp;  
27 
28
29 给用户授予权限
30 Sql代码 
31 grant connect,resource to username; 
32 
33  改变用户默认表空间
34 
35 
36 Sql代码 
37 alter user username default tablespace stbss; 
38
  查询用户和表空间之间的关系
select distinct(owner) ,tablespace_name from dba_segments;
39
   向USERS表空间增加一个数据文件:


  SQL> alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M;
  Tablespace altered.
  SQL> select file#,name from v$datafile;
  FILE# NAME
  ---------- --------------------------------------------------
  1 /opt/oracle/oradata/eygle/system01.dbf
  2 /opt/oracle/oradata/eygle/undotbs01.dbf
  3 /opt/oracle/oradata/eygle/sysaux01.dbf
  4 /opt/oracle/oradata/eygle/users01.dbf
  5 /opt/oracle/oradata/eygle/users02.dbf
  5 rows selected.


  确认表空间文件信息:



  SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
  FILE_NAME FILE_ID
  -------------------------------------------------- ----------
  /opt/oracle/oradata/eygle/users02.dbf 5
  /opt/oracle/oradata/eygle/users01.dbf 4


确认表空间未被存储占用:


  SQL> select segment_name,file_id,blocks from dba_extents where file_id=5;
  no rows selected


  删除表空间中的空数据文件:



  SQL> alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf';
  Tablespace altered.


  检查数据字典,这个空文件的信息已经被彻底清除了:



  SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
  FILE_NAME FILE_ID
  -------------------------------------------------- ----------
  /opt/oracle/oradata/eygle/users01.dbf 4



40 以后以该用户登录,创建的任何数据库对象都属于stbss_tmp和stbss表空间,这就不用在每创建一个对象给其指定表空间了
41 
42 删除oracle临时表空间
43  新建一个临时表空间,然后把数据库的默认临时表空间指向新建的这个,等到旧的临时表空间没人用的时候,就可以删除了
44
45 Sql代码 
46 --1:查看数据库的默认临时表空间 
47 select property_name, property_value 
48   from database_properties 
49  where property_name = 'default_temp_tablespace'; 
50  
51 --2:创建一个新的临时表空间temp_xxxx 
52 -----参考上面的创建语句 
53 --3:查看数据库中有哪些临时表空间。 
54 select distinct tablespace_name from dba_temp_files; 
55  
56 --4:把默认临时表空间从temp切换到temp_xxxx 
57 alter database default temporary tablespace temp_xxxx; 
58  
59 --5:再次查看数据库的默认临时表空间 
60 select property_name, property_value 
61   from database_properties 
62  where property_name = 'default_temp_tablespace'; 
63  
64 --6:删除原来的临时表空间 
65 drop tablespace temp; 


删除用户:test
drop user test cascade

删除表空间:
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES

删除表:
delete from users;




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.SqlPlus中查看一个用户所拥有权限
SQL>select * from dba_sys_privs where grantee='username';
其中的username即用户名要大写才行。
比如:
SQL>select * from dba_sys_privs where grantee='TOM';

9、Oracle删除指定用户所有表的方法
select 'Drop table '||table_name||';' from all_tables
where owner='要删除的用户名(注意要大写)';
10、删除用户
drop user user_name cascade;
如:drop user SMCHANNEL CASCADE
11、获取当前用户下所有的表:select table_name from user_tables;
12、删除某用户下所有的表数据: select 'truncate table  ' || table_name from user_tables;
13、禁止外键
ORACLE数据库中的外键约束名都在表user_constraints中可以查到。其中constraint_type='R'表示是外键约束。
启用外键约束的命令为:alter table table_name enable constraint constraint_name
禁用外键约束的命令为:alter table table_name disable constraint constraint_name
然后再用SQL查出数据库中所以外键的约束名:
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
14、ORACLE禁用/启用外键和触发器
--启用脚本
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' ENABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit;
--禁用脚本
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit;

转载原文:
http://shuishiwo.iteye.com/blog/1314119
分享到:
评论

相关推荐

    完整ORACLE创建表空间、用户、设置用户权限脚本

    - **default tablespace**: 设置用户的默认表空间。 - **temporary tablespace**: 设置用户的临时表空间。 #### 三、设置用户权限 为了确保数据库的安全性和数据的一致性,需要对用户进行权限设置。 ``` /*权限*/...

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    当创建新用户时,可以为用户分配默认表空间和临时表空间,以便他们在该表空间中创建对象: ```sql CREATE USER my_user IDENTIFIED BY my_password DEFAULT TABLESPACE MY_DATA TEMPORARY TABLESPACE MY_TEMP; ...

    Oracle用户(user)和表空间(tablespace).pdf

    例如,创建名为 `lhdz_bj` 的用户并设置密码,同时指定默认表空间和临时表空间。一旦用户创建成功,可以使用 `grant` 命令授予相应的权限,如 `connect` 和 `resource` 角色,使用户能够连接数据库并创建与操作对象...

    使用PLSQL 创建Oracle数据库用户并设置权限

    在本例中,我们设置了用户的默认表空间和配额权限。 三、创建表 创建用户并设置权限后,用户就可以创建表了。在 PLSQL Developer 中,我们可以右键单击 "Tables" 文件夹,弹出菜单中选中 "New",然后弹出属性页。...

    Oracle创建表空间、创建用户以及授权、查看权限.doc

    创建用户时可以指定其默认表空间和临时表空间,以便于后续的数据库对象存储。 ```sql CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE TEST_DATA TEMPORARY TABLESPACE TEST_TEMP; ``` - `...

    查看ORACLE用户权限

    下面,我们将根据给定的文件信息,深入探讨如何在Oracle中查看用户权限。 ### 1. 查看所有用户 首先,我们可以通过执行以下SQL语句来查看Oracle数据库中所有的用户: - `SELECT * FROM dba_users;` - `SELECT * ...

    Oracle创建表空间、临时表、用户及用户授权

    在Oracle中,创建用户并为其分配默认表空间和临时表空间的命令如下: ``` create user abstest identified by abstest default tablespace abs_test temporary tablespace abs_test_temp; ``` 这里,`...

    oracle创建表空间用户等

    例如,如果要将`example_tbs`设置为`scott`用户的默认表空间: ```sql ALTER USER scott DEFAULT TABLESPACE example_tbs; ``` #### 四、分配权限 创建用户后还需要为其分配必要的权限,以便用户能够执行特定的...

    oracle数据库用户 表空间创建

    给定文件中创建了一个名为`INMS`的用户,并设置了其默认表空间为`TOPO`,临时表空间为`TEMP`,并授予了`CONNECT`, `RESOURCE`, `DBA`等权限: ```sql create user inms identified by inms; alter user inms default...

    Oracle数据库用户、表、表空间之间关系.doc

    表空间可以分为在线和离线状态,SYSTEM表空间是系统默认的,用于存储系统数据字典、程序单元等,也可用于用户数据。用户可以使用一个或多个表空间,而表空间也能被多个用户共享。 表空间内部包含各种类型的段,包括...

    oracle建立用户表空间脚本

    - **DEFAULT TABLESPACE QYZJDT_DATA**:默认表空间为之前创建的QYZJDT_DATA。 - **TEMPORARY TABLESPACE QYZJDT_TEMP**:临时表空间为之前创建的QYZJDT_TEMP。 - **PROFILE DEFAULT**:指定用户配置文件为默认...

    oracle创建表空间和用户授权及删除表空间和用户

    创建一个名为`wbppcs`的用户,并将其默认表空间设置为`wbppcs`: ```sql CREATE USER wbppcs IDENTIFIED BY wbppcs123 DEFAULT TABLESPACE wbppcs; ``` 接下来,为其授予DBA权限: ```sql GRANT DBA, CONNECT TO ...

    linux oracle创建用户,表空间 资料

    接下来,我们需要将新创建的表空间分配给用户`newuser`作为默认表空间: ``` ALTER USER newuser DEFAULT TABLESPACE new_tablespace; ``` 5. **设置临时表空间**: 除了默认表空间,还可以为用户指定临时表...

    oracle表空间权限

    通过设置用户默认表空间和临时表空间,可以控制用户的数据和临时操作存储位置。 在描述中提到的“用户在某个表空间不受限”,意味着用户在特定表空间上拥有所有必要的权限,可以自由地创建、修改和删除数据。要实现...

    oracle创建表空间创建用户分配权限例程详解

    - `DEFAULT TABLESPACE AC`:设置用户的默认表空间为“AC”。 - `TEMPORARY TABLESPACE TEMP`:设置用户的临时表空间为“TEMP”。 #### 四、分配权限 为了使用户能够执行特定的操作,需要为其分配相应的权限。权限...

    oracle创建表空间用户和赋权限

    - `DEFAULT TABLESPACE "WORKFLOW"`:设置用户的默认表空间为`WORKFLOW`。 - `TEMPORARY TABLESPACE "TEMP"`:设置用户的临时表空间为`TEMP`。 - `ACCOUNT UNLOCK`:解锁账户,使用户可以立即登录。 #### 三、授予...

    oracle创建表空间,创建用户,授权给新建的用户实例全解

    例如,我们创建一个名为`test_user`的用户,其默认表空间为`test_tablespace`,口令为`password`: ```sql CREATE USER test_user IDENTIFIED BY password DEFAULT TABLESPACE test_tablespace; ``` 三、授权给新建...

    Oracle创建表空间、创建用户以及授权、查看权限

    #### 4.2 查看用户权限 - **系统权限**:`DBA_SYS_PRIVS`, `USER_SYS_PRIVS` - **对象权限**:`DBA_TAB_PRIVS`, `ALL_TAB_PRIVS`, `USER_TAB_PRIVS` - **角色权限**:`DBA_ROLE_PRIVS`, `USER_ROLE_PRIVS` 通过上述...

Global site tag (gtag.js) - Google Analytics