Oracle数据库 数据库调优

一、数据库调优的目标

简单来说,数据库调优的目的就是要让数据库运行得更快,也就是说响应的时间更快,吞吐量更大
不过随着用户量的不断增加,以及应用程序复杂度的提升,我们很难用“更快”去定义数据库调优的目标,因为用户在不同时间段访问服务器遇到的瓶颈不同,比如双十一促销的时候会带来大规模的并发访问;还有用户在进行不同业务操作的时候,数据库的事务处理和 SQL 查询都会有所不同。因此我们还需要更加精细的定位,去确定调优的目标。

二、确定调优目标的方式

1. 用户的反馈

用户是我们的服务对象,因此他们的反馈是最直接的。虽然他们不会直接提出技术建议,但是有些问题往往是用户第一时间发现的。我们要重视用户的反馈,找到和数据相关的问题。

2. 日志分析

--可以通过查看数据库日志和操作系统日志等方式找出异常情况,通过它们来定位遇到的问题。

--1.查询系统使用的是哪一组日志文件:
select * from v$log;
--2.查询正在使用的组所对应的日志文件:
select * from v$logfile;
--3.强制日志切换:
alter system switch logfile;
--4.查询历史日志:
select * from v$log_history;
--5.查询日志的归档模式:
select dbid,name,created,log_mode from v$database;
--6.查询归档日志的信息:
select recid,stamp,thread#,sequence#,name from v$archived_log;
--7.增加与删除日志文件组
alter database add logfile group 1 ('/home1/oracle/oradata/ora8i/log1a.log'),'/home2/oracle/oradata/ora8i/log1b.log') size 100M;
alter database drop logfile group 1;
--8.增加与删除日志成员
alter database add logfile member '/home1/oracle/oradata/ora8i/log1a.log' to group 1,'/home1/oracle/oradata/ora8i/log2a.log' to group 2;
alter database drop logfile member '/home1/oracle/oradata/ora8i/log1a.log' ;
--9.日志文件移动
alter database rename file '/home1/oracle/oradata/ora8i/log1a.log' to '/home2/oracle/oradata/ora8i/log1a.log';
----执行该命令之前必须保证该日志文件物理上已经移动到新目录
--10.清除日志文件
alter database clear logfile '/home1/oracle/oradata/ora8i/log1a.log';

3. 服务器资源使用资源

通过监控服务器的 CPU、内存、I/O 等使用情况,可以实时了解服务器的性能使用,与历史情况进行对比。

4. 数据库内部状况监控

--在数据库的监控中,活动会话(Active Session)监控是一个重要的指标。通过它,你可以清楚地了解数据库当前是否处于非常繁忙的状态,是否存在 SQL 堆积等。除了活动会话监控以外,我们也可以对事务、锁等待等进行监控,这些都可以帮助我们对数据库的运行状态有更全面的认识。

-- 查看所有job
select from dba_jobs;
-- 查看正在运行的job
select from dba_jobs_running;
select job,log_user,priv_user,
  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]和\[2\]提到了Oracle数据库的一些相关文章,但没有具体提到数据库参数调优。引用\[3\]提到了调整数据库SQL语句来提高性能的方法,但没有提到具体的数据库参数调优方法。 数据库参数调优是通过调整数据库的各种参数来提高数据库性能和优化查询执行效率的过程。在Oracle数据库中,有很多参数可以进行调整,例如缓冲区大小、共享池大小、日志缓冲区大小等。通过合理地调整这些参数,可以提高数据库的响应速度和吞吐量。 具体的数据库参数调优方法包括: 1. 监控和分析数据库性能:通过使用Oracle提供的性能监控工具,如AWR报告、ASH报告等,可以了解数据库的性能瓶颈和热点,从而有针对性地进行参数调优。 2. 调整缓冲区大小:通过增加SGA(System Global Area)的大小,可以提高数据库的缓存命中率,减少磁盘IO操作,从而提高查询性能。 3. 调整共享池大小:共享池是用于存储共享SQL和PL/SQL代码的内存区域,通过增加共享池的大小,可以减少SQL的解析次数,提高查询的执行效率。 4. 调整日志缓冲区大小:通过增加日志缓冲区的大小,可以减少日志写入磁盘的次数,提高事务的提交性能。 5. 调整并发连接数:通过增加数据库的并发连接数,可以提高数据库的并发处理能力,减少用户等待时间。 需要注意的是,数据库参数调优是一个复杂的过程,需要根据具体的数据库环境和应用需求进行调整。建议在进行参数调优之前,先备份数据库,并进行充分的测试和验证,以确保调整后的参数能够达到预期的效果。 #### 引用[.reference_title] - *1* *2* *3* [Oracle数据库参数优化参考](https://blog.csdn.net/whb123andy/article/details/16987705)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值