oracle中的表空间以及和表空间有关的操作

oracle中表空间

  表空间是oracle对物理数据库上相关数据文件的逻辑映射。一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(system表空间)。每个表空间由同一磁盘上的一个或者多个文件组成,这些文件就是数据文件。一个数据文件只能属于一个表空间。在表空间中可以建立多个用户。

1)表空间的建立

  基本语法格式:

      create tablesapce 表空间名称
      datafile '文件的路径(服务器上的路径)'
      size 大小
      autoextend on自动扩展
      next 每次扩展的大小

例如:

  create  tablespace firstspace
  datafile 'e:\firstspace.dbf'
  size 100m
  autoextend on
  next 10m;

2)查看表空间

  查看oracle数据库所有的表空间

  SELECT  tablespace_name FROM dba_tablespaces;

3)删除表空间包括物理文件

   DROP TABLESPACE firstspace1 INCLUDING CONTENTS AND DATAFILES;

4)创建用户

  在一个表空间中可以创建多个用户。

  语法格式:

    create user username

    identified by userpassword

    default tablespace tablespacename(用于指定该用户属于哪个表空间)

  4.1新创建的用户是没有权限的,

在oracle中有三种用户角色:connect 角色,resource 角色,dba角色。

三种角色有不同的权限

connect角色:它是授予最终用户的最基本的权利,它大概有如下这些权利:

    alter session ---修改会话的权利

    create cluster ---建立聚簇

    create database link ---建立数据库连接

    create sequence ---建立序列

    create session--- 建立会话

    create synonym---建立同义词

    create view ---建立视图

resource角色:一般是授予开发人员的。它有如下权利:

    create cluster ---建立聚簇

    create procedure---建立存储过程

    create sequence ---建立序列

    create table---建立表

    create trigger---建立触发器

    create type---建立类型

dba角色:dba拥有全部的特权,是系统的最高权限,只有dba才可以创建数据库结构,并且系统权限也需要DBA授权,并且dba用户可以操作全体用户的任意表,包括删除表等。

进入sys进行给用户授权:

    sqlplus sys/admin as sysdba

    授予dba权限: grant dba to user(用户名);

    撤回权限:revoke dba from user;

给用户授权完成过后,查看当前用户权限:  select * from user_role_privs;

完成建立表空间以及经过授权过后,就可以进行相应操作了。

5)这时用新用户登录进去可以在进行以下操作

  5.1 查看当前用户拥有的表: select * from user_tables;

  5.2 查看DBA用户拥有的表:select * from dba_tables;不过没啥意义。

  5.3 查看当前表空间的使用情况:select * from user_users;

6)删除用户 

   6.1) drop user username ;//当你这个用户里面没有任何对象时,没有任何内容使用这个删除用户。

  6.2) drop user username cascade;//强制删除这个用户,不管你里面有没有对象。

猜你喜欢

转载自www.cnblogs.com/jasonboren/p/10920144.html
今日推荐