南昌航空大学实验报告
2016 年 5 月 3 日
课程名称:oracle 11g数据库基础教程 实验名称:oracle数据库逻辑存储结构管理 学号: 13201510 姓名: 刘英庭 同组人: 指导教师评定: 签名: 1. 实验目的
(1) 掌握oracle数据库表空间的管理。
(2) 掌握数据库表空间不同状态时对数据操作的影响。 2. 实验要求
(1) 分别创建永久性表空间、临时性表空间、撤销表空间。
(2) 完成表空间的管理操作,包括修改表空间大小、修改表空间的可用性、修改表
空间的读写,表空间的备份、表空间信息查询、删除表空间。
3. 实验步骤
(1) E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN
tnsnames.ora 和listener.ora 的host改为本机名。
(2) 打开监听器,并在SQLPLUS中sys/as sysdba连接
(3) 为BOOKSALES数据库创建一个名为BOOKTBS1的永久性表空间,区采用
自动扩展,方式,段采用自动管理方式。
SQL>CREATE TABLESPACE BOOKTBS1 DATAFILE
‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\booktbs1.dbf ’ size 50M;
(4) 为BOOKSALES数据库创建一个名为BOOKTBS2的永久性表空间,区采用
定制分配方式,方式,每次分配大小为1MB,段采用手动管理方式。
SQL>CREATE TABLESPACE BOOKTBS2 DATAFILE
‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\booktbs2.dbf’
size 50M
extent management local uniform size 1MB segment space management manual;
(5) 为BOOKSALES数据库创建一个临时性表空间TEMP02.
SQL>CREATE TEMPORARY TABLESPACE TEMP02 TEMPFILE ‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\ TEMP02.dbf’
EXTENT MANGERMENT LOCAL UNIFORM SIZE 15M;
(6) 将BOOKSALES数据库临时性表空间temp和temp02都放入临时性表空间组
TEMPGROUP中;
SQL>ALTER TABLESPACE TEMP TABLESPACE GROUP TEMPGROUP; SQL>ALTER TABLESPACE TEMP02 TABLESPACE GROUP TEMPGROUP;
(7) 为BOOKSALES数据库创建一个名为undo02的撤销表空间,并设置为当前数
据库的在线撤销表空间。
SQL>CREATE UNDO TABLESPACE UNDO02 DATAFILE ‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\ UNDO02.dbf’ size 20M;
(8) 为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50MB的数据
文件,以改变该表空间的大小。
SQL>ALTER TABLESPACE BOOKSALES ADD DATAFILE
‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\ BOOKTBS1.dbf’ SIZE 50MB;
(9) 将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩
展,每次扩展5MB,最大容量为100MB。 SQL>ALTER DATABASE DATAFILE
‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\ BOOKTBS2.dbf’
AUTOEXTEND ON NEXT 5M MAXSIZE 100MB;
(10) 创建一个名为test的表,存储于BOOKTBS1表空间中,向表中插入一条记录。
SQL>CREATE TABLE test(ID NUMBER PRIMARY KEY,NAME CHAR(20))TABLESPACE BOOKTBS1; SQL>INSERT INTO test VALUES(1,‘first row’);
(11) 将BOOKSALES数据库的BOOKTBS1表空间设置为脱机状态,测试该表空
间是否可以使用
SQL>ALTER DATEBASE DATAFILE
‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\ BOOKTBS1.dbf’ OFFLINE;
(12) 将BOOKSALES数据库的BOOKTBS1表空间设置为联机状态,测试该表空
间是否可以使用
SQL>ALTER DATEBASE DATAFILE
‘E:\\app\\Administrator\\product\\11.2.0\\dbhome_1\\oradata\\booksales\\ BOOKTBS1.dbf’ ONLINE;
(13) 将BOOKSALES数据库的BOOKTBS1表空间设置为只读状态,测试该表空
间是否可以进行数据写入操作。
SQL>ALTER TABLESPACE BOOKTBS1 READ ONLY;
(14) 将BOOKSALES数据库的BOOKTBS1表空间设置为读写状态,测试该表空
间是否可以进行数据读写操作。
SQL>ALTER TABLESPACE BOOKTBS1 WRITE ONLY;
(15) 将BOOKSALES数据库的BOOKTBS1设置为数据库默认表空间,将临时表
空间组TEMPGROUP设置为数据库的默认临时表空间。
SQL>ALTER DATABASE DEFAULT TABLESPACE BOOKTBS1;
SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPGROUP;
(16) 分别备份BOOKSQLES数据库的USERS和BOOKTBS1、BOOKTBS3三个
表空间。
SQL>ALTER DATABASE USERS BEGIN BACKUP;
SQL>ALTER DATABASE BOOKTBS1 BEGIN BACKUP; SQL>ALTER DATABASE BOOKTBS3 BEGIN BACKUP; 复制users 表空间的数据文件USERS,DBF到目标位置 SQL>ALTER DATABASE USERS END BACKUP;
SQL>ALTER DATABASE BOOKTBS1 END BACKUP; SQL>ALTER DATABASE BOOKTBS3 END BACKUP;
(17) 查询BOOKSALES数据库所有表空间及其状态信息
SQL>SELECT
TABLESPACE_NAME,EXTENT_MANGAEMENT,ALLOCATION_TYPE,CONTENTS FROM BOOKSALES
(18) 查询BOOKSALES数据库所有表空间及其数据文件信息。
TABLESPACE_NAME,EXTENT_MANGAEMENT,ALLOCATION_TYPE,CONTENTS FROM BOOKSALES
(19) 删除BOOKSALES数据库BOOKTBS2表空间及其所有内容,同事删除操作
系统中的数据文件。