初识Oracle day08(表空间的相关知识与应用)

1-创建表空间需要创建数据文件么?为什么?
创建表空间必须创建数据文件,增加数据文件必须指定表空间。
Oracle磁盘空间管理中的最高逻辑层是表空间(tablespace),它的下一层是段,并且一个段只能驻留在一个表空间段的下一层是盘区,一个或者多个盘区可以组成一个段,并且每个盘区只能驻留在一个数据文件中。所以数据文件是表空间必不可少的一部分。
2-[表空间与数据文件的关系] dba_data_files 代码编写并每行加注释
创建表空间必须创建数据文件,增加数据文件必须指定表空间。
一个数据库包含多个表空间,一个表空间可以包含多个数据文件。
表空间可以看做是Oracle的逻辑结构
数据文件可以看做是Oracle的物理结构
col tablespace_name for a10 --设置列的宽度
col file_name fro a50 --设置文件名的长度
col bytes for 999,999,999 --格式化
select tablespace_name,file_name,bytes from dba_data_files order by tables_name;
在这里插入图片描述
3-[创建表空间] local1 代码编写并每行加注释
等同的扩展
create tablespace tbs_test_1 datafile --创建表空间
‘E:\Oraclelogfiles\OracleData\datafile1.dbf’ --创建数据文件的存放路径
size 10M --数据文件的初始值大小
extent management local uniform size 256K; --本地等同的拓展模式每次拓展大小为256K
在这里插入图片描述
自动的扩展
create tablespace tbs_test_2 datafile --创建表空间
‘E:\Oraclelogfiles\OracleData\datafile2.dbf’ --创建数据文件的存放路径
size 10m ----数据文件的初始值大小
extent management local autoallocate; --扩展模式为自动增长模式
在这里插入图片描述
4-show parameter undo_tablespce;代码是什么意思?
查询当前实例所设置的undo表空间参数
在这里插入图片描述
5-[管理撤销表空间] create_undo_tbs 代码编写并每行加注释
创建Undo 表空间
create undo tablespace undo_tbs_1
datafile ‘E:\Oraclelogfiles\OracleData\undotbs1.dbf’ --undo表空间路径
size 100M;–undo表空间大小
在这里插入图片描述
6-[管理撤销表空间] Amend_tbs 代码编写并每行加注释
修改undo表空间
通过向表空间里面添加一条记录来修改表空间
alter tablespace undo_tbs_1
add datafile ‘D:\OracleFiles\OracleData\undotbs_add.dbf’
size 20M;
在这里插入图片描述
7-写出删除表空的SQL语句,是物理删除还是文件磁盘删除?
删除undo表空间是:(这种删除只是逻辑上的删除,要想真的删除,需要手动删除)
在这里插入图片描述
8-dba_tablespaces 存放的是什么信息?有哪些字段?每个字段类型是什么?
两种查询方式都可以查看表空间的信息
在这里插入图片描述
在这里插入图片描述
9-列举几个会用到临时表空间的操作SQL。
(1)select distinct 不重复检索
(2)union 联合查询
(3)minus计算
(4)analyze分析
(5)连接两个没有索引的表
10-[管理临时表空间] create temp tbs 代码编写并每行加注释
创建临时表空间:
create temporary tablespace temp_01 --创建临时表空间
tempfile ‘E:\Oraclelogfiles\tempfiles\temp_01.tpf’ --在表空间中创建临时文件
size 300m; --文件大小
在这里插入图片描述
11-dba_temp_files 存放的是什么信息?有哪些字段?每个字段类型是什么?
下面语句可以查看各个创建的临时表空间,主要存放了名称、大小和路径
在这里插入图片描述
在这里插入图片描述
12-临时表空间文件名是以什么后缀结尾的?
临时表空间文件名是以.tpf后缀结尾的
13-撤销表空间的作用是什么?
(1)使读写一致
在不同的进程或用户模式下检索数据时,Oracle只能给用户提供被提交的数据这样可以确保数据的一致性。
(2)可以回退事务
当执行修改(update)数据操作时,旧的数据被放到undo段,而新的数据被放入到数据段中。
(3)事务恢复
事务恢复是例程恢复的一部分,它是由Oracle服务器自动完成的,如果在数据库自动运行过程中出现例程失败(如断电、内存故障等),那么当重启Oracle服务器时,后台进程SMON会自动执行例程恢复
(4)闪回操作
Oracle 11g新增了强大的闪回功能,其中,很多闪回技术都是基于undo段实现的,比如:闪回表、闪回事务查询,闪回版本查询等。
14-insert、update、delete 是DDL操作还是DML操作?
insert、update、delete,select是数据操纵语言DML操作
create 、drop、alter是数据定义语言DDL操作
15-写出更改表空间读写状态SQL
更改表空间的状态:如果设置成为只读状态,那么就不能够对该表空间中大数据进行DML操作(insert,delete,update)但是对于某些对象进行删除操作还是可以进行的,比如索引和目录就可以被删除掉。
alter tablespace tbs_test_2 read only;
再回复为可读可写状态:
alter tablesapce tbs_test_2 read write;
在这里插入图片描述
16-写出表空间重命名SQL
alter tablesapce tbs_test_2 rename to tbs_test_3;
在这里插入图片描述
17-[维护表空间与数据文件] 向已有数据文件的表空间增加数据文件 add_datafile 代码编写并每行加注释
alter tablespace users add datafile --向已有的表空间中添加数据文件
‘D:Oraclelogfile\users02.dbf’
size 10 autoextend on next 5m maxsize unlimited; --设置文件大小并自动扩展,每次扩展大小为5M不受限制
在这里插入图片描述
补充:
删除users下面的users02.dbf表空间
在这里插入图片描述
18-表空间可以跨磁盘是什么意思?
比如说上面题目中的users的表空间在D盘中,应该有一个users01.dbf, 此时我们又向users表空间添加了一个E盘下的user02.dbf数据文件。
19-如何设置表空间数据文件为自动库扩展?写出SQL,且说明为什么要这么设置?
首先,创建表空间
其次,设置路径
最后,定义扩展模式
相关的SQL语句自动扩展模式如下:
create tablespace tbs_test_2 datafile --创建表空间
‘E:\Oraclelogfiles\OracleData\datafile2.dbf’ --创建数据文件的存放路径
size 10m ----数据文件的初始值大小
extent management local autoallocate; --扩展模式为自动增长模式
原因:
Oracle数据库的数据文件可以设置成具有自动扩展的功能,当数据文件剩余的自由空间不足的时候,它会按照设定好的扩展量自动的扩展到指定的数值,这样可以避免由于剩余的表空间不足导致数据对象需求空间扩展失败。
到92数据库查看临时表空间大小以及文件所在位置.
在这里插入图片描述
到92数据库查看系统表空间大小以及数据文件所在位置
select file_name,bytes,tablespace_name from dba_data_files;
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值