Oracle 11g R2 表空间、用户的新建与删除

Oracle 11g R2 表空间、用户的新建与删除

1、查询表空间位置

    SELECT tablespace_name,
    file_id,
    file_name,
    round(bytes / (1024 * 1024), 0) total_space
    FROM dba_data_files
    ORDER BY tablespace_name;

2、创建临时表空间

    create temporary tablespace TEST_TEMP
    tempfile '/u01/app/oracle/oradata/XE/TEST_TEMP.dbf'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

3、创建数据表空间

    create tablespace TEST_DATA
    logging
    datafile '/u01/app/oracle/oradata/XE/TEST_DATA.dbf'
    size 50m
    autoextend on
    next 50m maxsize 20480m
    extent management local;

4、删除表空间(如有必要)

    -- drop tablespace TEST_TEMP including contents and datafiles;  
    -- drop tablespace TEST_DATA including contents and datafiles;  

5、创建用户并指定表空间

    create user TEST identified by TEST
    default tablespace TEST_DATA
    temporary tablespace TEST_TEMP;

6、给用户授予权限

    grant connect,resource,dba to TEST;

系统权限分类:

  • DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
  • RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
  • CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。

系统权限授权命令:

  • 系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)
  • 授权命令:
 grant connect, resource, dba to 用户名1 [,用户名2]...;

:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。

回收dba权限

  • 查询具有DBA权限用户
    select * from dba_role_privs where granted_role='DBA';
  • 取消用户DBA权限
revoke dba from user_Name

7、删除用户(TEST)

级联删除

drop user TEST cascade;

如果提示错误 ORA-01940:无法删除当前连接的用户

  • 查看用户的连接状况
select username,sid,serial# from v$session where username = 'TEST'
PL/SQL Developer Export
    USERNAME SID SERIAL#
1 TEST 166 18950
  • 根据 SID 和 SERIAL# 删除当前用户的连接
alter system kill session'166,18950'
  • 再次删除
drop user TEST cascade;

如果依然提示 ORA-01940:无法删除当前已链接的用户,查询Session状态

select saddr,sid,serial#,paddr,username,status from v$session where username is not null;
PL/SQL Developer Export
    SADDR SID SERIAL# PADDR USERNAME STATUS
1 0000000311B8E6A8 6 27434 000000031191FCA8 TEST INACTIVE
2 0000000314B49E18 9 46312 0000000311917928 TEST1 INACTIVE
3 0000000311B889C8 10 37874 0000000311923E68 TEST2 INACTIVE
4 0000000314B46FA8 11 9992 0000000311928028 TEST3 INACTIVE
5 0000000314B44138 13 58528 00000003119303A8 TEST4 INACTIVE

解锁锁定的用户

alter user 用户ID account unlock

:执行以上语句的用户必须具有DBA权限

你可能感兴趣的:(oracle,11g,Oracle,11g)