1.创建一张表,在表上创建一个索引,分别查询表,索引各自分配了多少个extents,多少个数据块以及总共占用空间的大小(bytes)。
答:创建一张表t,为字段object_id创建索引t_object_id
分别查询表t,索引t_object_id所占的extents以及大小
2.创建一个分区表T,创建2个分区P1,P2,并且把每个分区放在不同的表空间上,从视图中查到表和分区的信息,以及每个分区所在表空间的信息。注意观察当前表T所在的表空间是什么?给出原因。
答:新建一个分区表T,以字段object_id的值为分区条件
向表中插入数据并查看表以及分区表信息
可以看到,表T没有对应的表空间信息,因为此时表T中没有存放数据,不是数据的载体,表T的表空间信息没有意义,并且表T拥有的两个分区表存放在不同的表空间中。此时查询记录分区表的信息视图user_tab_partitions,可获得相应分区的表空间信息。
3.查看当前用户下有哪些对象?有哪些表?有哪些索引?
答:查看当前用户下的对象信息
查询当前用户下的所有表信息
查看当前用户下的索引信息
4.分别演示数据库打开的三个阶段(nomount,mount,open),并分别从视图中查到它的状态。
答:
5.发出一条sql语句,从视图中找到这条sql,同时找到这条SQL的执行时间。
答:需要从以下视图中获得查询结果,v$mystat,v$session,v$sql
6.演示用Rman对数据库做全备份和全库恢复的示例,贴出整个操作过程(贴出恢复后数据库状态,要保证恢复后的数据库成功打开)。
答:1、查看当前数据库的归档模式
2、登录rman
3、对数据库进行全库备份,生成两个备份文件,一个为数据文件的备份,一个为控制文件的备份
4、在系统中找到这两个文件
5、查看备份集信息
6、关闭数据库,删除所有的数据文件,打开数据库,报错
7、查看此时数据库的状态,发现为mount,可以登录rman进行数据库恢复
8、还原数据文件
9、进行数据库恢复
10、打开数据库——成功,查询所有数据文件状态
至此数据库备份和恢复实验结束~~~鼓掌!!
7.演示将某个表的数据闪回到历史某个时间点的示例,贴出整个操作过程(查询闪回)。
答:1、查看当前数据库是否开启闪回,没有开启,则将数据库启动到mount状态进行修改
2、修改后查看数据库当前已经开启闪回
3、查询当前时间和scn号,查询表t中的数据,并删除t表数据
4、根据scn进行查询闪回
5、根据scn号将表t数据恢复