ITPub博客

首页 > 数据库 > Oracle > 表空间、用户

表空间、用户

Oracle 作者:energyme 时间:2013-12-16 17:16:36 0 删除 编辑

本文系网上收集的资料,仅学习参考。

    oracle表空间在逻辑结构之上处于数据库之下。利用表空间可以更灵活的规划数据库结构。一个数据库可以包含多个表空间,一个表空间可以包含多个数据表。表空间会有独立的物理文件。

·sysdba创建临时表空间:

create temporary tablespace happytmp        //空间名字

tempfile '/opt/oracle/product/10.2.0/oradata/datafile/filename_001.dbf'       //数据文件实际路径

size 32m          //表空间大小

autoextend on    //自动拓展

next 32m maxsize 2048m   

extent management local;

·  sysdba创建数据表空间:

create tablespace happyspace

datafile '/opt/oracle/product/10.2.0/oradata/datafile/happyspace_001.dbf'


size 32m   

autoextend on   

next 32m maxsize 2048m   

extent management local; 


·查询表空间

select tablespace_name from user_tablespaces;


·创建用户并指定表空间


create user username identified by password   

default tablespace happyspace

temporary tablespace happytmp;


·修改用户密码

alter user happyspace identified by newpasswd;


·给用户授予权限

grant connect,resource to username; 

以后以该用户登录,创建的任何数据库对象都属于happytmp 和happyspace表空间,这就不用在每创建一个对象给其指定表空间了。


·扩展表空间

(1)手动增加数据文件大小,添加10M:

alter database datafile '/opt/oracle/product/10.2.0/oradata/datafile/happyspace_001.dbf' resize 10M;

增加前:

oracle@FJXM-DM-Test-SAG-01:~/oradata/ora11g/datafile> du -sh happyspace_001.dbf

1.1M    difname.dbf

增加后:

oracle@FJXM-DM-Test-SAG-01:~/oradata/ora11g/datafile> du -sh difname.dbf

11M     difname.dbf

(2)把表空间设置为自动扩展

alter database datafile '/opt/oracle/product/10.2.0/oradata/datafile/happyspace_001.dbf' autoextend on next 5m maxsize unlimited;

(3)往表空间增加数据文件

alter tablespace happyspace add datafile ‘/opt/oracle/product/datafile/happyspace_add01.dbf' size 5m;


·删除表空间 

drop tablespace spacename including contents and datafiles;

// 说明: including contents 表示删除表空间时候,删除该表空间的所有数据对象,而datafiles 表示将数据库文件也删除。

如果出现:can not drop the dufaut permannent tablespace 表明删除目标是当前数据库的默认表空间。要删除表空间必须所有用户都不在以其作为默认表空间。

alter database default tablespace newtest将当前数据库的默认表空间改为newtest;dropdrop tablespace spacename including contents and datafiles。则用户删除表空间并包含所有的内容和书库文件。


·重命名表空间

sql>alter tablespace test rename to newtest;


·移动数据文件 

1.找出数据文件对应的 表空间   

 select tablespace_name from dba_data_files where file_name='/home/oracle/oradata/ora11g/datafile/difname.dbf';

TABLESPACE_NAME

------------------------------

ZJSPACE

  

2.使表空间脱机 确保数据文件的一致性   

  alter tablespacce tbs001 offline;   

3.使用命令移动数据文件到指定的目标位置 (sqlplus中能成功,PL/Sql中不能成功 应是我不知道)   

 host move d: bs001.dbf c: bs001.dbf;   

4.修改表空间对应的数据文体 为新磁盘下的数据文件    

alter tablespace TBS001 rename datafile 'D:TBS001.DBF' to 'E:TBS001.DBF';   

5.使表空间联机   

 alter tablespace TBS001 online;  

·其他常用的表空间

1.索引表空间   

2.undo表空间   

3.临时表空间   

4.非标准块的表空间   

注:如果你将上面的这个表空间弄清楚了,可以考oracle 初级 或者 中级 证书了 要钱的哦!

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22496772/viewspace-1116627/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-09-08