《实验2 Oracle数据库体系结构》由会员分享,可在线阅读,更多相关《实验2 Oracle数据库体系结构(15页珍藏版)》请在人人文库网上搜索。
1、实验2_Oracle数据库体系结构【实验目的与要求】n 熟悉Oracle数据库的物理结构n 理解Oracle的工作机制n 理解Oracle的软件结构【实验内容与步骤】2.0实验准备 以系统管理员身份登入到数据库。2.1物理存储结构 2.1.1 数据文件给出运行结果截图:练习:用desc命令查看V$datafile视图的结构,并试着查询更详细的信息。2.1.2 日志文件通过如下方式查看重做日志文件相关信息:给出运行结果截图:练习:用desc命令查看V$log视图的结构,并试着查询控制文件更详细的信息。2.1.3 控制文件通过如下方式查看控制文件相关信息:给出运行结果截图:练习:用desc命令查看。
2、V$controlfile视图的结构,并试着查询更详细的信息。2.1.4 参数文件通过如下方式查看参数文件相关信息:给出运行结果截图:阅读结果并理解各数据项的含义。练习:在%oracle_home%(如C:oracleproduct10.1.0db_1database)找到名为SPFileSID.ora(如:SPfileTestdb.ora)和init.ora的文件,此文件即为参数文件,用记事本打开它们,阅读其内容并理解各数据项的作用。2.2Oracle逻辑存储结构 2.2.1查看表空间的名称及大小执行以下语句,并给出运行结果。给出运行结果截图:2.2.2查看表空间物理文件的名称及大小执行以下。
3、语句,并给出运行结果。给出运行结果截图:2.2.3查看回滚段名称及大小执行以下语句,并给出运行结果。给出运行结果截图:2.2.4查看所有表空间对应的数据文件名:SQLselect distinct file_name,tablespace_name,AUTOEXTENSIBLE from dba_data_files;给出运行结果截图:2.2.5查看表空间的使用情况:SQLselect sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_space group by tablespace_name;给出运行结果截。
4、图:2.2.6数据库各个表空间增长情况的检查:SQLselect 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=B.ta。
5、blespace_name;给出运行结果截图:2.2.7查看各个表空间占用磁盘情况: SQLcol tablespace_name format a20; SQLselect b.file_id file_ID, b.tablespace_name tablespace_nameb.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_files b where 。
6、a.file_id=b.file_id group by b.tablespace_name,b.file_id,b.bytes order by b.file_id;给出运行结果截图:2.2.8 Oracle所有回滚段状态的检查:SQLselect segment_name,owner,tablespace_name,initial_extent,next_extent,dba_rollback_segs.status from dba_rollback_segs,v$datafile where file_id=file#;给出运行结果截图:2.2.9 Oracle回滚段扩展信息的检查:S。
7、QLcol name format a10SQLset linesize 140 SQLselect substr(name,1,40) name,extents,rssize,optsize,aveactive,extends,wraps,shrinks,hwmsizefrom v$rollname rn,v$rollstat rs where (rn.usn=rs.usn);给出运行结果截图:2.2.10查看回滚段的使用情况,哪个用户正在使用回滚段的资源:SQLselect s.username, u.name from v$transaction t,v$rollstat r,v$rol。
8、lname u,v$session s where s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn order by s.username;给出运行结果截图:2.3Oracle内存与进程结构 2.3.1 查看sga情况:SQLSELECTNAME,BYTESFROMSYS.V_$SGASTATORDERBYNAMEASC;给出运行结果截图:2.3.2数据库共享池性能检查:SQLSelectnamespace,gets,gethitratio,pins,pinhitratio,reloads,Invalidationsfromv$library。
9、cachewherenamespacein (SQLAREA,TABLE/PROCEDURE,BODY,TRIGGER);给出运行结果截图:2.3.3检查共享内存的剩余情况:SQLselectrequest_misses,request_failuresfromv$shared_pool_reserved;给出运行结果截图:2.3.4数据高速缓冲区性能检查:SQLselect1-p.value/(b.value+c.value)dbbuffercachehitratiofromv$sysstatp,v$sysstatb,v$sysstatcWhere p.name=physicalreadsa。
10、ndb.name=dbblockgetsand c.name=consistentgets;给出运行结果截图:2.3.5检查bufferpoolHIT_RATIO执行SQLselectname,(physical_reads/(db_block_gets+consistent_gets) MISS_HIT_RATIOFROMv$buffer_pool_statisticsWHERE(db_block_gets+consistent_gets)0;给出运行结果截图:2.3.6查看排序段的性能:SQLSELECTname,valueFROMv$sysstatWHEREnameIN(sorts(me。
11、mory),sorts(disk);给出运行结果截图:2.3.7找到与所连接的会话有关的当前等待事件:SQLselectSW.Sid,S.Username,SW.Event,SW.Wait_Time,SW.State,SW.Seconds_In_WaitSEC_IN_WAITfromv$sessionS,v$session_waitSWwhereS.UsernameisnotnullandSW.Sid=S.Sid andSW.eventnotlike%SQL*Net%orderbySW.Wait_TimeDesc;给出运行结果截图:2.3.8 查看数据库中某用户,正在运行什么SQL语句SQLS。
12、ELECTSQL_TEXTFROMV$SQLTEXTT,V$SESSIONSWHERET.ADDRESS=S.SQL_ADDRESSANDT.HASH_value=S.SQL_HASH_valueANDS.MACHINE=XXXXXORUSERNAME=WACOS;给出运行结果截图:2.3.9检查数据重载比率:SQLselectsum(reloads)/sum(pins)*100reloadratiofrom v$librarycache;给出运行结果截图:2.3.10 检查数据字典的命中率:SQLselect1-sum(getmisses)/sum(gets)datadictionaryhi。
13、tratiofromv$rowcache;给出运行结果截图:2.4其他 2.4.1 查看数据库库对象:SQLselectowner,object_type,status,count(*)count#fromall_objectsgroupbyowner,object_type,status;给出运行结果截图:2.4.2查看数据库的创建日期和归档方式:SQLSelectCreated,Log_Mode,Log_ModeFromV$Database;给出运行结果截图:2.4.3查看还没提交的事务:SQLselect*fromv$locked_object;给出运行结果截图:2.4.5等待时间最多的。
14、5个系统等待事件的获取:SQLselect*from(select*fromv$system_eventwhereeventnotlikeSQL%orderbytotal_waitsdesc)whererownumselectsid,serial#,statusfromv$sessionwhereaudsid=userenv(sessionid);给出运行结果截图:2.4.7 查看当前数据库的字符集:SQLselectuserenv(language)fromdual;给出运行结果截图:2.4.8 查看客户端登陆的IP地址:SQLselectsys_context(userenv,ip_add。
15、ress)fromdual;给出运行结果截图:2.5作业与思考练习题I.管理控制文件1、现有控制文件的位置及其名称是什么?提示:查询动态性能视图V$CONTROLFILE。注:您还可以使用 V$PARAMETER,或者执行 SHOW PARAMETER命令以显示控制文件的名称和位置。给出运行结果截图:2、控制文件中数据文件部分的初始大小是多少?提示:查询动态性能视图V$CONTROLFILE_RECORD_SECTION。给出运行结果截图:II.维护重做日志文件1、列出现有日志文件的数量和位置,并显示您的数据库所拥有的重做日志文件组及成员的数量。提示: 查询动态视图 V$LOGFILE。 使用。
16、动态视图 V$LOG。给出运行结果截图:2、您的数据库是在哪种数据库模式下配置的?是否启用了归档?提示: 查询动态性能视图V$DATABASE。 查询动态性能视图V$INSTANCE。给出运行结果截图:III.用户相关信息-查看当前用户的缺省表空间select username,default_tablespace from user_users;-查看当前用户的角色select * 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;第 15 页 共 15 页。