Oracle基本学习笔记

创建表空间

需要使用CREATE TABLESPACE语句。其基本语法如下:

CREATE [ TEMPORARY I UNDO] TABLESPACE tablespace name
   [ DATAFILE | TEMPFILE 'file_ name' SIZE size K | M [ REUSE ]
   -  [ AUTOEXTEND OFF | ON
   -  [ NEXT number K | M MAXSIZE UNLIMITED | number K | M ].....
- ][ MININUM EXTENT number K | M ]
- [BLOCKSIZE number K]
- [ ONLINE | OFFLINE ]
- [ LOGGING I NOLOGGING ]
- [ FORCE LOGGING]
- [ DEFAULT STORAGE storage]
- [COMPRESS I NOCOMPRESS ]
- [ PERMANENT| TEMPORARY ]
- [EXTENT MANAGEMENT DICTIONARY | LOCAL
- [ AUTOALLOCATE |UNIFORM SIZE number K | M ]]
- [ SEGMENT SPACE MANAGEMENT AUTO | MANUAL ];

1.表空间创建格式

例如: 创建一个MYSPACE的表空间,此表空间存放位置d:\data 这个表空间初始大小为20M,每次增长5M,这个数据文件最大100M。

create tablespace myspace 
datafile 'd:\data\myspace.dbf'
size 20M 
autoextend ON next 5M 
maxsize 100M;
  • 数据字典
  dba_tablespace;

例如 :查看myspace表空间基本信息。

select * 
from dba_tablespaces_name,maxsize 
tablespaces 
where table_name='MYSPACE';

3.表空间状态属性

  • 状态分类
    1.在线(ONLINE)
    alter tablespace tablespace_name ONLINE;
    2.离线(OFFLINE)
    alter tablespace tablespace_name OFFOLINE parameter;
    3.只读(READ ONLY)
    alter tablespace tablespace_name READ ONLY;
    4.读写(READ WRITE)
    alter tablespace tablespace_name READ WRITE;
一:查看myspace的表空间状态
select tablespace_name,st 
from dba_tablespaces;
二:修改myspace表空间状态
alter tablespace tablespace_name READ only;

4.重命名表空间

格式:

alter tablespace tablespace_name rename to new_tablespace_name;

查看修改结果:

select tablespace tablespace_name,status
from dba_tablespaces;

5.修改表空间数据文件的大小

(1)查看表空间数据文件大小

select tablespace_name ,byte,blocks 
from dba_free_space 
where tablespace_name="MYSPACE";

(2)格式

alter database 
datafile  '路径' 
resize 几几M;

(3)例如:修改myspace表空间得数据文件大小

alter database 
datafile 'd:\data\myspace.dbf' 
resize 40M;

增加表空间的数据文件
例如: 给myspace表空间增加两个数据文件,myspace02,myspace03,初始大小为10,自动增长5,最大40M

alter tablespace myspace1 
add datafile 'd:\data\myspace02.dbf'
size 10M 
autoextend on next 5M maxsize 40M, 
'd:\data\myspace03.dbf'
size 10M 
autoextend on next 5M maxsize 40M;

6.删除表空间的数据文件

格式:

alter tablespace tablespace_name 
drop datafile '路径';

修改表空间中数据文件的自动扩展性
1.作用: 表空间被填满后,Oracle能自动为表空间扩展存储空间
2.格式:

alter database
datafile
autoextend off on
next number k|m maxsize unlimited |k|m

3.实践
例如:LTZspace02.dbf数据文件自动扩展关闭

alter batabase
datafile 'd:\data\myspace.dbf'
autoextend off;

例如:将LTZ02.bdf数据文件自动扩展打开,每次自动增长15M,最大40M

alter database
datafile 'd:\data\myspace.dbf'
autoextend ON 
next 15M
maxsize 40M;

7.修改表空间中数据文件的状态

  • 数据文件状态的主要有三种:ONLINE、OFFLINE、OFFLINE DROP

设置数据文件状态的语法:

alter database
datafile ’路径’ ONLINE/OFFLINE/OFFLINE DROP

其中,ONLINE表示数据文件可以使用
OFFLINE表示数据文件不可使用,用于数据库运行在归档模式下的情况
OFFLINE DROP与OFFLINE一样用于设置数据文件不可用,但它用于数据库运行在非归档模式下的情况

例如:将OFFLINE DROP的数据文件改为ONLINE
第一步:先介质恢复

recover datafile '路径';

第二步:修改状态为ONLINE

alter database
datafile '路径' ONLINE;

例如:将上述myspace.dbf数据文件的状态切换为online,
第一步先介质恢复

recover datafile 'd:data\myspace.dbf' ;

第二步修改状态为online

alter database
datafile 'd:data\myspace.dbf' online;

8.表空间中数据文件的移动

1.移动步骤

  • 修改表空间的状态为离线
  • 移动表空间的数据文件的位置
    host move 原文件存放路径 移动后文件存放路径
  • 修改数据文件的名字
  • 数据表空间的状态为在线

2.例如,移动myspace表空间中数据文件myspace02.dbf得步骤如下:
(1)修改myspace表空间的状态为OFFLINE,如下:

alter tablespace myspace OFFLINE normal;

(2) 将磁盘中的myspace02.dbf文件移动到新的目录中,例如移动到D:\oraclefil目录中,文件的名称也可以修改,例如,修改为myspace03.dbf

移动表空间的数据文件
host move 原路径 新路径;

(3) 使用 alter tablespace语句将myspac表空间中myspace02.dbf原名称和路径修改为:

alter tablespace myspace 
rename datafile 
'原路径' to '新路径(新数据文件名称)';

(4)将状态修改为ONLINE状态
表空间的删除
drop tablespace 表空间名;

  • INCLUDING CONTENTS 在删除时同时删除数据库中的所有对象
  • AND DATAFILES 在删除时并行删除数据文件
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐