数据库性能分析-oracle

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle常用的基本操作
• 数据导入、导出
imp v3xuser/123456@orcl full=y ignore=y
imp ctp/12345678@orcl full=y file=%dmpfile% log="import.log">impres.txt imp v3xuser/v3xuser@;0.202.40.140/v3x.seeyon.com buffer=20000000 file=f:\20120220143131.dmp full=y ignore=y
• 慢速sql、TOPSQL抓取 • 循环SQL • Explain SQL
数据库服务器性能分析
• 硬件资源(以下以linux资源举例)
vmstat 10 10
r 运行队列
Swpd 虚拟内存使用大小 free 空闲的物理内存的大小 si 每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露
Linux服务器监控工具-nmon
• Nmon工具使用 cpu占用率 内存使用情况 磁盘I/O速度、传输和读写比率 文件系统的使用率 网络I/O速度、传输和读写比率、错误统计率与传输包的大小 消耗资源最多的进程 计算机详细信息和资源 页面空间和页面I/O速度 用户自定义的磁盘组 网络文件系统
数据库分析
Oracle和性能相关的参数process
• connects Process和session
Connects:数据库连接池(应用程序初始化设置) Session:一个连接对应1个或多个会话 SQL> select * from v$session;这个就可以查看所有的session SQL> select count(*) from v$session #连接数 SQL> Select count(*) from v$session where status='ACTIVE' #并发连接数 SQL> show parameter processes #最大连接 SQL> alter system set processes = value scope = spfile;重启数据库 #修改连接 查询数据库自启动以来最大的并发数量 select * from v$license oracle的连接数(sessions)与其参数文件中的进程数(process)相关,它们的关系如下: sessions=(1.1*process+5) 若果资源允许,而当前process 数过小,那么可以适当增大processs 数( session 数依赖于process数, 一般不去直接修改session数)。
• SGA\PGA • 临时表空间使用 • 回滚段争用 • 命中率 • 综合分析:IO、表分析、
Oracle 动态内存管理
• 按照系统对内存使用方法的不同,Oracle数据 库的内存可以分为以下几个部分: •系统全局区:SGA(System Global Area •程序全局区:PGA(Programe Global Area •排序池:Sort Area •大池:Large Pool •Java池:Java Pool
Oracle常用的基本操作
创建表空间、增加数据文件
CREATE SMALLFILE TABLESPACE "V3XSPACE“ DATAFILE'D:\V3XSPACE.DBF' SIZE 30720M AUTOEXTEND ON NEXT 200M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
查看剩余表空间
查看表空间使用情况: select a.tablespace_name,total,free,total-free used from ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name) a, ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name;
;
数据库全库导出
Expdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log 单个用户方案导入 impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log ignore=y 数据库全库导入 impdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log
alter tablespace V3XSPACE add datafile 'D:\V3XSPACE01.DBF' size 100M AUTOEXTEND ON NEXT 2000K MAXSIZE UNLIMITED;
查询表空间文件位置 select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#; 按用户查询表空间 select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users where username ='V3XUSER 查询磁盘剩余(使用ASM) select name,total_mb,free_mb, (total_mb-free_mb) used from v$asm_diskgroup; select group_number,file_number,bytes,space from v$asm_file; 删除表空间及数据文件 drop tablespace v3xspace including contents and datafiles;//删除数据文件 drop tablespace v3xspace inculding contents;//删除表空间
us 用户CPU时间,我曾经在一个做加密解密很频繁的服务器上,可以看到us接近100,r运行队列达到80(机器在 做压力测试,性能表现不佳)。
sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。 id 空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率,sy是系 统CPU使用率。 wt 等待IO CPU时间。 通过以上,我们可以分析数据库服务器的cpu、系统内存、IO的情况! http://blog.csdn.net/jacky0922/article/details/6675343
select round(sum(pga_alloc_mem)/1048576,1) from v$process;
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器 的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内 存不够再往虚拟内存中写。 PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相 反,PGA 是只被一个进程使用的区域,PGA 在创建进程时分配,在终止进程时回收。 http://blog.itpub.net/25264937/viewspace-694917/
临时表空间使用情况
存储过程报临时表空间不足,是一个常见的问题,需要引起特别重 视。所以需要经常监控临时表空间的使用和对不良SQL进行优化。 临时表空间大小:
SELECT round(sum(bytes)/1048576/1024) from dba_temp_files;
临时表空间使用情况:
select a.USERname,b.MACHINE,b.SID,b.SERIAL#,c.SQL_TEXT, ROUND(SUM(BLOCKS*8192*2)/1048576,2) usered from v$sort_usage a,v$session b,v$sqlarea c where a.SESSION_ADDR = b.SADDR AND b.SQL_ID=c.SQL_ID group by a.USERname,b.MACHINE,b.SID,b.SERIAL#,c.SQL_TEXT; 查看临时表空间大小: select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files; System帐号 :select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;
Oracle常用的基本操作
登录数据库:
(1) Sqlplus /nolog sql>conn sys/admin as sysdba (2) Sqlplus sys/admin as sysdba (3) 以系统管理员身份登录: conn / as sysdba (4) 登录远程数据库:sqlplus v350sp1/123456@192.168.10.180/ORCL
数据库性能分析
Oracle实例 王云鹏 2015-12-18
目录
• Oracle常用的操作
• 基本操作 • 导入、导出 • Process、表空间
• 数据库性能分析
• 数据库服务器分析
• 硬件资源(及工具) • 资源设计SGA\PGA • 锁资源
• SQL分析
• 慢速sql、TOP sql抓取 • 重复SQL • Explain SQL
查看表空间文件位置 select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;
数据库性能分析
• 数据库服务器 数据库的性能问题主要体现在: 1、 硬件资源的不足。如CPU、内存、I/O、网络 2、 资源设计的不合理。如SGA分配不合理、命中率低 3、 锁资源不足 • SQL性能
Oracle常用的基本操作
查看数据库用户、授权、修改密码、创建用户:
(1) select * from v$pwfile_users; (2) grant sysdba to system ;
(3)CREATE USER "V3XUSER" PROFILE "DEFAULT" IDENTIFIED BY "123456" DEFAULT TABLESPACE "V3XSPACE" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK ; (4) alter user v3xuser identified by 111111;
SGA、PGA
查看SGA:ห้องสมุดไป่ตู้
show parameter sga SELECT* from v$parameter a WHERE a.name IN( 'shared_pool_size' , 'log_buffer', 'db_cache_size','java_pool_size','large_pool_size') 查看SGA使用情况: select component,current_size/1048576 ,min_size/1048576 from v$sga_dynamic_components; 查看PGA: SQL> show parameter pga 查看PGA使用情况:
相关文档
最新文档