oracle 表空间,用户的创建及删除

一、创建表空间。
1、数据库服务器操作系统为linux系统:在服务器端的Linux的图形窗口,右键点击桌面->打开终端,然后输入 su - oracl
2、数据库服务器操作系统为Windows系统:在服务器端点击"开始"->"运行",输入cmd并点击"确定",打开DOS窗口。
做好以上准备后。输入以下命令:
sqlplus /nolog
conn / as sysdba
或者在客户端以数据库管理员登录。
创建表空间格式:
create tablespace tablespace_name
[logging(或nologging)]  //可选项。
datafile '对应的文件名.dbf' size 4000M autoextend on next 1000M maxsize unlimited
extent management local
segment space management auto
1)、create tablespace tablespace_name:创建一个名为"tablespace_name"的表空间。
  ORACLE可以创建的表空间有三种类型:
 ①、用户表空间:最重要,也是用于存放用户数据的表空间,可以直接写成:create tablespace tablespace_name
 ②、temporary:临时表空间,用于临时数据的存放。
    创建临时表空间格式:
    create temporary tablespace tablespace_name
    tempfile '对应的文件名' size 1000M autoextend on next 1000M maxsize unlimited;
 ③、undo:还原表空间,用于存入重做日志文件。
     创建还原表空间的语法:create temporary tablespace tablespace_name  ...
 temporary和undo表空间是oracle管理的特殊的表空间,只用于存放系统相关数据。

2)、logging(或nologging)    
   nologging:创建表空间时,不创建重做日志。  
   logging:创建表空间时,创建重做日志。
  用nologging时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没有日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完  表空间,并导入数据后,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择nologging,以加快表空间的创建速度。

3)、datafile '对应的文件名1' size 4000M[,'对应的文件名2' size 4000M,] autoextend on next 1000M maxsize unlimited:用于指定数据文件的具体位置和大小。
 如:datafile '/oracle/oradata/实例名/表空间名.dbf',如果有多个文件,可以用逗号隔开。
 注:对具体的文件,可以根据不同的需要,存放在不同的介质上,如磁盘阵列,以减少IO竟争。指定文件名时,必须为绝对地址,不能使用相对地址。

4)、extent management local(lmt):本地管理表空间
  在oracle8i以前,Oracle使用字典管理表空间(extent management dictionary),从Oracle8i开始,Oracle提供了更高效的本地管理表空间LMT(Local Managed Tabalespace)。
  在Oracle9i数据库中,本地管理表空间(lmt)是默认的空间管理方式。要想创建本地管理表空间(lmt),只需要在create tablespace语句的extent management子句中指定local子句。创建LMT时,你可以选择使用autoallocate选项来使用Oracle自动管理盘区,或者可以使用一个指定大小(uniform size子句)的统一盘区来管理该表空间。如果省略uniform size选项,则默认选项是autoallocate。

5)、segment space management auto(assm):自动段空间管理

二、创建用户。
create  user  用户名  identified   密码  default   tablespace;
例子:
create user username identified by password
default tablespace table_name
quota unlimited on table_name
account unlock;

三、对用户授权。
grant connect,resource to username;

四、删除用户以及用户所有的对象
drop user username cascade;
注:cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数

用系统管理员,查看当前数据库有几个用户连接:
SQL> select username,sid,serial# from v$session; 
停用某个连接:
SQL> alter system kill session sid,serial#;

五、删除表空间。
drop tablespace table_name including contents and datafiles cascade constraints;
  including contents 删除表空间中的内容。
  including datafiles 删除表空间中的数据文件。
  cascade constraints 同时删除tablespace中表的外键参照。

六、多个表空间的优势:
1.能够将数据字典与用户数据分离出来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的I/O冲突
2.能够将回退数据与用户数据分离出来,避免由于硬盘损坏而导致永久性的数据丢失
3.能够将表空间的数据文件分散保存到不同的硬盘上,平均分布物理I/O操作
4.能够将某个表空间设置为脱机状态或联机状态,以便对数据库的一部分进行备份和恢复
5.能够将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态
6.能够为某种特殊用途专门设置一个表空间,比如临时表空间等,以优化表空间的使用效率
7.能够更佳灵活的为用户设置表空间限额

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值