表空间创建与删除完整步骤
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 10g表空间创建的完整步骤
当在数据库中创建用户时,基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。
1.创建表空间
不论是Lnux环境,还是Wndows环境,都要首先创建好表空间的存放路径,根据自己的情况修改。如:
/opt/oracle/oradata/cocis 或D:\oracle\oradata\cocis
若事先不创建该目录路径,则在创建表空间的时候会出错。
通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建/命令窗口,打开一个命令窗口然后在该命令窗口中执行脚本创建和删除表空间
引用
创建表空间
Sql>create tablespace histdb datafile
'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited;
Sql>alter database datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' autoextend on;
1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为200M
3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
4) 空间名称histdb 与数据文件名称histdb.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为500M
删除表空间
DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES;
表空间已创建。
2.为应用创建用户
创建用户的同时,为用户指定缺省的永久表空间和临时表空间。
SQL> create user cocis identified by cocis
2 default tablespace cocis
3 temporary tablespace temp;
用户已创建。
SQL> select username,default_tablespace,temporary_tablespace
2 from dba_users
3 where username='COCIS';
USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
------------------------------ ------------------------------ ------------------ COCIS COCIS TEMP
SQL> select
username,user_id,password,default_tablespace,temporary_tablespace
2 from dba_users
3 where username='COCIS';
USERNAME USER_ID PASSWORD TEMPORARY_TABLESPACE
------------------------------ ---------- ------------------------------
-----------------------
COCIS 61 E031F623C0F15D34 COCIS
3.权限的授予
SQL> grant connect,resource to cocis;
授权成功。
注释:当用户创建之后,一般只需要授予CONNECT和RESOURCE这两个角色即可。若要单独进行授权,则需执行单独的授权命令,如grant create table to cocis;等。
如果要授予SYSDBA的权限给用户则用如下命令
SQL> grant SYSDBA to cocis;
---------------------------------------------------
SQL> revoke unlimited tablespace from cocis;
撤销成功。
SQL> alter user cocis quota unlimited on cocis;
用户已更改。
注释:为了更严谨的管理,可以回收用户的UNLIMITED TABLESPACE权限,然后对用户的空间限额进行单独授权。
Oracle 使用时间长了,新增了许多user 和tablespace. 需要清理一下
对于单个user和tablespace 来说,可以使用如下命令来完成。
步骤一:删除user
drop user ×× cascade
说明:删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
步骤二:删除tablespace
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
但是,因为是供开发环境来使用的db, 需要清理的user 和 table space 很多。思路一:
Export出DB中所有的user和tablespace, 筛选出系统的和有用的tablespace,把有用的信息load到一张表中去。
然后写例程循环,把不在有用表的tablespace删掉
1. select username,default_tablespace from dba_users;