- 博客(121)
- 资源 (6)
- 收藏
- 关注
转载 Oracle checkpoint优化及原理分析
Purpose本文档旨在使数据库管理员更好地了解增量检查点(Checkpoint),并对检查点(Checkpoint)优化所用的下列四个初始化参数进行了描述:-FAST_START_MTTR_TARGET-LOG_CHECKPOINT_INTERVAL-LOG_CHECKPOINT_TIMEOUT...
2019-03-13 11:01:28
888
原创 Oracle 如何查看latch或row cache objects
1、业务现象:业务高峰期时,数据库处理能力陡降,超时严重。截图如下:查询active_session_history 发现均是平时的业务语句占用:select t.sql_id,s.SQL_TEXT, count(*) from v$active_session_history t,v$sqlarea s where t.SAMPLE_TIME > ...
2019-03-08 09:51:54
1559
原创 Oracle 数据库用户登录hang死问题处理
问题:用户登录数据库持续时间很长,sqlplus sysdba可以正常登录,其他用户可以正常登录。分析:通过尝试其他用户创建登录,均正常,监听正常。查看awr日志发现大量的如下等待事件。Statistic Name Time (s) % of DB Time connection management call elapsed time 2,316,700.1...
2019-03-07 13:46:51
1867
3
原创 Oracle删除大分区表
1. 查看数据总量,查看要删除的数据量,查看是否有索引,或全局索引。select sum(bytes)/1024/1024/1024 from dba_segments t where t.segment_name='MS_CUST_PRDT_DAY_PFT_D' and t.partition_name like 'P2016%';select t.partitioned, t.* fr...
2019-01-10 09:43:36
1084
原创 Oracle Failover切换及恢复
检查数据库同步是否正常:col name for a25col value for a20col unit for a30col time_computed for a20col datum_time for a20select name,value,unit,time_computed,datum_time from GV$dataguard_stats; set line ...
2018-12-27 18:29:32
1994
1
原创 Mysql mysqldump工具导入导出
1. 数据库导出只导出数据库结构:mysqldump -h localhost -u root -p -d hly > hly.bak导出数据库结构及内容:mysqldump -h localhost -u root -p hly > hly.bak导出全部数据库:mysqldump -h localhost -u root -p --all_databases -C...
2018-12-19 14:01:25
827
原创 Mysql 常用操作
database相关:create database hly;drop tablespace hly;show databases;use hly; 在MySQL 中,数据库对应操作系统下的数据目录。数据库中的每个表至少对应数据库目录中的一个文件(也可能是多个,这取决于存储引擎)。因此,所使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性 查看dd...
2018-12-18 16:40:57
1049
原创 Linux sysbench测试
./configuremakemake install 1. IO测试./sysbench --num-threads=4 --test=fileio --file-num=4 --file-total-size=20G --file-test-mode-rndrw prepare./sysbench --num-threads=4 --test=fileio --file...
2018-11-26 17:58:14
424
原创 Oracle 设置sqlplus登录提示显示数据库名
cd $ORACLE_HOME/sqlplus/adminvi glogin.sql define _editor=viset trimspool onset pagesize 9999column plan_plus_exp format a80column global_name new_value gnameset termout offdefine gname=id...
2018-10-23 15:54:13
1188
原创 Oracle sql tune report使用
首先,sql必须是绑定变量的,其中如果有常量,常量应该是不变的。使用sqltrpt脚本进行分析,会得到分析报告的:sqlplus / as sysdba@?/rdbms/admin/sqltrpt分析报告中,主要关注5种建议:1)重新收集统计信息2)重写sql where中的不佳部分,例如,有索引列被放到函数中的3)建议建立相关表的索引4)通过分析sql找到的新的执行计划...
2018-10-08 16:08:45
829
原创 Oracle 查询SQL执行慢,多个只读节点,某个节点高,执行计划改变
1、查询执行计划改变的sqlselect sql_id,count(*) from (select t.SQL_ID,t.PLAN_HASH_VALUE from v$sql_plan t group by t.SQL_ID,t.PLAN_HASH_VALUE) group by sql_id order by count(*) desc 2、查询自启动起来SQL执行平均时间se...
2018-09-17 14:42:00
470
原创 Oracle Sys用户删除其他用户下的dblink
Create or replace procedure Drop_DbLink(schemaName varchar2, dbLink varchar2 ) is plsql varchar2(1000); cur number; uid number; rc number...
2018-09-07 11:15:37
2231
原创 Oracle 设置开机自启动
1. 首先修改/etc/oratab添加tst110:/u01/app/oracle/product/11.2.0/db:Y上面三个参数的意义分别为,实例名、ORACLE HOME、是否允许使用dbstart启动数据库2. 修改文件/etc/rc.d/rc.local,添加如下行:su oracle -lc "/u01/app/oracle/product/11.2.0/db/bin/l...
2018-09-06 20:43:54
362
原创 Oracle 根据SQL_ID查询并杀会话,清空执行计划缓冲池
1. 查询最近五分钟内最高频次SQL,查看eventselect t.SQL_OPNAME,t.SQL_ID,count(*) from v$active_session_history t where t.SAMPLE_TIME>to_timestamp('20180906-09:55:00','YYYYMMDD-hh24:mi:ss') and t.SESSION_TYPE='FOR...
2018-09-06 10:31:40
6256
原创 Oracle 查看补丁版本(OS层和数据库层)
#检查DB的当前的补丁情况 set linesize 500 col version for a10 col bundle_series for a8 col comments for a20 select version, bundle_series, comments from dba_registry_history; set linesize 100 col prod...
2018-08-29 13:23:10
7781
原创 Linux 查看CPU占比高的进程
while(true); do sleep 1; ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head>>cpu.log; echo "========================================================">>cpu.log; done
2018-08-27 09:41:48
1168
转载 Oracle 根据操作系统进程号查看会话
我想,根据操作系统进程号查看oracle对应的SQL语句内容,这一需求对sql优化有一定作用,今天整理了一下。1、 先用ps -aux查询,发现有个进程占用大量CPU,记录下PID2、查看哪个会话在执行什么SQL语句,进程号是多少:2.1 查看所有会话对应的sqlSELECT c.spid,b.sql_text, a.sid, a.serial#, osuser, machine ...
2018-08-27 09:40:58
3333
原创 Oracle 获取历史访问连接和当前连接
cat htef1_listener.log | grep -i zxapp |awk -F"[C][O][N][N][E][C][T]" '{print $2}'|awk -F"[P][O][R][T]" '{print $1}' |awk '!a[$0]++'netstat -anp|grep 1521|grep -i zxapp|awk '{print $5}'|awk -F"[:...
2018-08-24 09:34:23
4099
转载 Linux 修改密码策略
1.安装一个PAM模块来启用cracklib支持,这可以提供额外的密码检查功能。在Debin,Ubuntu或者Linux Mint使用命令:sudo apt-get install libpam-cracklib 这个模块在CentOS,Fedora或者RHEL默认安装了。所以在这些系统上就没有必要安装了。 如要强制执行密码策略,我们需要修改/etc/pam.d这个与身份验证相关的文...
2018-08-16 15:09:27
10955
原创 Oracle 配置TAF Service 实现rac间节点的迁移
--ORACLE RAC TAF 配置(透明故障转移)TAF(Transparent Application Failover)即透明应用程序故障转移技术。当初始化连接出现问题无法连接时,该功能可以保证应用程序重新连接到可用服务。在重新连接过程中,之前的活动事务将会被回滚,但在“具体条件”下TAF可以保证SELECT语句不被终止。这也是RAC亮点之一。所谓的“具体条件”指的就是FAILOVER...
2018-08-07 09:43:08
1072
原创 Linux 配置本地yum源
1.创建iso存放目录和挂载目录[root@desktop ~]# cd /mnt/[root@desktop mnt]# mkdir iso cdrom2.将iso镜像文件上传到/mnt/iso文件夹下(如果是虚拟机的话可以使用scp命令)3.将/mnt/iso下的iso文件挂载到/mnt/cdrom目录[root@desktop ~]# mount -o loop /mnt/iso/rhel...
2018-07-13 14:38:34
1338
原创 Oracle 修改统计信息时间Gather_stats
1. 查看当前统计信息收集时间select t1.window_name,t1.repeat_interval,t1.duration from dba_scheduler_windows t1,dba_scheduler_wingroup_members t2 where t1.window_name=t2.window_name and t2.window_group_name in ('M...
2018-07-10 15:39:50
1195
原创 Oracle 重建控制文件ControlFile
重建控制文件要求:库未mount或open创建控制文件备份:alter database backup controlfile to trace;查看trace位置:oradebug setmypid;Statement processed.oradebug tracefile_name;或:show parameter user_dump_dest Trace内容如下:CREATE CONTRO...
2018-06-11 14:31:08
1854
原创 Oracle 查看Oracle 安装组件component
CONNECT / as sysdbaSET lines 90 NUMWIDTH 12 PAGES 10000 LONG 2000000000ALTER SESSION SET nls_date_format='YYYY-MM-DD HH24:MI:SS';COL version FORMAT a12COL comp_id FORMAT a8COL schema LIKE versionCOL c...
2018-06-07 16:15:30
6481
转载 Oracle 如何以最快方式干净的关闭数据库的shutdown?
用于:Oracle Database - Enterprise Edition - 版本 9.0.1.0 到 11.2.0.2 [发行版 9.0.1 到 11.2]本文档所含信息适用于所有平台目标如何以最快方式干净的关闭数据库的?解决方案SHUTDOWN ABORT 是关闭数据库的最快方式。 但是,以这种形式关闭数据库会使数据库处于不一致的状态(没有回滚),在这种情况下的备份在下次启动时需要恢复...
2018-06-07 15:53:55
4614
原创 Oracle INDEX索引诊断脚本
1. 大多数脚本都依赖 index_stats 动态表。此表使用以下命令填充: analyze index ... validate structure;尽管这是一种有效的索引检查方法,但是它在分析索引时会获取独占表锁。特别对于大型索引,它的影响会是巨大的,因为在此期间不允许对表执行 DML 操作。虽然该方法可以在不锁表的情况下在线运行,但是可能要消耗额外的时间。一下索引诊断方式不需要使用上面的脚...
2018-06-07 15:37:09
675
原创 Oracle 数据挖掘logmnr使用
1. 测试数据准备create table test(a number(5),c varchar2(20));insert into test values(1,'lty');commit;2. 设置数据挖掘表空间,如果挖掘日志不多可以占用users表空间:create tablespace logmnrtps datafile '/home/dbfile/oradata/tstrisk1/log...
2018-06-07 14:12:56
425
原创 Linux LVM创建镜像分区
1、创建PVpvcreate /dev/sdbpvcreate /dev/sdcpvcreate /dev/sdd2、创建VGvgcreate vgtst /dev/sdb /dev/sdc /dev/sdd3、创建LV 以mirror方式,m2两份lvcreate -m2 --mirrorlog mirrored --alloc anywhere -n tstlv_mirror1 -L 5G v...
2018-05-30 16:02:11
2978
原创 ORACLE 生产数据库数据迁移完善步骤
1. 设置新库为非归档模式,关闭flashback节点2执行:srvctlstop database -d prdweb sqlplus/ as sysdba;startupmountalterdatabase flashback off;alterdatabase noarchivelog;alterdatabase open;exit;srvctlstart instance -d...
2018-05-16 17:32:06
1649
原创 Oracle 查询排序段,temp表空间占用
select * from v$sort_segment;select * from V$SORT_USAGE;select t.username,t.session_addr,t.sql_id,t.extents ,s.USERNAME,s.PROGRAM,s.MACHINE,s.OSUSER ,s.LOGON_TIME from V$SORT_USAGE t,v$session s where...
2018-05-09 17:32:56
1606
原创 Oracle DG 备库文件验证测试失败,无法标识锁定文件
错误为DG stand_file_management 参数设置为MANUL模式后,源端创建数据文件导致的数据同步中断的问题解决方法,手动创建数据文件ALTER SYSTEM SET standby_file_management='MANUAL' SCOPE=MEMORY;根据错误的文件号,查找主库的数据文件名select name from v$datafile where file#=70;...
2018-04-27 09:15:52
461
原创 Oracle 索引重建
alter index RCDATA.SYS_C007917 rebuild online;select bytes/1024/1024/1024 from dba_segments t where t.segment_name='SYS_C007917'select id,count(*) from RCDATA.TEXT_BASICINFO t group by t.id having cou...
2018-04-26 10:39:19
230
原创 Oracle 查看大表
select owner, table_name, sum(size_m) from (select s.owner, s.segment_name as table_name, s.bytes / 1024 / 1024 as size_m from dba_segments s, dba_tables t...
2018-04-24 17:30:01
2495
原创 书籍推荐《蚂蚁金服》
好久之前看的,突然想起来这个分类好久没更新,更个这本书吧这本书算是比较相近的揭示了蚂蚁金服旗下产品支付宝这个产品在实时势造就下的发展,壮大,以至于成为目前估值1600亿美元的独角兽企业。需求驱动产品诞生,规划驱动产品革命,市场成就产品辉煌支付宝的产生来源于淘宝的发展,最初仅跳转到银行支付的成功率太低。第一步:为了解决跳转银行支付成功率低,自行设立支付团队,开发支付页面,与银行合作,成功率大大提升。...
2018-04-20 16:53:10
1015
原创 Oracle DG通过拷贝文件和Rman恢复的方式搭建DG
什么是dataguard? DataGuard 是Oracle自带的数据库同步技术,基本原理为将日志文件(Redo)从源数据库传输到目标数据库,然后再目标数据库上应用(apply)这些日志文件,从而使目标数据库和源数据库保持同步。 提供三种模式可选: (1) 最大性能模式:不影响源数据库的性能,在这种模式下,一旦数据库写到源数据库的联机日志文件中,事务即可提交,不必等到了日志写到目...
2018-04-20 09:42:51
3182
原创 Oracle 诊断案例--数据库hang死
1. 收集统计状态信息:SQL> oradebug setmypidStatement processed.SQL> oradebug dump systemstate 266Statement processed.SQL> oradebug tracefile_name/u01/app/oracle/diag/rdbms/tst11/tst112/trace/tst112_or...
2018-04-16 10:41:19
714
原创 ORACLE 诊断案例---CPU超高
select t.SQL_ID, t.EVENT,count(*) from v$active_session_history t where t.SAMPLE_TIME > to_timestamp('20180416090000', 'YYYYMMDDhh24miss') and t.SAMPLE_TIME < to_timestamp('20180416091600', '...
2018-04-16 10:38:34
197
原创 Oracle 查询数据库一定事件范围内事件排序
select t.SQL_ID, t.EVENT,count(*) from v$active_session_history t where t.SAMPLE_TIME > to_timestamp('20180416090000', 'YYYYMMDDhh24miss') and t.SAMPLE_TIME < to_timestamp('20180416091600', '...
2018-04-16 09:58:22
328
原创 Oracle RAC 更改网卡名称
如:原网卡eth1,为增加网卡可靠性,把eth1和eth3绑定为bond0,主备模式提供服务更改名称后RAC会无法启动网络服务还需要更改的操作如下:/u01/app/11.2.0/grid/bin/oifcfg getif/u01/app/11.2.0/grid/bin/oifcfg setifeth2 10.60.0.0bond0 168.60.0.0注意,公网和私网不能在同一个网段此外还需要更...
2018-04-04 13:37:36
1960
原创 Linux Parted创建分区(超过2T不能使用fdisk创建)
root@prdweb2:/root#partedGNU Parted 2.1Using /dev/sdaWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) select /dev/sdbUsing /dev/sdb(parted) p ...
2018-03-27 17:15:53
1296
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人