Oracle学习笔记(八)

来源:互联网 发布:淘宝联盟什么时候提现 编辑:程序博客网 时间:2024/06/06 18:25

orale中逻辑结构包括表空间、段、区、块。
表空间用于从逻辑上组织数据库的数据,数据库逻辑上使用一个或多个表空间组成的。
表空间的作用:
(1)控制数据库占用的磁盘空间
(2)dba可以将不同数据类型部署到不同的位置,这样有利于提高i/o性能,同时有利于备份和恢复等管理操作。
建立表空间:create tablespace
需要特权用户或是dba执行。如果其他用户来创建表空间,则该用户必须具有create tablespace的系统权限。

建立数据表空间:
在建立数据库后,为便于管理表,最好建立自己的表空间。
create tablespace data01 datafile 'd:/test/data01.dbf' size 20M uniform size 128k;
使用数据表空间:
create table mypart(
     deptno number(4),
     dname varchar2(14)
     ) tablespace data01;
改变表空间的状态:online,offline,read write,read only;
由特权用户或是dba来操作
(1)使表空间脱机
alter tablespace 表空间名 offline;
(2)使表空间联机
alter tablespace 表空间名 online;
(3)只读表空间
alter tablespace 表空间名 read only;
(4)可读可写
alter tablespace 表空间名 read write;
-------
(5)显示表空间包含的所有表
select * from all_tables where tablespace_name='表空间名';
(6)查看该表属于哪个表空间
select tablespace_name,table_name from user_tables where table_name='USER_YZH';
(7)删除表空间:
drop tablespace '表空间' including contents and datafiles;
//including contents表示删除表空间时,删除该空间的所有数据库对象,而datafiles表示将数据库文件也删除。
(8)扩展表空间
三种方法:
方法一:增加数据文件
alter tablespace yzh add datafile 'd:/yzh02.dbf' size 20M;
方法二:增加数据库文件的大小
alter database datafile 'd:/yzh02.dbf' resize 20M;
方法三:设置文件的自动增长
alter database datafile 'd:/yzh.dbf' autoextend on next 10M maxsize 500M;
--------
移动数据文件:
1)确定数据文件所在的表空间
select tablespace_name from dba_data_files where file_name= 'd:/yzh02.dbf';//有点问题
2)确定空间脱机
将表空间状态转变为offline状态
3)使用命令移动数据文件到指定的目标位置:
host move d:/yzh02.dbf c:/yzh02.dbf;
4)执行alter tablespace命令
在物理上移动数据后,还必须执行alter tablespace命令对数据库文件进行逻辑修改
alter tablespace yzh rename datafile 'd:/yzh02.dbf' to 'c:/yzh02.dbf';
5)使表空间联机
alter tablespace yzh online;
显示表空间信息
select tablespace_name from dba_tablespaces;
显示表空间所包含的数据文件
select file_name ,bytes from dba_data_files where tablespace_name='表空间名';

原创粉丝点击