实验三 Oracle数据库逻辑存储结构管理
实验三 Oracle数据库逻辑存储结构管理
一、实验目的
(1)掌握Oracle数据表空间的管理。
(2)掌握数据表空间不同状态时对数据操作的影响。
二、实验环境
Oracle 11g
三、实验内容
(1)为BOOKSALES数据库创建一个名为BOOKTBS1的永久性表空间,区采用自动拓展方式,段采用自动管理方式。
SQL> create tablespace BOOKTBS1 data'空间地址' size 50M;
①PS:如何查询自己的表空间信息(表空间绝对地址)输入 select name from v$datafile; 即可。
(2)为BOOKSALES数据库创建一个名为BOOKTBS2的永久性表空间,区采用定制分配,每次分配大小为1MB,段采用手动管理方式。
SQL> create tablespace BOOKTBS2 datafile'空间地址'size 10m extent management local uniform size 1m segment space management manual;
(3)为BOOKSALES数据库创建一个临时表空间TEMP02。
SQL> create temporary tablespace temp02 tempfile'空间地址'size 10m extent management local uniform size 5m;
(4)将BOOKSALES数据库临时表空间TEMP和TEMPO2都放入临时表空间组TEMPGROUP中。
SQL> alter tablespace temp tablespace group tempgroup; SQL> alter tablespace temp02 tablespace group tempgroup;
(5)为BOOKSALES数据库创建一个名为UNDO02的撤销表空间,并设置当前数据库的在线撤销表空间。
SQL> create undo tablespace undo02 datafile'空间地址' size 20m;
(6)为BOOKSALES数据库的表空间BOOKTBS1添加一个大小为50MB的数据文件,以改变该表空间的大小。
SQL> alter tablespace BOOKTBS1 add datafile '空间地址' size 50m;
(7)将BOOKSALES数据库的表空间BOOKTBS2的数据文件修改为可以自动扩展,每次扩展5MB,最大容量为100MB。
SQL> create undo tablespace BOOKTBS2 datafile '空间地址' size 10m autoextend on next 5m maxsize 100m;
(8)创建一个名为test的表,存储于BOOKTBS1表空间中,向表中插入一天记录。
SQL> create table test(id number primary key,name char(20)) tablespace BOOKTBS1;
(9)将BOOKSALES数据库的BOOKTBS1表空间设置为脱机状态,测试该表空间是否可以使用。
SQL> alter tablespace BOOKTBS1 offline; SQL> insert into test values(2,'s row');
(10)将BOOKSALES数据库的BOOKTBS1表空间设置为联机状态,测试该空间是否可以使用。
SQL> alter tablespace BOOKTBS1 online; SQL> insert into test values(2,'s row');
(11)将BOOKSALES数据库的BOOKTBS1表空间设置为只读状态,测试该表空间是否可以进行数据的写入操作。
SQL> alter tablespace BOOKTBS1 read only; SQL> insert into test values(3,'t row');
(12)将BOOKSALES数据库的BOOKTBS1表空间设置为读/写状态,测试该表空间是否可以进行数据的读/写操作。
SQL> alter tablespace BOOKTBS1 read write; SQL> insert into test values(3,'t row');
(13)将BOOKSALES数据库的BOOKTBS1设置为数据默认表空间,将临时表空间组TEMPGROUP设置为数据默认临时表空间。
SQL> alter database default tablespace BOOKTBS1; SQL> alter database default temporary tablespace tempgroup;
(14)分别备份BOOKSALES数据库的USERS和BOOKTBS1、BOOKTBS3三个表空间。
SQL> host copy users空间地址 其他的同上
②PS:如果输入(alter tablespace users begin bacup;)回车出现 ORA-01123:无法启动联机备份;未启用介质恢复。
解决办法步骤如下:
(①)管理员身份登录
SQL>conn / as sysdba
(②)关闭数据库实例
SQL>shutdown immediate
(③)打开数据库到mount阶段
SQL>startup mount
(④)更改数据库归档模式
SQL> alter database archivelog;
(⑤)启动数据库
SQL>alter databsae open;
(⑥)进行表空间备份
SQL> alter tablespace users begin backup;
(15)查询BOOKSALES数据库所有表空间及其状态信息。
SQL> select tablespace_name,extent_management,allocation_type,contents from dba_tablespace;
(16)查询BOOKSALES数据库所有表空间及其数据文件信息。
SQL> select tablespace_name,file_name from dba_data_files;
(17)删除BOOKSALES数据库BOOKTBS2表空间及其所有内容,同时删除操作系统上的数据文件。
SQL> drop tablespace BOOKTBS2 including contents and datafiles;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义