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:\OracleSQL\oradata\oral\test1_1.dbf' size 10M;

 

SQL> create tablespace booktbs2 datafile

  2  'C:\OracleSQL\oradata\oral\test1_2.dbf' size 10M

  3  extent management local uniform size 1M

  4  segment space management manual;

 

SQL> create temporary tablespace temp02 tempfile

  2  'C:\OracleSQL\oradata\oral\test1_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:\OracleSQL\oradata\oral\test1_4.dbf' size 20M;

 

SQL> alter system set undo_tablespace=undo02;

 

 

 

 

 

(6)为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50MB的数据文件,以改变该表空间的大小。

 

SQL> alter tablespace booktbs1 add datafile

  2  'C:\OracleSQL\oradata\oral\test1_6.dbf' size 50M;

 

 

 

 

 

(7)将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩展,每次扩展5MB,最大容量为100MB。

 

SQL> alter database datafile

  2  'C:\OracleSQL\oradata\oral\test1_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:\oraclesql\oradata\oral\users01.dbf c:\oracle_log\users01.dbf;

SQL> alter tablespace users end backup;

 

SQL> alter tablespace booktbs1 begin backup;

SQL> host copy c:\oraclesql\oradata\oral\test1_1.dbf c:\oracle_log\test1_1.dbf

SQL> alter tablespace booktbs1 end backup;

 

SQL> alter tablespace booktbs3 begin backup;

SQL> host copy c:\oraclesql\oradata\oral\test1_9.dbf c:\oracle_log\test1_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。

 

没有什么是比实验记录更能作为总结参考的了

 

转载于:https://www.cnblogs.com/NamingException/p/10891956.html

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值