实验2 Oracle数据库体系结构_第1页
实验2 Oracle数据库体系结构_第2页
实验2 Oracle数据库体系结构_第3页
实验2 Oracle数据库体系结构_第4页
实验2 Oracle数据库体系结构_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验2 Oracle数据库体系结构姓名:学号:专业:软件工程(金融)班级:同组人:无实验日期:2013/717【实验目的与要求】n 熟悉Oracle数据库的物理结构n 理解Oracle的工作机制n 理解Oracle的软件结构【实验内容与步骤】2.0实验准备 以系统管理员身份登入到数据库。2.1物理存储结构 2.1.1 获取Oracle数据库各类物理文件信息1. 数据文件数据文件的详细信息记录在数据字典视图V$DataFile中,可通过查询语句获取数据文件相关信息。查看数据文件名称:可通过如下查询语句查看数据文件名称和存放位置请给出运行结果截图:练习:用desc命令查看V$datafile视图的

2、结构,并试着查询更详细的信息。2. 操作数据文件(1) 创建数据文件Oracle中,创建数据文件即是借用Alter TablespaceADD语句,将数据文件添加挂接到指定的表空间中。为USERS表空间添加一个数据文件,名称为USERS_XX.DBF(XX为学号最后两位),大小为20MB。如:请给出运行结果截图:add datafile 'C:users_60.dbf' size 20M;打开指定目录(即C:),查看是否存在文件USERS_XX.DBF?请给出结果截图:查询V$datafile视图,获取数据文件USERS_XX.DBF大小、位置等相关信息。 请给出结果截图:(2

3、) 创建数据文件修改数据文件使用Alter Database Datafile命令。修改USERS表空间中的USERS_XX.DBF为自动扩展方式,每次扩展5MB,最大为100MB。如:请给出结果截图:查询V$datafile视图,获取数据文件USERS_XX.DBF大小、扩展方式、位置等相关信息。 确定数据文件是否修改。请给出结果截图:(3) 重命名数据文件:重命名粉据文件使用alter tablespace Rename datafile命令。将表空间USERS中的数据文件USERS_XX.DBF更名为UserData.dbf。重命名数据文件时,需遵循以下步聚:a.将表空间脱机:b.操作系

4、统拷贝数据文件到指定的位置,并将数据文件命名为指定名称,如:C: UserData.dbf。(即对原文件作一个拷贝,再重新命名。注意:不要改动原文件名)c.执行改名命令,示例如下:注意:其中的users01.DBF应为上面创建的USERS_XX.DBF请给出结果截图:d.挂接表空间:使表空间联机(4) 移除数据文件:移除表空间的某个数据文件命令: alter database datafile 'file_name' offline drop;将前面命建并改名后的数据文件userData.dbf移除。请给出结果截图:注:(1) 该命令不会删除数据文件,只是将数据文件的状态更改为

5、recover,数据文件的相关信息还会存在数据字典和控制文件中。(2)Oracle 10G R2后还可使用alter tablespace tablespace_name drop datafile file_name命令来删除数据文件。2.1.2 日志文件1. 获取日志文件信息日志文件信息记录在数据字典视图V$Log中,可通过类似如下方式查看重做日志文件相关信息:请给出运行结果截图:练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。2. 操作日志文件(1) 模拟日志文件丢失按以下步骤模拟日志文件丢失的处理。a. 关闭数据库: 建议使用shutdown immedi

6、ate命令,关闭数据库b. 模拟删除找到数库主目录(如:C:oracleproduct10.1.0db_1TestDB),把日志文件REDO02.log的名称修改为REDO02.log.bak,重新启动数据库,如何报错?请给出运行结果截图:c. 文件名称恢复后,再次启动数据库。(2) 添加重做日志文件组:a. 添加日志组为数据库添加一个重做日志文件组(组4),组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MB。请给出运行结果截图:b. 添加日志组成员为上面新建的重做日志文件组添加一个成员文件,名称为redo4c.log,存放于C:Temp目录下。完成后,查

7、看Temp中是否有日志文件。请给出运行结果截图: c. 删除日志组删除日志文件组可用DROP命令。请执行如下命令,删除前面创建的日志文件组4。2.1.3 控制文件1. 获取控制文件信息控制文件信息记录在数据字典视图V$Controlfile中,可通过类似如下方式查看重做日志文件相关信息:请给出运行结果截图:练习:用desc命令查看V$controlfile视图的结构,并试着查询更详细的信息。2. 操作控制文件a. 控制文件丢失。关闭数据库,将控制文件CONTROL03.CTL移动到其他文件夹,模拟控制文件丢失。b. 重新启动数据库,查看报错信息。请给出结果截图:c. 查看警告文件,得到更详细的

8、错误信息。警告文件位于%ORACLE_BASE%admin%ORACLE_SID%bdump下.trc文件。d. 用复制控制文件,使得数据库可以正常启动。2.1.4 参数文件通过如下方式查看参数文件相关信息:请给出运行结果截图:阅读结果,并理解各数据项的含义。练习:在%oracle_home%(即数据库主目录,如C:oracleproduct10.1.0db_1database)找到名为SPFileSID.ora(如:SPfileTestdb.ora)和init.ora的文件,此文件即为参数文件,用记事本打开它们,阅读其内容并理解各数据项的作用。2.2Oracle逻辑存储结构 2.2.1 获取

9、存储结构基础数据. 1. 查看表空间的名称及大小执行以下语句,并给出运行结果。给出运行结果截图:2查看表空间物理文件的名称及大小执行以下语句,并给出运行结果。给出运行结果截图:2.2.2 管理表空间1. 创建与使用永久表空间(1)创建表空间以下是示例:请根据示例,创建一个表空间名为TBL+学号后两位,空间的大小为5M,表空间包括1个数据文件:TBL+学号后两位,数据文件存放在C:ORACLE 下。各存储参数均采用默认值。(2) 表空间设置为联机状态。(3) 为表空间添加数据文件。示例:请为前面创建的表空间添加两个两个数据文件:TBL+学号后两位+01(3M)和TBL+学号后两位+02(2M),

10、数据文件均存放在C:ORACLE 下。请给出运行结果截图:2.3Oracle内存与进程结构 2.3.1 查看sga情况:SQL>SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC;给出运行结果截图:2.3.2数据库共享池性能检查:SQL>Select namespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidations from v$libraryca

11、chewhere namespace in ('SQLAREA','TABLE/PROCEDURE','BODY','TRIGGER');给出运行结果截图:2.3.3检查共享内存的剩余情况:SQL>select request_misses, request_failures from v$shared_pool_reserved;  给出运行结果截图:2.3.4数据高速缓冲区性能检查:SQL>select 1-p.value/(

12、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'给出运行结果截图:2.3.5检查buffer&

13、#160;pool HIT_RATIO执行SQL>select name, (physical_reads/(db_block_gets+consistent_gets) "MISS_HIT_RATIO" FROM v$buffer_pool_statistics WHERE (db_block_gets+ consistent_gets)> 0;给出运行结果截图:2.3.6查看排序段的性能:SQL>SELECT name, value 

14、FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');  给出运行结果截图:2.3.7找到与所连接的会话有关的当前等待事件:SQL>select SW.Sid,S.Username,SW.Event,SW.Wait_Time,SW.State,SW.Seconds_In_Wait SEC_IN_WAITfrom v$session S,v$ses

15、sion_wait SWwhere S.Username is not null and SW.Sid=S.Sid and SW.event not like '%SQL*Net%' order by SW.Wait_Time Desc;给出运行结果截图:2.3.8 查看数据库中某用户,正在运行什么SQL语句SQL>SELECT SQL_TEXT FROM V$SQLTEXT T,&#

16、160;V$SESSION S WHERE T.ADDRESS=S.SQL_ADDRESS AND T.HASH_value=S.SQL_HASH_value  AND S.MACHINE='XXXXX' OR USERNAME='WACOS'注意:红色字体部分(wacos)应改为相应的用户名,如:SCOTT。给出运行结果截图:2.3.9检查数据重载比率:SQL>select sum(reloads)/sum(pins)*100 &quo

17、t;reload ratio" from v$librarycache;给出运行结果截图:2.3.10 检查数据字典的命中率:SQL>select 1-sum(getmisses)/sum(gets) "data dictionary hitratio" from v$rowcache;给出运行结果截图:2.4数据字典数据字典是oracle数据库用来存贮数据库结构信息的地方,用来描述数据库数据的组织方式的,由表和视图组成。Oracle中有一个关于数据字典的元数据表,其名称为DIC

18、TIONARY(也可写为DICT),该表中存在所有数据字典名称和相关说明。若在具体使用中,不知某一数据字典的具体名称,可通过该表查询得到。查找控制文件相关数据字典:请给出运行结果截图:练习:请查找与数据文件相关的数据字典,并据此获取数据文件相关信息。第 23 页 共 23 页2.5作业与思考练习题I.管理控制文件1、现有控制文件的位置及其名称是什么?提示:查询动态性能视图V$CONTROLFILE。注:您还可以使用 V$PARAMETER,或者执行 SHOW PARAMETER命令以显示控制文件的名称和位置。给出运行结果截图:2、控制文件中数据文件部分的初始大小是多少?提示:查询动态性能视图V

19、$CONTROLFILE_RECORD_SECTION。给出运行结果截图:II.维护重做日志文件1、列出现有日志文件的数量和位置,并显示您的数据库所拥有的重做日志文件组及成员数量。提示: 查询动态视图 V$LOGFILE。 使用动态视图 V$LOG。给出运行结果截图:2、您的数据库是在哪种数据库模式下配置的?是否启用了归档?提示: 查询动态性能视图V$DATABASE。 查询动态性能视图V$INSTANCE。给出运行结果截图:III.用户相关信息-查看当前用户的缺省表空间select username,default_tablespace from user_users;-查看当前用户的角色s

20、elect * from user_role_privs;-查看当前用户的系统权限和表级权限select * from user_sys_privs;select * from user_tab_privs;-显示指定用户所具有的系统权限select * from dba_sys_privs where grantee='GAME'-查看用户下所有的表select * from user_tables;-查询表信息SELECT * FROM ALL_OBJECTS WHERE OWNER ='SCOTT' AND OBJECT_NAME='EMP'

21、;IV.获取数据库存储结构和对象相关信息1. 查看回滚段名称及大小执行以下语句,并给出运行结果。给出运行结果截图:2. 查看所有表空间对应的数据文件名:SQL>select distinct file_name,tablespace_name,AUTOEXTENSIBLE from dba_data_files;给出运行结果截图: 3. 查看表空间的使用情况:SQL>select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;给出运行

22、结果截图:4. 数据库各个表空间增长情况的检查:SQL>select A.tablespace_name,(1-(A.total)/B.total)*100 used_percentFrom (select tablespace_name,sum(bytes) total from dba_free_space group by tablespace_name) A,(select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name) B where A.tablespace_name

23、=B.tablespace_name;给出运行结果截图:5. 查看各个表空间占用磁盘情况: SQL>col tablespace_name format a20; SQL>select b.file_id file_ID, b.tablespace_name tablespace_name, b.bytes Bytes, (b.bytes-sum(nvl(a.bytes,0) used, sum(nvl(a.bytes,0) free, sum(nvl(a.bytes,0)/(b.bytes)*100 Percent from dba_free_space a,dba_data_f

24、iles b where a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;给出运行结果截图:6. Oracle所有回滚段状态的检查:SQL>select segment_name,owner,tablespace_name,initial_extent,next_extent,dba_rollback_segs.status from dba_rollback_segs,v$datafile where file_id=file#;给出运行结果截图:7. Oracle回滚段扩展信息的检查:SQL>col name format a10 -设置显示宽度SQL>set linesize 140 SQL>select substr(name,1,40) name,extents,rssize,optsize,aveactive,extends,wraps,shrinks,hwmsizefrom v$rollname rn,v$rollstat rs where (rn.usn=rs.usn);给出运行结果截图:8. 查看回滚段的使用情况,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论