一、对表空间的操作

1、创建表空间(create tablespace)

-- 'hpdb_tablespace' 指定表空间名称
-- 'e:\hpdb.dbf' 指定表空间数据文件名称
-- size 指定表空间的初始化大小
-- autoextend on next 30M 指定当表空间不足时,自动扩增的空间大小
-- autoextend off 停止自动扩展表空间
-- maxsize unlimited 表空间的最大空间不设置上限
create tablespace hpdb_tablespace datafile 'e:\hpdb.dbf' size 100M autoextend on next 30M maxsize unlimited;
create tablespace table datafile 'e:\aa.dbf' size 10M;

2、修改表空间的大小

alter database datafile 'e:\hpdb.dbf' resize 30M;

3、为表空间设置自动扩展

alter database datafile 'e:\hpdb.dbf' autoextend on next 30M maxsize unlimited;

4、关闭表空间自动扩展

alter database datafile 'e:\hpdb.dbf' autoextend off

5、为表空间添加一个数据文件

alter tablespace hpdb_tablespace add datafile 'e:\22.dbf' size 100m;

6、删除表空间中的一个数据文件

alter tablespace hpdb_tablespace drop datafile 'e:\\22.dbf' 

7、 删除表空间

-- 只删除表空间,对应的数据文件并没有删除
drop tablespace hpdb_tablespace;
-- 同时删除表空间和数据文件
-- (1)先将表空间offline
alter tablespace hpdb_tablespace offline;
-- (2)删除表空间和数据文件
-- 删除表空间、数据文件
drop tablespace hpdb_tablespace including contents and datafiles;
--删除表空间、数据文件、关联
drop tablespace hpdb_tablespace including contents and datafiles cascade constraint;

二、对临时表空间的操作

1、创建临时表空间(create temporary tablespace)

-- 和创建表空间的方式很相似
-- 注意:表空间通过create tablespace来创建;临时表空间通过create temporary tablespace类创建;表空间通过datafile为表空间指定数据文件的名称;临时表空间通过tempfile为其指定数据文件的名称
-- 临时表空间的作用:临时表空间主要用途是在数据库进行排序运算、管理索引、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
create temporary tablespace hpdb_tmp tempfile 'e:\hpdb_tmp.dbf' size 100M autoextend on next 30M maxsize unlimited;

2、查看临时表空间

--查看临时表空间
select name from v$tempfile
--查看当前用户的临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE'; 

3、修改临时表空间的大小

alter database tempfile 'e:\hpdb_tmp.dbf' resize 30M;

4、为临时表空间设置自动扩展

alter database tempfile 'e:\hpdb_tmp.dbf' autoextend on next 20M maxsize unlimited;

5、关闭临时表空间的自动扩展

alter database tempfile 'e:\hpdb_tmp.dbf' autoextend off;

6、为临时表空间添加一个数据文件

alter tablespace hpdb_tmp add tempfile 'e:\2.dbf' size 100M;

7、删除临时表空间中的一个数据文件

--删除2.dbf文件
alter tablespace hpdb_tmp drop tempfile 'e:\2.dbf';

8、删除临时表空间

--删除表空间,不删除.dbf文件
drop tablespace hpdb_tmp including contents and datafiles cascade constraints;

9、删除默认的临时表空间

默认的临时表空间不能直接删除,我们只能通过以下步骤间接的删除默认的临时表空间:

  1. 先定义一个新的临时表空间temp2,使temp2作为中转表空间;
  2. 将默认表空间temp1换成temp2;( alter database default temporary tablespace temp1; )
  3. 然后将之前的默认临时表空间temp1删除;
  4. 在定义一个新的临时表空间temp3,使temp3作为新的默认临时表空间;
  5. 删除中转表空间temp2;

经过以上几步,默认的表空间temp1就被替换成了新的表空间temp3。

三、对用户的操作

1、创建用户

-- user 后跟用户名
-- identified by 登录密码
-- default tablespace 用户默认表空间
-- temporary tablespace 用户临时表空间
-- 如果建立用户时不指定default tablespace,Oracle会将SYSTEM表空间作为用户默认表空间。 
-- 如果建立用户时不能指定temporary tablespace,Oracle会将数据库默认临时表空间作为用户的临时表空间。
create user CS identified by 123456 DEFAULT tablespace hpdb_tablespace temporary tablespace hpdb_tmp;

2、更改用户的默认表空间

alter user CS default tablespace newTemp;

3、更改用户的默认临时表空间

alter user CS temporary tablespace temp3;

4、修改用户密码

alter user CS identified by 000000

5、 删除用户

--删除用户,并删除该用户创建的对象
--不能删除正在连接的用户
drop user CS cascade

6、锁定用户

alter user CS account lock;

7、解除锁定

alter user CS account unlock;

四、用户权限、角色管理

我们新创建的用户是没有任何权限的,甚至连登录连接数据的权限都没有,那么,我们在创建完用户后,就要为其分配权限,或者角色。

用户的权限分为两类:系统权限、对象权限

  系统权限:允许用户执行某些数据库操作(如登录需要的权限create session;创建数据表的权限create table)。

  对象权限:允许用户对某一特定对象执行特定的操作(如select、delete、update等权限)。

  角        色:为了简化权限管理,进而引入了角色的概念,角色是具有名称的一组权限的组合。

系统预定义的用户角色

 CONNECT:时用户 (只有登录的权限)
   RESOURCE:更为可靠和正式的用户
   DBA:数据库管理员角色,拥有管理数据库的最高权限,该角色不应该给一般的用户。

1、授予用户角色

--为用户CS授予connect、resource角色
GRANT CONNECT,RESOURCE TO CS;

2、授予用户系统权限

--授予用户CS登录连接数据库的权限
grant create session to CS;
--授予用户CS创建数据表的权限
grant create table to CS;
--赋予用户CS使用表空间的权限
grant ulimited tablespace to CS;

3、授予用户对象权限

-- 赋予用户CS查看数据表dept的权限
grant select on dept to CS;
-- 赋予用户CS查看所有数据表的权限
grant select any table to CS;

4、撤销用户角色

--撤销用户CS的connect、resource角色
REVOKE CONNECT,RESOURCE FROM CS;
--撤销用户CS的创建数据表的权限
revoke create table from CS;
--撤销用户CS的使用表空间的权限
revoke ulimited tablespace from CS;
--撤销用户CS的查看数据表dept的权限
revoke select on dept from CS;
--撤销用户CS查看所有数据表的权限
revoke select any table from CS;

5、权限级联

grant select on Student to CS with grant option;-- 赋予用户CS查看数据表Student的权限,并且用户CS可以将该权限赋予其他用户
  • with grant option (用于对象权限授权,权限是级联的)赋予权限账户被删除或权限被撤销,被赋予权限的用户的权限也将被撤销
  • with admin option (用于系统权限授权,权限是不级联的)赋予权限账户被删除或权限被撤销,被赋予权限的用户的权限不会被撤销

Oracle对表空间、用户、用户权限的操作的更多相关文章

  1. ORA-01950: no privileges on tablespace xxx ORA-01950: 对表空间 'xxx'无权限

    场景: 创建用户,在用户scheme下新建了一张表,插入数据时报错 ORA-01950: 对表空间 'xxx'无权限 创建用户 /*第1步:创建临时表空间 */ create temporary ta ...

  2. ORA-01950:对表空间 'USERS' 无权限

    在存储数据时出现ORA-01950:对表空间 'USERS' 无权限 错误,解决如下: 找到对象Users下的用户名,然后点编辑,角色权限添加dba 在oracle创建了一个新的表空间和一个新的用户, ...

  3. 对表空间 'USERS' 无权限

    保存对表 "CHENGYU"."T_USER" 的更改时出现一个错误: 行 1: ORA-01950: 对表空间 'USERS' 无权限   更改用户的默认表空 ...

  4. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  5. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  6. linux系统下创建oracle表空间和用户权限查询

    创建用户和表空间: 1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2.以sysdba方式来打开sqlplus,命令 ...

  7. Oracle对表空间无权限

    有的时候我们在Oracle数据库中对执行insert.update之类的语句时会出错,Oracle说我们对表空间无权限.执行下面的语句就可以修改用户对表空间的权限了. 执行语句: alter user ...

  8. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

  9. oracle 表空间,用户的创建及授权,表空间基本操作

    参考地址:https://www.cnblogs.com/zhaideyou/articles/5845271.html Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可 ...

随机推荐

  1. vue2 中的 export import

    vue中组件的引用嵌套通过export import语法链接 Nodejs中的 export import P1.js export default { name: 'P1' } index.js i ...

  2. Java_zip_多源文件压缩到指定目录下

    依赖: <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress --> <depend ...

  3. java.util.Collections.copy()方法注意点

    今天发现单独的将一个ArrayList的对象添加到另外一个ArrayList的时候,总是源列表和目的列表相同的内存地址.原因如下: 偶然看到了Collections的copy(List desc,Li ...

  4. Centos 的常用命令总结

    设置静态IP和DNS vim /etc/sysconfig/network-scripts/ifcfg-[网卡名称] 修改 BOOTPROTO=static 添加 IPADDR=192.168.1.1 ...

  5. Mysql主从复制参数详解

    目录 一.简介 二.例子 同步 修改 三.参数 一.简介 change master to配置和改变slave服务器用于连接master服务器的参数,以便slave服务器读取master服务器的bin ...

  6. String类源码分析

    1.String类注释说明 /** * The {@code String} class represents character strings. All * string literals in ...

  7. [BUUCTF]PWN——wustctf2020_closed

    wustctf2020_closed 附件 步骤: 例行检查,64位程序,开启了nx保护 本地试运行一下看看大概的情况 64位ida载入,首先是检索程序里的字符串,找到了后门 main函数里的关键函数 ...

  8. CF918B Radio Station 题解

    Content 有 \(n\) 个形如 \(a_i.b_i.c_i.d_i\) 的 IP 地址.有 \(m\) 条命令,每条命令由一条字符串 \(s\) 和一个形如 \(p.q.r.s\) 的 IP ...

  9. libevent源码学习(7):event_io_map

    event_io_map 哈希表操作函数 hashcode与equals函数 哈希表初始化 哈希表元素查找 哈希表扩容 哈希表元素插入 哈希表元素替换 哈希表元素删除 自定义条件删除元素 哈希表第一个 ...

  10. c++之面试题(2)实现字符串的分割函数SplitStr

    题目描述 3.实现一个将字符串按指定字符分隔的函数,形式已经确定如下,请完成标有"//请补充"的内容. 说明:返回值为是否找到分割符(true找到,false未找到),当未找到分割 ...