数据库逻辑存储结构管理
(实验目的及要求)
一、实验目的
(1)掌握 Oracle数据库表空间的管理;
(2)掌握数据库表空间不同状态时对数据操作的影响。
二、实验要求
(1)分别创建永久性表空间、临时性表空间、撤销表空间;
(2)完成表空间的管理操作,包括修改表空间大小、修改表空间的可用性、修改表空间的读写、表空间的备份、表空间信息查询、删除表空间。
(1)为 ORCL 数据库创建一个名为 BOOKTBS1 的永久性表空间,数据文件为’d:\bt01.dbf’ ,大小为100M,区采用自动扩展方式(即自动分配), 段采用自动管理方式;
create tablespace booktbs1 datafile
2 'D:\programming\oracle practice\bt01.dbf'size 100M;
(2)为ORCL数据库创建一个名为BOOKTBS2的永久性表空间,数据文件为’d:\bt02.dbf’,大小为100M,区采用定制分配,每次分配大小(即每个区间)为1MB,段采用手动管理方式。
Create tablespace booktbs2 datafile
2 'D:\programming\oracle practice\bt02.dbf'size100M
3 extent management local uniform size 1M
4 segment space management manual;
(3)为 ORCL 数据库创建一个临时表空间 TEMP02,数据文件为’d:\tp02.dbf’,大小为15M;
Create temporary tablespace temp02 tempfile
2 'D:\programming\oracle practice\bt02.dbf'size20M
3 extent management localuniform size 15M;
(4)为 ORCL 数据库创建一个名为 UNDO02 的撤销表空间,数据文件为’d:\un02.dbf’ ,大小10M;
Create unto tablespace undo02 datafile
2 'D:\programming\oracle practice\un02.dbf'size 10M;
待解决修改:unto改为undo
(5)为 ORCL 数据库的表空间 BOOKTBS1 添加一个大小为 20M 的数据文件’d:\bt04.dbf’, 以改变该表空间的大小;
alter tablespace booktbs1 add datafile
2 'D:\programming\oracle practice\bt04.dbf'size 20M;
(6)创建一个名为 test 的表, 存储于 BOOKTBS1 表空间中, 向表中插入一条记录;
create table test(ID NUMBER PRIMARY KEY,name CHAR(20)) tablespace booktbs1;
(7)将 ORCL 数据库的 BOOKTBS1 表空间设置为脱机状态, 测试该表空间是否可以使用;
alter tablespace booktbs1 offline;
Select*from test;
(8)将 ORCL 数据库的 BOOKTBS1 表空间设置为联机状态, 测试该表空间是否可以使用;
先联机
Alter tablespace booktbs1 online;
Select*from test;
(9)将 ORCL 数据库的 BOOKTBS1 表空间设置为只读状态, 测试该表空间是否可以进行数据写入操作;
Alter tablespace booktbs1 read only;
Select*from test;
(10)将 ORCL 数据库的 BOOKTBS1 表空间设置为读写状态, 测试该表空间是否可以进行数据读写操作;
Alter tablespace booktbs1 read write;
(11)将 ORCL 数据库的 BOOKTBS1 设置为数据库默认表空间, 将临时表空间temp02 设置为数据库的默认临时表空间;(选做)
alter database default tablespace booktbs1;
(12)分别备份 ORCL 数据库的 USERS 和 BOOKTBS1两个表空间;(选做)
shutdown immediate
startup mount
alter database archivelog;
alter database open;
alter tablespace users begin backup;
(13)查询 ORCL 数据库控制文件中的表空间信息;
SELECT NAME FROM V$CONTROLFILE;
SELECT * FROM DBA_TABLESPACES T;
SELECT * FROM USER_TABLESPACES T;
(14) 查询 ORCL 数据库所有表空间及其数据文件信息;
Select tablespace_name,file_name from dba_data_files;
(15) 删除 ORCL 数据库 BOOKTBS2 表空间及其所有内容, 同时删除操作系统上的数据文件。
Drop tablespace booktbs2 including contents and datafiles;