实验三(相关表空间)
- 格式:doc
- 大小:80.00 KB
- 文档页数:27
实验三表空间及数据库文件管理实验报告姓名:班级:学号:一、实验目的1)理解Oracle数据库的体系结构2)掌握表空间的概念及其管理方法3)掌握数据文件的作用及其管理4)掌握控制文件的作用及其管理5)掌握重做日志文件的工作方式及其管理6)掌握数据库归档模式设置及归档管理二、预习内容(参考教材第5章、第6章的内容)1)什么是Oracle数据库的物理结构,具体包括哪几类文件?2)什么是Oracle数据库的逻辑结构,如何表现?3)数据库、表空间、数据文件、数据库对象之间的关系如何?三、实验环境32位Windows XP/Windows Server2000/Windows Server2003 +Oracle10g环境四、实验内容1)在SQL*PLUS环境下,使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS1,其对应的数据文件为usertbs1_1.DBF,大小为20MB。
2)使用SQL命令创建一个本地管理方式下自动分区管理的表空间USERTBS2,要求每个分区大小为512KB。
3)修改USERTBS1表空间的大小为30MB,将其数据文件改为自动扩展方式,每次扩展5MB,最大值为100MB。
4)使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为当前数据库实例的默认临时表空间。
5)使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。
6)创建一个回滚表空间UNDOTBS,并作为数据库的撤销表空间。
7)删除表空间USERTBS2,同时删除该表空间的内容以及对应的操作系统文件。
8)为USERS表空间添加一个数据文件users03.DBF,大小为50MB。
9)为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20M。
10)将表空间USERS中的数据文件users03.DBF更名为userdata03.dbf,将表空间EXAMPLE中的数据文件example02.dbf更名为example03.dbf。
表和表空间:释放表空间采用altertablemove,没意识到影响展开全文通过前面两节学习可知,deltete不会释放表空间,但是可以重用,也就是插入可以填补空洞,当然现实应用中确实是存在经常删除很少插入的情况,这样就存在了释放表空间优化数据库的可行性了,truncate有不能带条件的缺陷,自然就想到用alter table move重移表空间的方法。
这里要注意三个要素1、 alter table move 省略了tablespace XXX, 表示用户移到自己默认的表空间,因此当前表空间至少要是该表两倍大,这很好理解,由于易错所以提出,就不再细说了。
2、alter table move过程中会导致索引失效,必须要考虑重新索引3、alter table move过程中会产生锁,应该避免在业务高峰期操作!就第二点和第三点做实验说明如下吧Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0Connected as ljb先获取该SESSION的SID,方便实验观察SQL> select sid from v$mystat where rownum=1;SID--------------------160SQL> create table ljb_test as select * from dba_objects;Table createdSQL> select count(*) from ljb_test;COUNT(*)-------------------62659SQL> create index idx_test on ljb_test(object_id);Index created查询当前该SESSION并无锁SQL> select * from v$lock where sid=160;ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK -------- -------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ----------------------------------------- 查看索引状态也正常!SQL> select index_name,table_name,status from user_indexes where table_name='LJB_TEST';INDEX_NAME TABLE_NAME STATUS------------------------------ ------------------------------ -----------------------------------------------IDX_TEST LJB_TEST VALIDalter table ljb_test move;重新再开一个窗口执行如下命令,发现锁已经产生了select * from v$lock where sid=160;ADDR KADDR SID TYPE ID1 ID2 LMODE REQ UEST CTIME BLOCK-------- -------- ------ ---- ------- ---------- ------ -------- ------ ------------------------------------------------------------------ 2043451C20434530 160 CF 0 0 4 0 0 0 1FA072BC1FA073D8 160 TX 917534 592 6 0 1 0 204344C0204344D4 160 HW 76 323783147 6 0 01F9C42241F9C423C 160 TM 84825 0 6 0 0 0 204342F420434308 160 TT 76 16 4 0 0 0 1F9C377C1F9C37C4 160 TS 76 323783147 6 0 0 0不过由于alter table move命令未结束,索引仍然有效!SQL> select index_name,table_name,status from user_indexes where table_name='LJB_TEST';INDEX_NAME TABLE_NAME STATUS------------------------------ ------------------------------ ----------------------------------------------------IDX_TEST LJB_TEST VALID等alter table ljb_test move;命令结束后,再查看发现锁消失了SQL> select * from v$lock where sid=160;ADDR KADDR SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK -------- -------- ---------- ---- ---------- ---------- ---------- ---------- ---------- ------------------------------------------ 但是索引却失效了!SQL> select index_name,table_name,status from user_indexes where table_name='LJB_TEST';INDEX_NAME TABLE_NAME STATUS ------------------------------ ------------------------------ ----------------------------------------------------IDX_TEST LJB_TEST UNUSABLE总结:这个实验说明:除了知道alter table move命令可以释放空间(当然这语句最根本的作用还是移动表到不同的表空间去,这里只是借用它可以释放空间的一个特性),还要了解该动作会锁表直到命令结束,而且会导致索引失效,属于危险命令,建议千万不要在业务高峰期操作。
实验一表空间管理一、实验目的(1)了解表空间的区、段管理方式;(2)熟练掌握表空间状态查询、表空间创建、修改、扩展、删除等基本操作;(3)掌握数据文件的创建方法;(4)了解数据文件与表空间的关系;二、主要仪器设备Windows系统、Oracle 10g、SQL*PLUS。
三、实验内容表空间是Oracle数据库的逻辑概念,用户创建的对象在逻辑上都存放在表空间里,所以用户的活动是在表空间之上的。
管理表空间,可以分为创建、修改和删除。
四、操作方法与实验步骤(1)使用autoallocate方式创建表空间:(2)使用uniform区分配方式创建表空间:(3)使用auto段管理方式创建数据库:(4)创建临时表空间及撤销表空间:(5)修改表空间:增加文件:修改大小:修改状态使其脱机:(6)删除表空间:(7)查询创建的某些表空间的信息:五、问题解答(1)在创建表空间时,其对应的物理数据文件需要提前创建吗?新建表空间时,不需要提前创建对应的数据文件,而且也不能单独创建不属于任何表空间的数据文件。
一个数据文件一旦创建成功,那么它必定对应一个表空间。
(2)一个表空间可以有多个数据文件吗?一个数据文件可以存放多个表空间吗?在例子中我们可以看到,一个表空间可以对应多个数据文件,但是一个数据文件只能属于一个表空间。
六、思考题(1)SYSYTEM表空间、SYSAUX表空间、TEMP表空间、UNDOTBS1表空间可以被脱机吗?在数据库打开后,需要用到system、sysaux系统表空间,因此它们不可以被脱机,否则数据库不可用。
TEMP表空间也不可以被脱机,UNDOTBS1可以被设置为脱机。
oracle表空间和数据文件的管理实验第一篇:oracle表空间和数据文件的管理实验表空间和数据文件的管理实验试验目的:全面掌握表空间和数据文件的创建、管理过程试验内容:1、创建表空间、增加数据文件2、管理表空间和数据文件的的各种操作试验步骤:1、掌握表空间和数据文件相关的概念1)oracle默认的表空间系统默认的表空间:SYSTEM、SYSAUX、UNDOTBS1、EMP、EXAMPLE、USERS 2)系统表空间SYSTEM、SYSAUX是系统表空间,SYSTEM用于存放oracle数据字典的结构和内部元数据。
SYSAUX是SYSTEM的辅助表空间用于存放个模式(用户)的对象元数据。
3)非系统表空间由DBA根据需要创建,存放用户自己的数据,也可以包含临时数据以及UNDO数据。
2、创建表空间1)创建表空间的语法CREATE [smallfile|bigfile] TABLESPACE tablespace_name DATAFILE ‘/path/filename’ SIZE [k|m] REUSE[‘/path/filename’ SIZE [k|m] REUSE][AUTOEXTEND [ON|OFF] NEXT [k|m] MAXSIZE [UNLIMITED|[K|M]]] [ONLINE|OFFLINE] [LOGGING|NOLOGGING] [PERMANENT|TEMPORARY] [DICTIONARY|LOCAL]2)定义表空间名字及属性创建两个表空间ts_test1、ts_test2,本地化管理(Local,默认)、永久表空间(permantent,默认)3)定义数据文件名字、路径、初始大小、自动扩展等属性数据文件data_test1、data_test2 路径:c:disk1data_test1.dbf c:disk2data_test24)创建脚本:a、创建本地永久表空间//创建本地永久表空间ts_test1和ts_test2,默认为永久和本地SQL>create tablespace ts_test1 datafile ‘c:disk1data_file1.dbf’ size=50m reuse autoextend on next 10m;SQL>create tablespace ts_test2 datafile ‘c:disk2data_file2.dbf’ size=50m reuse autoextend on next 10m maxsize unlimited;查看一下创建完成的结果//查看dba_tablespaces结构SQL>desc dba_tablespaces;//查看字典中的所有表空间情况,extent_management值为local 时为本地表空间SQL>select tablespace_name,status,extent_management,content from dba_tablespaces;//查看创建表空间时创建的数据文件,首先查看dba_data_files字典结构SQL>desc dba_data_files;//查看数据文件情况SQL>set linesize 120 SQL>col file_name for a20 SQL>col file_id for a20 SQL>col tablespace_name a30 SQL>col online_status for a20 SQL>select file_name,file_id,tablespace_name,online_status from dba_data_files;b、创建还原表空间和临时表空间//创建还原表空间SQL>create undo tablespace test_undo datafile ‘c:disk3test_undo’ size 20m;//查看创建结果,contents为表空间内容类型,如undoSQL>select tablespace_name,contents fromdba_tablespaces;c、创建临时表空间//创建临时表空间SQL>create temporary tablespace test_temptempfile ‘c:disk4test_temp.dbf’ size 20m extent management local;//查询创建结果SQL>select tablespace_name,extent_management,contents from dba_tablespaces;d、增加数据文件//增加数据文件SQL>alter tablespace ts_test1 add datafile ‘c:disk1ts_test11.dbf’ size 10m;//查看增加数据文件的结果SQL>col file_name for a30SQL>col tablespace_name for a30 SQL>select file_name,tablespace_name from dba_data_files;3、管理表空间的各种操作1)改变表空间的读写状态//将表空间设为只读//这时表空间应为online状态,表空间不能包含回滚段,不能是归档模式//查看数据库日志模式SQL>archive log list;//查看表空间contentsSQL>select tablespace_name,contents from dba_tablespaces where tablespace_name like‘TS_%’;//修改为只读SQL>alter tablespace ts_test1 read only;2)表空间脱机离线、在线连接SQL>alter tablespace ts_test1 offline;SQL>alter tablespace ts_test1 online;//查看表空间状态SQL>select tablespace_name,status from dba_tablespaces;3)修改表空间名称 //查询当前表空间名称和所包含的数据文件SQL>select file_name,tablespace_name from dba_data_files;//确认表空间处在online状态SQL>select tablespace_name,status from dba_tablespaces;//表空间改名SQL>alter tablespace ts_test2 rename to ts_test22;//查询修改结果SQL>Col file_name for a30;SQL>col tablespace_name for a30;SQL>select file_name,tablespace_name from dba_data_files;4)设置默认表空间SQL>alter database default tablespace users //设置默认临时表空间SQL>alter database default temporary tablespace temp;5)删除表空间SQL>drop tablespace ts_test2;//仅删除表空间信息不删除表空间数据文件 SQL>drop tablespace ts_test2 includng contents;//包括数据文件全部删除查看删除后的结果情况SQL>select file_name,tablespace_name from dba_data_files;6)切换undo表空间SQL>alter system set undo_tablespace =undotbs02;7)删除undo表空间要删除正在使用的undo表空间,首先切换undo表空间后在进行删除例如删除undost01 SQL>alter system set undo_tablespace=undost02;SQL>drop tablespace undost01;8)查询undo表空间信息SQL>show parameter undo_tablespace;4、管理数据文件的各种操作 1)在表空间中新增一个数据文件SQL>alter tablespace ts_test1 add datafile‘c:dsk1ta_test111.dbf’ size 50m;2)删除表空间中无数据的数据文件第一种语法SQL>alter database datafile ‘c:disk1ts_test1.dbf’ offline;//数据文件脱机SQL>alter tablespace ts_test1 drop datafile ‘c:disk1ts_test111.dbf’;第二种语法:SQL>alter database datafile ‘mytb.dbf’ offline drop;3)数据文件自动扩展设置SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ autoextend on next 10m maxsize 500m;4)重置数据文件大小,收回或扩数据文件空间SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ resize 45m;查询重置数据文件大小后的结果SQL>col file_name for a30;SQL>col tablespace_name for a30;SQL>selectfile_name,tablespace_name,bytes/(1024*1024)fromdba_data_files;5)移动数据文件有两条语句可以实现对数据文件的移动:a、alter tablespace tablespace_name rename datafile ‘/path/file_name1’to ‘/path/file_name_new’;a这条语句主要适合用户表空间,在执行这条语句时表空间必须脱机才能执行。
第三章实验目的:了解SQL*Plus工具的功能;掌握SQL*Plus连接与断开数据库的多种方式;熟悉掌握DESCRIBE命令的使用;熟悉掌握各种编辑命令;掌握临时变量与已定义变量的使用;掌握格式化查询结果的设置;掌握简单报表的创建。
实验内容:3.1使用connect命令通过scott用户连接数据库,然后使用disconn命令断开数据库。
在执行对表的查询时,提示未连接。
3.2使用describe命令,查看scott用户的emp表的结构。
3.3查看scott用户的emp表,查询条件为empno的值大于7800且小于7900,在查询结果中显示数据的empno、job、mgr、sal列的信息。
对第一行的select语句进行操作使用append命令追加一列使用change命令对列执行修改操作使用del命令和list命令使用run命令执行语句3.4将缓冲区中的SQL语句保存到文件中如果该文件已存在,若不指定append或replace,将显示错误指定append或replace选项,保存数据成功scott_emp_query.sql文件的内容以该文件所在的目录位置如图3.5将scott_emp_query.sql文件的内容读入缓冲区中3.6使用start命令读取并运行scott_emp_query.sql文件3.7执行edit命令显示缓冲区中的内容3.8使用spool命令,指定文件scott_emp_outcome.txt在安装目录下,找到scott_emp_outcome.txt文件3.9使用select语句对scott用户的表emp执行查询操作,在where子句中,定义一个临时变量temp3.10在select语句中,指定临时变量column_name3.11使用&&符号定义改变量3.12执行set verify off命令3.13使用set define命令将变量定义字符设置为@字符3.14创建一个脚本文件temp.sql,在该脚本文件中定义上述select语句3.15使用define命令,查看系统中所有已定义变量3.16使用define命令,定义一个变量temp,为该变量赋值78503.17使用accept命令定义temp变量,并指定相应的选项设置3.18使用column命令,对scott用户的emp表的输出进行格式化设置3.19使用pagesize命令,设置一页显示20行信息3.20对scott用户的表emp执行查询操作时,使用linesize命令之前之后的输出结果3.21查询scott用户的emp表时,使用ttitle和btitle命令设置页眉和页脚信息3.22使用break命令和compute命令将scott.emp表的输出结果进行分组·3.23将scott用户的emp表放入到缓冲区,然后设置ename列和job列的格式,再使用column ename clear语句清除ename列的格式实验指导——使用报表统计各部门人数实验感悟:通过本章的实验操作,我对SQL*Plus工具的功能有个初步了解,基本熟悉SQL*Plus命令和相关变量,比如使用spool命令复制输出结果到文件;其次,我们还需掌握格式化查询结果的设置及简单报表的制作。
数据库原理实验报告(3)实验三数据表的创建与管理实验南京晓庄学院《数据库原理与应用》课程实验报告实验三数据表的创建与管理实验所在院(系): 数学与信息技术学院班级:学号:姓名:1.实验目的(1) 理解SQL Server 20XX常用数据类型和表结构的设计方法。
理解主键、外键含义,掌握建立各表相关属性间参照关系的方法。
(2) 熟练掌握使用SQL Server Management Studio图形工具创建表,删除表,修改表结构。
插入及更新数据的方法。
(3) 熟练掌握使用Transact-SQL语句创建表,删除表,修改表结构,插入及更新数据的方法。
2.实验要求基本实验:(1) 在实验二所创建的“TM”数据库中合理设计以下各表逻辑结构:学生信息课程信息学习信息院系信息要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。
(2) 依据你所设计的表结构,使用SQL Server Management Studio图形工具在“TM”数据库中创建学生信息表和课程信息表,并试验在图形界面中修改表结构,删除数据表,输入并更新数据的方法。
(3) 依据你所设计表结构,使用Transact-SQL语句创建学习信息表和院系信息表,并试验使用T-SQL语句修改表结构,删除数据表,插入和更新数据的方法。
(4) 找出已创建各表之间相关属性的参照关系,并在相关表中增加引用完整性约束。
(5) 按要求完成实验报告。
扩展实验:(1) 在“TM”数据库中补充设计以下各表结构:教师信息授课信息班级信息专业信息图书信息(图书号,书名,作者,出版社,出版日期,册数,价格,分类) 借书偏息奖励信息(2) 设计并实现各表之间相关属性的参照关系。
(3) 使用SQL Management Studio图形界面或Transact-SQL在“TM”数据库中创建前述各表。
并插入部分数据,要求所插入数据合理有效。
3.实验步骤、结果和总结实验步骤/结果(1)合理命名并设计学生信息、课程信息、学习信息和院系信息结构,以表格描述相关信息。
练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。
(3)控制文件通过如下方式查看控制文件相关信息:给出运行结果截图:练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。
(4)参数文件①通过如下方式查看参数文件相关信息:a、show parameter显示服务器参数b、查询试图v$Parameter,可以利用该动态性能视图来确定参数的默认值是否被修改,以及是否可以用alter system和alter session命令修改阅读结果并理解各数据项的含义。
②修改服务器参数a、通过企业管理器(OEM)修改b、使用alter system修改服务器参数。
格式如下:Alter system set parameter =value <commernt =‘text’><feferred><scope=memory|spfile|both><sid=‘sid’|*>Eg:alter system set db_block_size=4096;练习:在%oracle_home%(如D:\app\Administrator\product\11.2.0\dbhome_1\database 或者D:\app\Administrator\product\11.2.0\dbhome_1\srvm\admin)找到名为SPFileSID.ora(如:SPfileorcl.ora)和init.ora的文件,此文件即为参数文件,用记事本或者写字板打开它们,阅读其内容并理解各数据项的作用。
3、Oracle逻辑存储结构(1)查看表空间的名称及大小执行以下语句,并给出运行结果。
(2)查看表空间物理文件的名称及大小执行以下语句,并给出运行结果。
(3)查看回滚段名称及大小执行以下语句,并给出运行结果。
(4)查看所有表空间对应的数据文件名:SQL>select distinct file_name,tablespace_name,AUTOEXTENSIBLEfrom dba_data_files;(5)查看表空间的使用情况:SQL>select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_space group by tablespace_name;(6)查看回滚段的使用情况,哪个用户正在使用回滚段的资源:SQL>select ername, from v$transaction t,v$rollstat r,v$rollname u,v$session swhere s.taddr=t.addr and t.xidusn=n and n=n order by ername;4、Oracle内存与进程结构(1)查看sga情况:SQL>SELECT NAME, BYTESFROM SYS.V_$SGASTAT ORDER BY NAME ASC;(2)数据库共享池性能检查:SQL>Select namespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidations from v$librarycachewhere namespace in ('SQLAREA','TABLE/PROCEDURE','BODY','TRIGGER'); (3)检查共享内存的剩余情况:SQL>select request_misses, request_failuresfrom v$shared_pool_reserved;(4)数据高速缓冲区性能检查:SQL>select 1-p.value/(b.value+c.value) "db buffer cache hitratio"from v$sysstat p,v$sysstat b,v$sysstat cWhere ='physical reads' and ='db block gets'and ='consistent gets';(5)查看排序段的性能:SQL>SELECT name, valueFROM v$sysstatWHERE name IN ('sorts (memory)', 'sorts (disk)');(6)查看数据库中某用户,正在运行什么SQL语句SQL>SELECT SQL_TEXTFROM V$SQLTEXT T, V$SESSION SWHERE T.ADDRESS=S.SQL_ADDRESSAND T.HASH_value=S.SQL_HASH_value AND S.MACHINE='XXXXX' OR USERNAME='WACOS';4、其他(1)查看数据库库对象:SQL>select owner, object_type, status, count(*) count# from all_objectsgroup by owner, object_type, status;(2)查看数据库的创建日期和归档方式:SQL>Select Created, Log_Mode From V$Database;5、作业与思考练习题1、现有控制文件的位置及其名称是什么?提示:查询动态性能视图V$CONTROLFILE。
实验三:Oracle数据库对象管理方法
实验内容和要求:
1.表空间和表的存储管理
2.Oracle数据库各种对象的创建和管理方法
索引的管理
视图的管理
同义词的管理
序列的管理
3.事务管理的方法
练习:
1.在OEM下以姓名的全拼创建一个表空间(区间分配使用“字典管理”方式,
区的大小随意设置)
2.在sql/plus环境下用预分配表的手工区间分配的方式创建employee表,其中
①该表所属表空间为在1题中创建的表空间。
②初始区大小为50K,第二个区大小为200K,区的大小增加比例为30,允许
的最大区的个数为10。
3.为表的Emp_ID字段创建一个索引。
4.在OEM环境下创建一个对Emp_name字段和Emp_addre字段的内容的视图
Emp_View。
5.将表按照Emp_salary降序排序
6.查找住址为‘海淀’或‘东城’的雇员的记录
7.查找姓‘刘’的雇员的工资记录
8.设置一个存储点p
9.将表中雇员名为‘王国光’的工资值改为'2000.00'
10.删除表中姓名为'陈明'的雇员的记录
11.将事务回退到存储点p
12.为该表分别创建一个public同义词(如pub_emp)和私有同义词priv_emp
13.使用system/manager访问此同义词
14.尝试用scott/tiger登录sqlplus访问此同义词,看看结果如何
15.计算Oracle为该表分配的前4个区的大小依次为多少?请写出计算过程。
Oracle 数据库课程上机实验报告学院名称:专业班级:姓名:学号:实验成绩:任课教师:目录实验一 (3)实验三 ORACLE数据库结构与网络配置 (3)实验四 (8)实验五数据表及其操作 (10)实验六 SQL命令操作 (14)实验七创建索引 (21)实验一实验三 ORACLE数据库结构与网络配置实验内容与数据库结构相关的数据字典查询实验1、查看表空间的名称及大小2、查看表空间物理文件的名称及大小3、查看回滚段名称及大小4、查看控制文件5、查看日志文件6、查看表空间的使用情况7、查看数据库库对象8、查看数据库的版本9、查看数据库的创建日期和归档方式10、查看临时数据库文件常用数据库信息查看命令(1)oracle中怎样查看总共有哪些用户(2)查看oracle当前连接数(3)列出当前数据库建立的会话情况3.2 表空间操作●创建表空间●修改表空间的相关操作1)增加表空间中的数据文件2)删除表空间中的数据文件3)修改表空间文件的数据文件大小4)修改表空间数据文件的自动增长属性。
实验四实验五数据表及其操作实验内容5.1创建基本表以system用户登录sqlplus创建表空间创建Testpace表空间5.2修改表清空表中的数据5.3 删除表5.4聚集表(1)创建聚集(聚集表的创建与操作)引用参照完整性三表定义了suppliers,products,order details三表间的三个级联关系实验六 SQL命令操作实验内容6.1数据查询select创建student,sc,course三表,并且插入数据查询1:查询2:查询3:查询4;实验七创建索引实验内容7.1在emp表中的sal字段上创建一个名为index_sal的b树索引,按字段值的蒋序排序7.2 在dept表的dname字段上创建一个具有唯一性的b树索引,索引值为字母序排序。
7.3在emp表的ename和deptno字段上创建一个复合索引7.10将参数设置为跟踪状态,执行对emp表的查询命令,查看索引应用的跟踪结果。
物理存储结构实验内容1. 用界面方式操作下列各题(1) 为已存在的表空间USERTBS1,添加一个数据文件,文件名为USER01.DBF,大小为30MB。
(2) 为已存在的临时表空间USERTEMP1,添加一个数据文件,文件名为USERTEMP01.DBF,大小为20MB。
(3) 修改表空间USERTBS1中的USER01.DBF为自动扩展方式,每次扩展5 MB,最大为100MB。
(4) 修改临时表空间USERTEMP1中的USERTEMP01.DBF文件的大小为40MB。
(5) 将表空间USERTBS1中的数据文件USER01.DBF更名为USER001.DBF,将表空间USERTEMP1中的文件USERTEMP01.DBF更名为USERTEMP001.DBF。
(6) 为数据库添加一个重做日志文件组group4,组内包含两个成员文件,分别为redo4a.log 和redo4b.log,大小分别为5 MB。
(7) 为重做日志文件组group4,添加一个成员文件redo4c.log,大小分别为5 MB。
(8) 删除重做日志文件组group4的成员文件redo4c.log。
(9) 删除重做日志文件组group4。
(10) 将数据库设置为归档模式,并采用自动归档方式。
2. 用命令方式操作下列各题(1) 为表空间USERTBS3,添加一个数据文件,文件名为USER03.DBF,大小为30MB。
使用命令方式为临时表空间USERTEMP2,添加一个数据文件,文件名为USERTEMP02.DBF,大小为20MB。
(2) 修改表空间USERTBS3中的USER03.DBF为自动扩展方式,每次扩展8 MB,最大为100MB。
(3) 修改临时表空间USERTEMP2中的USERTEMP02.DBF文件的大小为50MB。
(4) 将表空间USERTBS3中的数据文件USER03.DBF更名为USER003.DBF,将表空间USERTEMP2中的文件USERTEMP02.DBF更名为USERTEMP002.DBF。
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as systemSQL> select * from v$tablespace2 select * from v$tablespace;select * from v$tablespaceselect * from v$tablespaceORA-00933: SQL 命令未正确结束SQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YESSQL> SELECT TABLESPACE_NAME AS SYSTEM,SUM(BYTES)2 FROM DBA_DATA_FILES3 GROUP BY TABLESPACE_NAME;SYSTEM SUM(BYTES)------------------------------ ----------SYSAUX 251658240UNDOTBS1 26214400USERS 5242880SYSTEM 503316480SQL>SELECT TABLESPACE_NAME AS USERS,SUM(BYTES) SQL> SELECT TABLESPACE_NAME AS USERS,SUM(BYTES)2 FROM DBA_DATA_FILES3 GROUP BY TABLESPACE_NAME;USERS SUM(BYTES)------------------------------ ----------SYSAUX 251658240 UNDOTBS1 26214400USERS 5242880SYSTEM 503316480SQL> CREATE TABLESPACE USER12 DATEFILE'D:\ORACLE\USER1.DBF' SIZE 50M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATE;CREATE TABLESPACE USER1DATEFILE'D:\ORACLE\USER1.DBF' SIZE 50MEXTENT MANAGEMENT LOCAL AUTOALLOCATEORA-02180: 无效的CREATE TABLESPACE 选项SQL> CREATE TABLESPAE ORACLE12 DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATION;CREATE TABLESPAE ORACLE1DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50MEXTENT MANAGEMENT LOCAL AUTOALLOCATIONORA-00901: 无效CREATE 命令SQL> CREATE TABLESPACE ORACLE12 DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATION;CREATE TABLESPACE ORACLE1DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50MEXTENT MANAGEMENT LOCAL AUTOALLOCATIONORA-02180: 无效的CREATE TABLESPACE 选项SQL> CREATE TABLESPACE ORACLE12 DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATE;CREATE TABLESPACE ORACLE1DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50MEXTENT MANAGEMENT LOCAL AUTOALLOCATEORA-01119: 创建数据库文件'D:\ORACLE\ORACLE1.DBF' 时出错ORA-27040: 文件创建错误, 无法创建文件OSD-04002: 无法打开文件O/S-Error: (OS 3) 系统找不到指定的路径。
SQL> CREATE TABLESPACE ORACLE12 DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50M3 EXTENT MANAGEMENT LOACL AUTOALLOCATE;CREATE TABLESPACE ORACLE1DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50MEXTENT MANAGEMENT LOACL AUTOALLOCATEORA-25141: 无效的EXTENT MANAGEMENT 子句SQL> CREATE TABLESPACE ORACLE12 DATAFILE 'D:\ORACLE\ORACLE1.DBF' SIZE 50M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATE; Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 ORACLE1 YES NO YES6 rows selectedSQL> CREATE TABLESPACE ORACLE22 DATAFILE 'D:\ORACLE\ORACLE2.DBF' SIZE 30M3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YESNO YES6 ORACLE1 YES NO YES7 ORACLE2 YES NO YES7 rows selectedSQL> CREATE TEMPORARY TABLESPACE ORACLE32 DATAFILE 'D:\ORACLE\ORACLE3.DBF' SIZE 20M REUSE3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 ORACLE1 YES NO YES7 ORACLE2 YES NO YES8 ORACLE3 YES NO YES8 rows selectedSQL> CREATE TABLESPACE ORACLE42 DATAFILE 'D:\ORACLE\ORACLE4.DBF' SIZE 30M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATE4 SEGEMENT SPACE MANAGEMENT MANUAL;CREATE TABLESPACE ORACLE4DATAFILE 'D:\ORACLE\ORACLE4.DBF' SIZE 30MEXTENT MANAGEMENT LOCAL AUTOALLOCATE SEGEMENT SPACE MANAGEMENT MANUALORA-02180: 无效的CREATE TABLESPACE 选项SQL> CREATE TABLESPACE ORACLE42 DATAFILE 'D:\ORACLE\ORACLE4.DBF' SIZE 30M3 EXTENT MANAGEMENT LOCAL AUTOALLOCATE4 SEGMENT SPACE MANAGEMENT MANUAL;Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- -----------------------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 ORACLE1 YES NO YES7 ORACLE2 YES NO YES8 ORACLE3 YES NO YES9 ORACLE4 YES NO YES9 rows selectedSQL> CREATE UNDO TABLESPACE ORACLE52 DATAFILE 'D:\ORACLE\ORACLE5.DBF' SIZE 3M REUSE; Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 ORACLE1 YES NO YES7 ORACLE2 YES NO YES8 ORACLE3 YES NO YES9 ORACLE4 YES NO YES10 ORACLE5 YES NO YES10 rows selectedSQL> SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;TABLESPACE_NAME CONTENTS STATUS------------------------------ --------- ---------SYSTEM PERMANENT ONLINE UNDOTBS1 UNDO ONLINE SYSAUX PERMANENT ONLINE TEMP TEMPORARY ONLINEORACLE1 PERMANENT ONLINE ORACLE2 PERMANENT ONLINE ORACLE3 PERMANENT ONLINE ORACLE4 PERMANENT ONLINE ORACLE5 UNDO ONLINE10 rows selectedSQL> ALTER TABLESPACE ORACLE1 RENAME TO ORACLE6;Tablespace alteredSQL> SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;TABLESPACE_NAME CONTENTS STATUS------------------------------ --------- ---------SYSTEM PERMANENT ONLINE UNDOTBS1 UNDO ONLINE SYSAUX PERMANENT ONLINE TEMP TEMPORARY ONLINEORACLE6 PERMANENT ONLINE ORACLE2 PERMANENT ONLINE ORACLE3 PERMANENT ONLINE ORACLE4 PERMANENT ONLINE ORACLE5 UNDO ONLINE10 rows selectedSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 ORACLE6 YES NO YES7 ORACLE2 YES NO YES8 ORACLE3 YES NO YES9 ORACLE4 YES NO YES10 ORACLE5 YES NO YES10 rows selectedSQL> ALTER TABLESPACE ORACLE22 ADD DATAFILE 'D:\ORACLE\ORACLE21.DBF' SIZE 10M;Tablespace alteredSQL> ALTER TABLESPACE ORACLE32 RESIZE 40M;ALTER TABLESPACE ORACLE3RESIZE 40MORA-32773: 不支持对小文件表空间ORACLE3 的操作SQL> ALTER TABLESPACE ORACLE52 ADD TEMPFILE'D:\ORACLE\ORACLE5_1.DBF' SIZE 5M;ALTER TABLESPACE ORACLE5ADD TEMPFILE'D:\ORACLE\ORACLE5_1.DBF' SIZE 5MORA-01268: 用于变更永久TABLESPACE 的TEMPFILE 子句无效SQL> ALTER TABLESPACE ORACLE32 ADD TEMPFILE'D:\ORACLE\ORACLE5_1.DBF' SIZE 5M;ALTER TABLESPACE ORACLE3ADD TEMPFILE'D:\ORACLE\ORACLE5_1.DBF' SIZE 5MORA-01268: 用于变更永久TABLESPACE 的TEMPFILE 子句无效SQL> ALTER TABLESPACE ORACLE32 ADD TEMPFILE 'D:\ORACLE\ORACLE301' SIZE 2M;ALTER TABLESPACE ORACLE3ADD TEMPFILE 'D:\ORACLE\ORACLE301' SIZE 2MORA-01268: 用于变更永久TABLESPACE 的TEMPFILE 子句无效SQL> CREATE TEMPORARY TABLESPACE TEMP12 DATAFILE 'D:\ORACLE\TEMP1.DBF' SIZE 30M RESUSE3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15M;ALTER TABLESPACE TEMPDATAFILE 'D:\ORACLE\TEMP1.DBF' SIZE 30MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 15MORA-02142: ALTER TABLESPACE 选项缺失或无效SQL> CREATE TEMPORARY TABLESPACE TEMP12 TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 30M RESUSE3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15M;CREATE TEMPORARY TABLESPACE TEMP1DATAFILE 'D:\ORACLE\TEMP1.DBF' SIZE 30M RESUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15MORA-25139: CREATE TEMPORARY TABLESPACE 的选项无效SQL> CREATE TEMPORARY TABLESPACE TEMP12 TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 30M RESUSE3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15M;CREATE TEMPORARY TABLESPACE TEMP1TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 30M RESUSE EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15MORA-02180: 无效的CREATE TABLESPACE 选项SQL> CREATE TEMPORARY TABLESPACE TEMP12 TEMPFILE 'D:\ORACLE\TEMP1.DBF' SIZE 20M REUSE3 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;Tablespace createdSQL> SELECT * FROM V$TABLESPACE;TS# NAME INCLUDED_IN_DATABASE_BACKUP BIGFILE FLASHBACK_ON ENCRYPT_IN_BACKUP---------- ------------------------------ --------------------------- ------- ------------ -----------------0 SYSTEM YES NO YES1 UNDOTBS1 YES NO YES2 SYSAUX YES NO YES4 USERS YES NO YES3 TEMP NO NO YES6 ORACLE6 YES NO YES7 ORACLE2 YESNO YES8 ORACLE3 YES NO YES9 ORACLE4 YES NO YES10 ORACLE5 YES NO YES11 TEMP1 NO NO YES11 rows selectedSQL> SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACE;SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACEORA-00942: 表或视图不存在SQL> SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;TABLESPACE_NAME CONTENTS STATUS------------------------------ --------- ---------SYSTEM PERMANENT ONLINE UNDOTBS1 UNDO ONLINE SYSAUX PERMANENT ONLINE TEMP TEMPORARY ONLINE USERS PERMANENT ONLINE ORACLE6 PERMANENT ONLINE ORACLE2 PERMANENT ONLINE ORACLE3 PERMANENT ONLINE ORACLE4 PERMANENT ONLINE ORACLE5 UNDO ONLINETEMP1 TEMPORARY ONLINE11 rows selectedSQL> ALTER TABLESPACE TEMP12 ADD TEMPFILE 'D:\ORACLE\TEMP12.DBF' SIZE 25M REUSE;Tablespace alteredSQL> ALTER TABLESPACE ORACLE3 OFFLINE;Tablespace alteredSQL> SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;TABLESPACE_NAME CONTENTS STATUS------------------------------ --------- ---------SYSTEM PERMANENT ONLINE UNDOTBS1 UNDO ONLINE SYSAUX PERMANENT ONLINE TEMP TEMPORARY ONLINE USERS PERMANENT ONLINE ORACLE6 PERMANENT ONLINE ORACLE2 PERMANENT ONLINE ORACLE3 PERMANENT OFFLINE ORACLE4 PERMANENT ONLINE ORACLE5 UNDO ONLINETEMP1 TEMPORARY ONLINE11 rows selectedSQL> ALTER TABLESPACE ORACLE3 ONLINE;Tablespace alteredSQL> SELECT TABLESPACE_NAME ,CONTENTS,STATUS FROM DBA_TABLESPACES;TABLESPACE_NAME CONTENTS STATUS------------------------------ --------- ---------SYSTEM PERMANENT ONLINE UNDOTBS1 UNDO ONLINE SYSAUX PERMANENT ONLINE TEMP TEMPORARY ONLINE USERS PERMANENT ONLINE ORACLE6 PERMANENT ONLINE ORACLE2 PERMANENT ONLINE ORACLE3 PERMANENT ONLINE ORACLE4 PERMANENT ONLINE ORACLE5 UNDO ONLINETEMP1 TEMPORARY ONLINE11 rows selectedSQL> ALTER TABLESPACE ORACLE4 READ ONLY; Tablespace alteredSQL> ALTER TABLESPACE ORACLE5 READ WRITE; ALTER TABLESPACE ORACLE5 READ WRITEORA-30021: 不允许对还原表空间执行操作SQL> ALTER TABLESPACE TEMP1 READ WRITE; ALTER TABLESPACE TEMP1 READ WRITEORA-03217: 变更TEMPORARY TABLESPACE 无效的选项SQL> ALTER TABLESPACE ORACLE2 READ WRITE; ALTER TABLESPACE ORACLE2 READ WRITEORA-01646: 表空间'ORACLE2' 不是只读- 无法设置为读写SQL> ALTER TABLESPACE ORACLE4 READ WRITE;Tablespace alteredSQL> DROP TABLESPACE ORACLE4 INCLUDING CONTENTS;Tablespace droppedSQL> DROP TABLESPACE ORACLE4 INCLUDING CONTENTS AND DATAFILES;DROP TABLESPACE ORACLE4 INCLUDING CONTENTS AND DATAFILESORA-00959: 表空间'ORACLE4' 不存在SQL> DROP TABLESPACE ORACLE5 INCLUDING CONTENTS AND DATAFILES;Tablespace dropped SQL>。