oracle中的表空间以及和表空间有关的操作
2020-07-10 本文已影响0人
King斌
oracle中表空间
表空间是oracle对物理数据库上相关数据文件的逻辑映射。一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(system表空间)。每个表空间由同一磁盘上的一个或者多个文件组成,这些文件就是数据文件。一个数据文件只能属于一个表空间。在表空间中可以建立多个用户。
表空间的建立
create tablesapce 表空间名称
datafile '文件的路径(服务器上的路径)'
size 大小
autoextend on自动扩展
next 每次扩展的大小
实例
create tablespace firstspace
datafile 'e:\firstspace.dbf'
size 100m
autoextend on
next 10m;
查看表空间
查看oracle数据库所有的表空间
SELECT tablespace_name FROM dba_tablespaces;
删除表空间包括物理文件
DROP TABLESPACE firstspace1 INCLUDING CONTENTS AND DATAFILES;
创建用户
create user username
identified by userpassword
default tablespace tablespacename(用于指定该用户属于哪个表空间)
###新创建的用户是没有权限的,
在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;//强制删除这个用户,不管你里面有没有对象。