oracle9idba手册(一)
- 格式:pdf
- 大小:10.92 MB
- 文档页数:39
DOC.NO. TIMESON-SM-2002-11-0001ANormal(公开)本地电信业务计费帐务系统ORACLE操作手册Version 1.0.02002.11.05TIMESON天辰科技 2000,2001,2002All Rights Reserved前言41.数据库的创建41.1.以下为ORACLE启动初始文件INITORA.ORA41.2.以下是建库脚本62.数据库基本操作112.1.数据库的正常启动112.2.安装启动与非安装启动122.3.独占和共享启动132.4.约束启动132.5.强制启动142.6.数据库关闭142.7.PL/SQL基本程序的编写152.7.1.SQL语言简介152.7.2.PL/SQL简介223.解决RDBMS问题323.1.性能优化323.1.1.优化存323.1.2.优化输入/输出363.1.3.优化排序403.1.4.优化索引建立403.2.备份和恢复403.2.1.备份提示413.3.O RACLE 8S ERVER诊断特性443.3.1.Oracle跟踪文件443.3.2.设置跟踪事件473.3.3.V$监视视图523.3.4.锁实用程序543.4.O RACLE错误分析和解决方案563.4.1.常见Oracle错误563.4.2.ORACLE部错误713.4.3.优先权1/优先权2问题分类和诊断操作73 3.5.常见问题78前言为了加强计费系统数据库的操作安全及更有效的管理计费系统数据库,编写该操作手册。
在该手册若有错误及遗漏的地方还望各位读者不吝指出与谅解。
1.数据库的创建以下仅为数据库创建的样例脚本,在实际系统中应根据数据库设计要与系统实际配置而改变参数:1.1.以下为ORACLE启动初始文件initora.ora#this sampale init file writen by wzy 2002/11/15db_name = "jf"instance_name = ora8#service_names = ora#db_files = 1024control_files = ("/home/oracle/OraCtl/control01.ctl", "/home/oracle/OraCtl/control02.ctl","/home/oracle/OraCtl/control03.ctl")open_cursors = 100max_enabled_roles = 50db_file_multiblock_read_count = 8db_block_buffers = 4096shared_pool_size = 52428800large_pool_size = 78643200java_pool_size = 20971520log_checkpoint_interval = 10000log_checkpoint_timeout = 1800 processes = 115parallel_max_servers = 5log_buffer = 32768max_dump_file_size = 10240global_names = true#oracle_trace_collection_name = ""db_block_size = 16384#remote_login_passwordfile = exclusive #os_authent_prefix = ""job_queue_processes = 4job_queue_interval = 60open_links = 10#large_pool_size = 614400java_pool_size = 20971520distributed_transactions = 10mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"mts_dispatchers = "(protocol=TCP)"#compatible = 8.1.0sort_area_size = 65536sort_area_retained_size = 65536# log_archive_start = true1.2.以下是建库脚本#!/bin/shORACLE_SID=ora8export ORACLE_SIDsvrmgrlconnect internalstartup nomount pfile = $ORACLE_HOME/dbs/initora.oraCREATE DATABASE "app1"controlfile reusemaxdatafiles 500maxinstances 8maxlogfiles 32character set ZHS16GBKnational character set ZHS16GBKDATAFILE '/oradata/app1/system01.dbf' SIZE 200Mlogfile group 1 ('/opt/oracle/oradata/app1/app1_redo01.log', '/oradata/app1/app1_redo01.log') SIZE 20M,group 2 ('/opt/oracle/oradata/app1/app1_redo02.log', '/oradata/app1/app1_redo02.log') SIZE 20M,group 3 ('/opt/oracle/oradata/app1/app1_redo03.log','/oradata/app1/app1_redo03.log') SIZE 20M;/opt/oracle/product/8.1.7/rdbms/admin/catalog.sql;CREATE ROLLBACK SEGMENT r0 TABLESPACE SYSTEMSTORAGE (INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS 20); ALTER ROLLBACK SEGMENT r0 ONLINE;REM ************ TABLESPACE FOR OEM_REPOSITORY ***************CREATE TABLESPACE OEM_REPOSITORY DATAFILE '/oradata/app1/oemrep01.dbf' SIZE 5M REUSEAUTOEXTEND ON NEXT 25M MAXSIZE 80MMINIMUM EXTENT 128kDEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM ************** TABLESPACE FOR ROLLBACK *****************CREATE TABLESPACE RBS DATAFILE '/oradata/app1/rbs01.dbf' SIZE 200M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM ************** TABLESPACE FOR TEMPORARY *****************CREATE TABLESPACE TEMP DATAFILE '/oradata/app1/temp01.dbf' SIZE 200M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITEDPCTINCREASE 0) TEMPORARY;REM ************** TABLESPACE FOR USER *********************CREATE TABLESPACE USERS DATAFILE '/oradata/app1/users01.dbf' SIZE 50M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM ************** TABLESPACE FOR INDEX *********************CREATE TABLESPACE INDX DATAFILE '/oradata/app1/indx01.dbf' SIZE 50M REUSE DEFAULT STORAGE ( INITIAL 128k NEXT 128k MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0);REM **** Creating four rollback segments **************add rollback segment to 20***CREATE ROLLBACK SEGMENT r01 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r02 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r03 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r04 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r05 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r06 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r07 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r08 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimalCREATE ROLLBACK SEGMENT r09 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r10 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r11 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r12 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r13 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r14 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r15 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r16 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r17 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r18 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);CREATE ROLLBACK SEGMENT r19 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimalCREATE ROLLBACK SEGMENT r20 TABLESPACE RBSSTORAGE(INITIAL 128k NEXT 128k MINEXTENTS 2 MAXEXTENTS UNLIMITED optimal 4096K);ALTER ROLLBACK SEGMENT r01 ONLINE;ALTER ROLLBACK SEGMENT r02 ONLINE;ALTER ROLLBACK SEGMENT r03 ONLINE;ALTER ROLLBACK SEGMENT r04 ONLINE;ALTER ROLLBACK SEGMENT r05 ONLINE;ALTER ROLLBACK SEGMENT r06 ONLINE;ALTER ROLLBACK SEGMENT r07 ONLINE;ALTER ROLLBACK SEGMENT r08 ONLINE;ALTER ROLLBACK SEGMENT r09 ONLINE;ALTER ROLLBACK SEGMENT r10 ONLINE;ALTER ROLLBACK SEGMENT r11 ONLINE;ALTER ROLLBACK SEGMENT r12 ONLINE;ALTER ROLLBACK SEGMENT r13 ONLINE;ALTER ROLLBACK SEGMENT r14 ONLINE;ALTER ROLLBACK SEGMENT r15 ONLINE;ALTER ROLLBACK SEGMENT r16 ONLINE;ALTER ROLLBACK SEGMENT r17 ONLINE;ALTER ROLLBACK SEGMENT r18 ONLINE;ALTER ROLLBACK SEGMENT r19 ONLINE;ALTER ROLLBACK SEGMENT r20 ONLINE;ALTER ROLLBACK SEGMENT r0 OFFLINE;REM **** SYS and SYSTEM users ****************alter user sys temporary tablespace TEMP;alter user system temporary tablespace TEMP;/opt/oracle/product/8.1.7/rdbms/admin/catproc.sql;/opt/oracle/product/8.1.7/rdbms/admin/caths.sql;/opt/oracle/product/8.1.7/rdbms/admin/otrcsvr.sql;/opt/oracle/product/8.1.7/rdbms/admin/catexp.sql;/opt/oracle/product/8.1.7/rdbms/admin/catdbsyn.sql;/opt/oracle/product/8.1.7/rdbms/admin/catdefer.sql;/opt/oracle/product/8.1.7/rdbms/admin/catrep.sql;/opt/oracle/product/8.1.7/rdbms/admin/dbmspool.sql;/opt/oracle/product/8.1.7/rdbms/admin/catparr.sql;/opt/oracle/product/8.1.7/rdbms/admin/catblock.sql;connect system/manager/opt/oracle/product/8.1.7/sqlplus/admin/pupbld.sql;--create the product_profile and user_profile--CATALOG.SQL, ---加载数据库本身的数据字典视图--CATPROC.SQL, ---加载PL/SQL使用的PACKAGE--CATEXP.SQL ---加载EXPORT/IMPORT工具使用的数据字典disconnectspool offexit在数据库建立完后,可用以下语句(也可以在建库脚本中直接增加)对对tablespace增加数据文件:ALTERTABLESPACE"tablespace_name" ADD DATAFILE 'data_file_path/data_file_name' SIZE<the data file size you designed> <REUSE > <AUTOEXTEND ON NEXT{size you designed to exednd};>2.数据库基本操作2.1.数据库的正常启动正常启动数据库的选项是normal,这也是数据启动的缺省选项。
Oracle9i客户端安装配置方法ORACLE9i客户端安装及服务配置手册——新人入门1.ORACLE9i客户端安装及服务配置Oracle数据库的服务有两种方式进行界面配置:1.安装过程中配置;2.通过Net Configuration Assistant配置;Oracle数据库的服务还可以通过tnsnames.ora文件中定义。
1.1.ORACLE9i客户端安装配置●从光盘启动后,出现ORACLE9i欢迎界面,如图2-1所示:图2-1ORACLE欢迎界面●单击【下一步】进入oracle主目录名及安装路径设置界面,如图2-2所示:图2-2主目录名及安装路径设置图单击【下一步】进入安装产品选择,单击【Oracle9i Client 9.2.0.1.0】,如图2-3所示:图2-3产品选择图单击【下一步】进入安装类型选择,单击【管理员】,如图2-4所示:图2-4安装类型选择图单击【下一步】进入端口设置,系统使用默认端口,如图2-5所示:图2-5端口设置图单击【下一步】进入安装产品摘要,单击【安装】,如图2-6所示:图2-6端口设置图系统正在安装,如图2-7所示:图2-7系统安装进度图安装完成后单击【下一步】进入配置工具界面,如图2-8所示:图2-8配置工具目录方法配置和命名方法配置,选择执行【典型方法配置】,如图2-9所示:图2-9系统配置图●单击【下一步】进入目录服务选择,单击【不,我要自己创建目录服务…】,如图2-10所示:图2-10目录服务使用图●单击【下一步】进入数据库版本选择,单击【Oracle8i或更高版本】,如图2-11所示:图2-11数据库版本选择图单击【下一步】进入服务名设置,进行Oracle服务器的服务名配置,输入【vodka】,如图2-12所示:图2-12服务名设置图●单击【下一步】进入数据库通信协议选择,默认【TCP】,如图2-13所示:图2-13通信协议选择图●单击【下一步】进入端口号和主机名设置,使用默认端口号,主机名输入数据库服务器的IP地址或者计算机全名,如图2-14所示:图2-14端口号和主机名设置图●单击【下一步】进入数据库连接测试选择,单击【是,进行测试】,如图2-15所示:图2-15数据库连接测试选择图●单击【下一步】进入数据库连接测试,当出现操作超时,表示ORACLE数据的主机名或者IP填写有误,请重新填写,如图2-16所示:图2-16数据库连接出错图当出现监听不能解析SERVER_NAME时,表示Oracle服务器的服务名配置有误,请检查服务名配置,如图2-17所示:图2-17数据库连接出错图当出现无效的用户名/口令时,请点击【更改登录】,修改用户名/口令,如图2-18所示:图2-18数据库连接出错图●测试成功,单击【下一步】进入本机NET服务名设置,如图2-19所示:图2-19NET服务名设置图●单击【下一步】进入是否配置另一个NET服务名,单击【否】,如图2-20所示:图2-20NET服务名设置图●单击【下一步】,完成安装配置,如图2-21所示:图2-21完成配置图 Configuration Assistant配置如果在Oracle9i客户端安装过程中没有进行服务配置,可以通过Oracle9i的配置管理工具Net Configuration Assistant进行配置●首先在客户端机器上,打开【程序】->【Oracle-OraHome92】->【Configuration and Migration Tools】->【Net Configuration Aassistant】如图所示:●单击【下一步】,进入选择服务配置操作,可以服务名进行添加、重新配置…等操作,如图所示:●单击【下一步】进入数据库版本选择,单击【Oracle8i或更高版本】,如图所示:●单击【下一步】进入服务名设置,进行Oracle服务器的服务名配置,输入【vodka】,如图2-12所示:●单击【下一步】进入数据库通信协议选择,默认【TCP】,如图所示:●单击【下一步】进入端口号和主机名设置,使用默认端口号,主机名输入数据库服务器的IP地址或者计算机全名,如图所示:●单击【下一步】进入数据库连接测试选择,单击【是,进行测试】,如图所示:。
Oracle数据库管理员(DBA)手册涵盖了广泛的主题,包括数据库安装、配置、性能调优、备份和恢复、安全性等方面。
以下是一个简要的Oracle数据库管理员手册的大纲,其中包含了一些主要的主题:1. 数据库基础知识和架构:- Oracle数据库的体系结构-数据库实例和数据库-表空间和数据文件2. 数据库安装和配置:- Oracle数据库软件的安装-创建数据库-配置监听器-网络配置3. 数据库对象管理:-表和索引的创建、修改和删除-视图、存储过程和触发器的管理-序列的创建和管理-同义词的使用4. 用户和权限管理:-用户账号的创建和管理-角色和权限管理-访问控制和安全性5. 性能调优:- SQL调优技术-索引优化-表分区和分表-优化查询计划6. 备份和恢复:-数据库备份策略-使用RMAN进行备份和恢复-数据库点恢复和时间点恢复7. 监控和诊断:-使用AWR和ADDM进行性能分析-查询V$视图和动态性能视图-警告和错误日志的管理8. 高可用性和容灾:-数据库复制和数据保护- RAC(Real Application Clusters)配置-数据库故障转移和恢复9. 安全性:-用户身份验证和访问控制-安全审计和监视-数据加密和解密10. 数据库升级和迁移:- Oracle版本升级-数据库迁移和导入/导出11. 常规维护任务:-统计信息收集和重建索引-表空间管理-定期任务和计划任务12. 实用工具:- SQL*Plus和SQLcl- Oracle Enterprise Manager(OEM)-数据库配置助手(DBCA)和其他实用工具13. 文档和资源:- Oracle文档和在线资源-社区和论坛这个大纲只是一个简单的概述,实际的Oracle数据库管理员手册可能更为详细,根据组织的需求和数据库的规模可能会有所不同。
要深入了解每个主题,建议参考Oracle官方文档和相应版本的手册。
Oracle的文档通常提供了详细的指导和最佳实践。
Oracle9i数据库备份一.导出本机数据库1.开始—运行—cmd ,弹出dos 命令行窗口。
2.输入:exp 数据库用户名/数据库密码@数据库实例名file=导出的文件名和路径owner=数据库用户名。
根据项目的实际情况,数据库用户名:med ;数据库密码:med;数据库实例名:med;导出的文件名和路径:c:\med.dmp;输入的语句为:exp med/med@med file=c:\med.dmp owner=med 然后按键盘回车键,即可到处数据库,如下图med:用户名med:密码oral:实例名file :输入你要导出的文件名和路径。
二.导出其他服务器上的数据库1.配置服务。
2. 如图,点击下一步3. 如图,点击下一步4. 如图,点击下一步5. 如图,输入服务名‘med’,点击下一步6. 如图,点击下一步7. 如图,输入服务器IP,点击下一步8. 如图,点击下一步9. 如图,更改密码,点确定。
10. 如图,点击下一步11. 如图,点击下一步12. 如图,点击下一步13. 如图,点击下一步14. 如图,点击完成15.开始—运行—cmd ,弹出dos 命令行窗口。
16. 输入:exp 数据库用户名/数据库密码@数据库实例名file=导出的文件名和路径owner=数据库用户名。
根据项目的实际情况,数据库用户名:med ;数据库密码:med;数据库实例名:med;导出的文件名和路径:c:\med.dmp;输入的语句为:exp med/med@med file=c:\med.dmp owner=med 然后按键盘回车键,即可到处数据库,如下图Oracle9i还原数据库1.创建实例2.如下图,点击下一步。
3.如下图,点击下一步。
4.如下图,填写数据库名,点击下一步。
5.如下图,点击下一步。
6.如下图,选择‘字符集’选项,选择字符集编码为‘UTF8’点击下一步。
7.如下图,点击下一步。
8.最后点完成。
Chapter1Overview of Oracle9i Database Performance TuningTuning goalsminimizing response timeincreasing throughputincreasing load capabilitiesdecreasing recovery timeTuning steps during development1design2application3memory4input/output(I/O)5contention6opersting systemChapter2Diagnostic and Tuning Toolsv$sysstat(statistic#,name,class,value)v$sgastat(pool,name,bytes)v$event_name(event number,name,parameter1,parameter2,parameter3)v$system_event(event,total_waits,total_timeouts,time_waited,average_wait)SQL>select name,class,value from v$sysstat;SQL>select*from v$sgastat;Displaying session-related statisticsv$statname(statistic#,name,class)v$sesstat(sid,statistic#,value)v$session(sid,serial#,username,osuser)v$session_event(sid,event,total_waits,total_timeouts,time_waited,average_wait,max_wait)v$event_name(event#,name,parameter1,parameter2,parameter3)v$session_wait(sid,seq#,event,ps/2/3,p1/2/3text,p1/2/3raw,wait time,seconds_in_wait,state)SQL>select sid,username,type,server from v$session;SQL>select username,name,value from v$statname n,v$session s,v$sesstat t where s.sid=t.sid and n.statistic#=t.statistic#and s.type='user' and ername is not null and ='session pga memory'and t.value>30000;SQL>select sid,event from v$session_wait where wait_time=0;SQL>select name,parameter1,parameter2,parameter3from v$event_name;SQL>select sid,event,total_Waits,average_wait from v$session_event where sid=10;SQL>select sid,seq#,event,wait_time,state from v$session_wait;wait_time{>0(the session's last wait time);=0(the session is currently waiting)=-1(the value was less than1/100of a second)=-2(the system cannot provide timing information)}SQL>select event,total_waits,total_timeouts,time_Waited,average_wait from v$system_event order by time_waited desc; Troubleshooting and tuning viewsInstance/Databasev$databasev$instancev$optionv$parameterv$backupv$px_process_sysstat:parallel query system statisticsv$process:information about currently active processv$waitstat:connection statisticsv$system_event:total waits for particular eventsDiskv$datafilev$filestat:data file read/write statisticsv$logv$log_historyv$dbfilev$tempfilev$tempstat:information about file read/write statistics for temporary tablespace data filesv$segment_statistics:offers statistics on I/O segmentConnectionv$lockv$rollnamev$rollstat:statistics for all online rollback segmentsv$waitstat:block contention statistics(the timed_statistics parameter should be set to true)v$latch:statistics for each types of latchMemoryv$buffer_pool_statistics:buffer pools allocation on the instancev$db_object_cache:database objects cached in the library cachev$librarycache:library cache performance and activity statisticsv$rowcache:data dictionary hits and misses activityv$sysstat:basic instance statisticsv$sgastatUser/Sessionv$lock:locks currently held by the server and outstanding requests for a lock or latchv$open_cursor:cursors currently opened and parsed by each sessionv$processv$transactionv$px_sesstat:information about the session executing SQL statements in parallelv$px_sessionv$sesstat:user session statisticsv$session_event:information on waits for an event by a sessionv$sort_usage:seze of temporary segment and sessions creating them;identification of process doing disk sortsv$session_waitv$sessionv$session_object_cachetestSQL>show parameter timed_statisticsSQL>altere system set timed_statistics=true;SQL>alter session set SQL_TRACE=true;SQL>select count(*)from dba_tables;SQL>alter session set SQL_TRACE=false;$cd$HOME/admin/udump$ls-l$sqlplus hr/hr$sqlplus sys/oracle as sysdbaSQL>select username,sid,serial#from v$session where username='hr';SQL>begindbms_system.set_sql_trace_in_session(&SID,&SERIALNUM,true);end;/SQL>select*from employees;SQL>begindbms_system.set_sql_trace_in_session(&SID,&SERIALNUM,false);end;/$cd$HOME/admin/udump$ls-lSQL>connect sys/oracle as sysdbaSQL>create tablespace tools datafile'$HOME/oradata/u05/tools.dbf'size100M extent management dictionary;SQL>select tablespace_name,sum(types)from dba_free_space where tablespace_name='tools'group by tablespace_name; SQL>@$HOME/student/labs/spcreate.sqlSQL>@$HOME/student/labs/snap.sqlSQL>@$HOME/student/labs/spauto.sqlSQL>select job,next_date,next_sec,last_sec from user_jobs;SQL>select sanp_id,to_char(startup_time,'dd Mon"at"HH24:mi:ss')instart_fm,to_char(snap_time,'dd Mon YYYY HH24:mi') snapdat,snap_level"level"from stats$snapshot order by snap_id;SQL>@$HOME/student/labs/spreport.sql$vi sp_x_y.1stwhere x is the starting snapshot,and y is the ending snapshot(this is true if the default report filename was used)SQL>connect sys/oracle as sysdbaSQL>select event,total_waits,time_waited from v$system_event;SQL>select sid,event,p1text,wait_time,state from v$session_wait;SQL>connect perfstat/perfstatSQL>select job,log_user from user_jobs;SQL>execute dbms_job.remove($job);SQL>alter session set sql_trace=true;SQL>select sid,serial#,username from v$session;SQL>execute dbms_system.set_sql_trace_insession(16.167.true);statspack install先阅读/u010g/oracle/rdbms/admin/spdoc.txt这文档SQL>create tablespace perfstat datafile'/u01/oradata/pitts/perfstat_01.dbf'size512M;SQL>@?/rdbms/admin/spcreate.sqlSQL>execute statspack.snap;SQL>execute statspack.snap;SQL>@?/rdbms/admin/spreport********************************************************************************德哥statspack讲解SQL>drop user perfstat cascade;SQL>drop tablespace perfstat including contents and datafiles;SQL>create tablespace perfstat datafile'/oradata/clonedb/perfsata01.dbf'size500M autoextend on;SQL>@?/rdbms/admin/spcreate.sql如过运行出错SQL>@?/rdbms/admin/spdrop.sql然后在安装SQL>@?/rdbms/admin/spcreate.sql查看相关文档cat spcusr.listSQL>connect perfstat/perfstatSQL>execute statspack.snap;SQL>select*from stats$statspack_parameter;SQL>select*from stats$snapshot;然后在执行一次SQL>execute statspack.snap;vi spauto.sqlvariable jobno number;variable instno number;beginselect instance_number into:instno from v$instance;dbms_job.submit(:jobno,'statspack.snap;',trunc(sysdate+1/24,'HH'),'trunc(SYSDATE+1/24,''HH'')',TRUE,:instno);commit;end;/SQL>execute dbms_job.interval(62,'sysdate+1/(24*60)');SQL>select*from user_jobs;report1、instance reportspreport.sqlsprepins.sql(multi-instance)2、sql reportsprepsql.sqlsprsqins.sql(multi-instance)vi$HOME/rdbms/admin/sprepcon.sqldefine num_days='';SQL>@?/rdbms/admin/spreport.sql(生成报告)SQL>@?/rdbms/admin/sprepins.sqlSQL>@?/rdbms/admin/sprepsql.sqlConfigure1database parameters2snapshot parameters3instance report parameters4sql report parametersSQL>desc stats$statspack_parameter;SQL>select SNAP_LEVEL from stats$statspack_parameter;SQL>execute statspack.snap<i_snap_level=>7>;SQL>execute statspack.snap<i_snap_level=>7,i_modify_parameter=>'true'>;使用包更改SQL>execute statspack.modify_statspack_parameter<i_snap_level=>6>;SQL>select SNAP_LEVEL from stats$statspack_parameter;停止脚步执行SQL>execute dbms_job.remove(62);SQL>select*from user_jobs;maintenanceMake_baseline&clear_baselinePurge snapshot except baselineTruncate all tables with perfstat schemaDrop perfstat schema;SQL>define i_begin_snap=1SQL>define i_end_snap=16SQL>execute statspacl.make_baseline(i_begin_snap=>1,i_end_snap=>16);SQL>execute statspack.purge(i_begin_snap=>1,i_end_snap=>73);SQL>execute statspace.clear_baseline(i_begin_snap=>1,i_end_snap=>16,i_snap_range=>false);SQL>execute statspack.purge(i_begin_snap=>1,i_end_snap=>16);SQL>select snap_id from stats$snapshot;********************************************************************************Chapter3Database Configuration and I/O IssuesUsing the v$filestat viewSQL>select phyrds,phywrts, from v$datafile d,v$filestat f where d.file#=f.file#order by ;I/O statisticsSQL>select d.tablespace_name tablespace,d.file_name,f.phyrds,f.phywrts from v$filestat f,dba_data_files d where f.file#=d.file_id; Table Scan statisticsSQL>select name,value from v$sysstat where name like'table scan%';Determine the progress of long operations usingSQL>select sid,serial#,opname,to_char(start_time,'HH24:MI:SS')as"start",(sofar/totalwork)*100as percent_complete from v$session_longops;Use set_session_longops to populate v$session_longopsdbms_application_info.set_session_longops(rindex,slno,"Operation X",obj,0,sofar,totalwork,"table","tables");Monitoring full table scan operationsdeclarerindex binary_integer;slno binary_integer;totalwork number;sofar number;obj binary_integer;beginrindex:=dbms_application_info.set_session_longops_nohint;sofar:=0;totalwork:=10;while sofar<10loop--update obj based on sofar and perform task on object targetsofar:=sofar+1;dbms_application_info.set_session_longops(rindex,slno,"Operation X",obj,0,sofar,totalwork,"table","tables");end loop;end;DB_FILE_MULTINLOCK_READ_COUNT:是指oracle一次IO读出的最大块数,同时也受操作系统限制如:oracle一次IO读64K,但是,操作系统只能读32K,这样就受到限制。