Oracle数据库逻辑存储结构管理
1、实验目的(1)掌握Oracle数据库表空间的管理 (2)掌握数据库表空间不同状态时对数据操作的影响 2、实验环境Windows 7家庭普通版。 Oracle11g 3、实验要求(1)分别创建永久性表空间、临时性表空间、撤销表空间。 (2)完成表空间的管理操作,包括修改表空间大小、修改表空间的可用性、修改表空间的读/写、表空间的备份、表空间信息查询、删除表空间。 4、实验内容(1)为BOOKSALES数据库创建一个名为BOOKTBS1的永久性表空间,区采用自动扩展方式,段采用自动管理方式。 (2)为BOOKSALES数据库创建一个名为BOOKTBS2的永久性表空间,区采用定制分配,每次分配大小为1MB,段采用手动管理方式。 (3)为BOOKSALES数据库创建一个临时表空间TEMP02。 (4)将BOOKSALES数据库临时表空间TEMP和TEMP02都放入临时表空间组TEMPGROUP中。 (5)为BOOKSALES数据库创建一个名为UNDO02的撤销表空间,并设置为当前数据库的在线撤销表空间。 (6)为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50MB的数据文件,以改变该表空间的大小。 (7)将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩展,每次扩展5MB,最大容量为100MB。 (8)创建一个名为test的表,存储于BOOKTBS1表空间中,向表中插入一条记录。 (9)将BOOKSALES数据库的BOOKTBS1表空间设置为脱机状态,测试该表空间是否可以使用。 (10)将BOOKSALES数据库的BOOKTBS1表空间设置为联机状态,测试该表空间是否可以使用。 (11)将BOOKSALES数据库的BOOKTBS1表空间设置为只读状态,测试该表空间是否可以进行数据写入操作。 (12)将BOOKSALES数据库的BOOKTBS1表空间设置为读写状态,测试该表空间是否可以进行数据读写操作。 (13)将BOOKSALES数据库的BOOKTBS1设置为数据库默认表空间,将临时表空间组TEMPGROUP设置为数据库的默认临时表空间。 (14)分别备份BOOKSALES数据库的USERS和BOOKTBS1、BOOKTBS3三个表空间。 (15)查询BOOKSALES数据库所有表空间及其状态信息。 (16)查询BOOKSALES数据库所有表空间及其数据文件信息。 (17)删除BOOKSALES数据库BOOKTBS2表空间及其所有内容,同时删除操作系统上的数据文件。 5、实验过程与结果(1)为BOOKSALES数据库创建一个名为BOOKTBS1的永久性表空间,区采用自动扩展方式,段采用自动管理方式。(2)为BOOKSALES数据库创建一个名为BOOKTBS2的永久性表空间,区采用定制分配,每次分配大小为1MB,段采用手动管理方式。(3)为BOOKSALES数据库创建一个临时表空间TEMP02。 ? SQL> create tablespace booktbs1 datafile ? 2? ‘C:OracleSQLoradataoraltest1_1.dbf‘ size 10M; ? SQL> create tablespace booktbs2 datafile ? 2? ‘C:OracleSQLoradataoraltest1_2.dbf‘ size 10M ? 3? extent management local uniform size 1M ? 4? segment space management manual; ? SQL> create temporary tablespace temp02 tempfile ? 2? ‘C:OracleSQLoradataoraltest1_3.dbf‘ size 10M ? 3? extent management local uniform size 5M; ? ? ? (4)将BOOKSALES数据库临时表空间TEMP和TEMP02都放入临时表空间组TEMPGROUP中。 ? SQL> alter tablespace temp tablespace group TEMPGROUP; ? SQL> alter tablespace temp02 tablespace group TEMPGROUP; ? ? ? ? ? (5)为BOOKSALES数据库创建一个名为UNDO02的撤销表空间,并设置为当前数据库的在线撤销表空间。 ? SQL> create undo tablespace undo02 datafile ? 2? ‘C:OracleSQLoradataoraltest1_4.dbf‘ size 20M; ? SQL> alter system set undo_tablespace=undo02; ? ? ? ? ? (6)为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50MB的数据文件,以改变该表空间的大小。 ? SQL> alter tablespace booktbs1 add datafile ? 2? ‘C:OracleSQLoradataoraltest1_6.dbf‘ size 50M; ? ? ? ? ? (7)将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩展,每次扩展5MB,最大容量为100MB。 ? SQL> alter database datafile ? 2? ‘C:OracleSQLoradataoraltest1_2.dbf‘ ? 3? autoextend on next 5M maxsize 100M; ? ? ? ? ? (8)创建一个名为test的表,存储于BOOKTBS1表空间中,向表中插入一条记录。 ? SQL> create table test(id number primary key,name char(20)) tablespace booktbs1; ? SQL> insert into test values(1,‘SALTFISHKING‘); ? ? ? ? (9)将BOOKSALES数据库的BOOKTBS1表空间设置为脱机状态,测试该表空间是否可以使用。 ? SQL> alter tablespace booktbs1 offline; ? ? ? ? ? (10)将BOOKSALES数据库的BOOKTBS1表空间设置为联机状态,测试该表空间是否可以使用。 ? SQL> alter tablespace booktbs1 online; ?? ? ? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? (11)将BOOKSALES数据库的BOOKTBS1表空间设置为只读状态,测试该表空间是否可以进行数据写入操作。 ? SQL> alter tablespace booktbs1 read only; ? ? ? ? ? (12)将BOOKSALES数据库的BOOKTBS1表空间设置为读写状态,测试该表空间是否可以进行数据读写操作。 ? SQL> alter tablespace booktbs1 read write; ? ? ? ? ? ? ?(13)将BOOKSALES数据库的BOOKTBS1设置为数据库默认表空间,将临时表空间组TEMPGROUP设置为数据库的默认临时表空间。 ? SQL> alter database default tablespace booktbs1; ? SQL> alter database default temporary tablespace TEMPGROUP; ? ? ? ? ??? (14)分别备份BOOKSALES数据库的USERS和BOOKTBS1、BOOKTBS3三个表空间。 SQL> conn/as sysdba; SQL> shutdown immediate; SQL> startup mount; SQL> alter database archivelog; SQL> alter database open; ? ? SQL> alter tablespace users begin backup; SQL> host copy c:oraclesqloradataoralusers01.dbf c:oracle_logusers01.dbf; SQL> alter tablespace users end backup; ? SQL> alter tablespace booktbs1 begin backup; SQL> host copy c:oraclesqloradataoraltest1_1.dbf c:oracle_logtest1_1.dbf SQL> alter tablespace booktbs1 end backup; ? SQL> alter tablespace booktbs3 begin backup; SQL> host copy c:oraclesqloradataoraltest1_9.dbf c:oracle_logtest1_9.dbf SQL> alter tablespace booktbs3 end backup; ? ? ? ? ?? BOOKSTBS3没被创建,所以先创建后备份 ? ? ? ? (15)查询BOOKSALES数据库所有表空间及其状态信息。 ? SQL> select tablespace_name,extent_management,allocation_type,contents from dba_tablespaces; ? ? ? ? (16)查询BOOKSALES数据库所有表空间及其数据文件信息。 ? SQL> select tablespace_name,file_name from dba_data_files; ? ? ? ? ? (17)删除BOOKSALES数据库BOOKTBS2表空间及其所有内容,同时删除操作系统上的数据文件。 ? SQL> drop tablespace booktbs2 including contents and datafiles; ? ? ? ? 6、实验遇到的问题及解决办法1.实验中在执行备份操作的时候出现提示说权限不足。解决方法是conn/as sysdba;可以以超级管理员身份连接进行操作。 2.如果进入mount修改模式后登录数据库发现无法连接数据库。解决方法是记得执行database open打开数据库。 3.备份文件时如果出现拒绝访问的提示。解决方法是以管理员身份运行SQL Plus。 ? 没有什么是比实验记录更能作为总结参考的了(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |