02 2021 档案
摘要:之前同事打电话我咨询问题,说是8TB的磁盘空间分了2TB,后面空间不能再分了,系统、数据库安装在前面2TB空间中,后面空间用fdisk 工具不能划分空间,告诉他用parted 工具划分空间,磁盘分区格式mbr要转换为gpt,理论上可以转换不丢数据,但是数据安全起见,还是得做一个数据备份稳妥。fdis
阅读全文
摘要:DBA 在对开发人员的sql 进行审核的时候,应遵循的一些基本规范:
阅读全文
摘要:索引设计不佳和缺少索引是提高数据库和应用程序性能的重要障碍,设计高效的索引对于获得良好的数据库和应用程序性能极为重要。DBA在进行索引设计的时候,应遵循的一些基本原则:
阅读全文
摘要:grid 安装包中找到脚本runcluvfy.sh,执行如下步骤,根据输出的提示确认环境是否满足rac安装的需求以进行修正: su - grid ./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -verbose
阅读全文
摘要:oracle 安装包中找到sshUserSetup.sh脚步,在一个节点分别执行如下步骤即可: su - oracle ./sshUserSetup.sh -user oracle -hosts "racnode1 racnode1" -advanced -noPromptPassphrase su
阅读全文
摘要:单实例需2个asm故障组,集群需3个故障组,不多说,直接画图:
阅读全文
摘要:大表分区的目的: 1、提高性能(主要原因): sql 语句的where条件包含分区键的时候,可以过滤掉不需要的分区,不需要扫描那些不需要的分区的数据块。 可以把不同的分区映射到磁盘以平衡i/o,改善整个系统性能 2、管理维护方便,数据维护只操作某些分区即可: 如果表的某个分区出现故障,表在其他分区的
阅读全文
摘要:(1)basic configuration character-set-server=utf8 #服务器字符集编码 lower_case_table_names=1 #用来配置数据库名和表名的大小写,建议设置成1 1#表示不区分大小写 0#表示区分大小写 skip-name-resolve #禁用
阅读全文
摘要:线上数据库有几张log 表,每天新增插入行数2千多万,开发之前是使用delete 每天删除一定数据量,后面随着日志表越来越大,删除的sql 执行速度越来越慢,db redo、undo 量暴增,删除速度慢(执行计划都是全表扫描),影响db系统性能。与开发沟通,得知log 只需要保留最近7天的,7天前的
阅读全文
摘要:当oracle数据库出现了性能问题的时候,应从如下3个大的方向依次分析: 应用层: 了解应用所面临的性能问题 1、了解应用架构 2、了解应用服务器状况 操作系统层: 发现操作系统资源使用瓶颈 1、cpu --vmstat 2、memory --vmstat,top,free 3、io --iosta
阅读全文
摘要:--real-time iops select inst_id node,ROUND(SUM(small_read_iops+large_read_iops+small_write_iops+large_write_iops)) as iops from GV$IOFUNCMETRIC t grou
阅读全文
摘要:oracle中查看sql执行状况,比如执行计划,执行时间等,可以用于sql执行性能监控(当发生sql执行性能降级,可分析执行计划是否变动,执行计划变动可通过计划基线进行固定) select ss.instance_number node, begin_interval_time, sql_id, p
阅读全文
摘要:--查找最近1分钟内最消耗cpu的sql SELECT sql_id,count(*), round(count(*) / sum(count(*)) over(),2) pctload FROM V$ACTIVE_SESSION_HISTORY WHERE sample_time > sysdat
阅读全文
摘要:Linux 释放内存脚本,当剩余内存低于预设的百分比时执行内存释放动作,可以放到cron中定时执行,维持系统有足够的剩余内存,保障数据库稳定性。 #!/bin/bashmem_total=`free -m | awk 'NR==2' | awk '{print $2}'`mem_free=`free
阅读全文
摘要:有时候我们从linux系统中添加或者移除硬盘,不想或者不能重新启动,可以采用如下方式: 添加硬盘:# echo "scsi add-single-device 0 0 1 0" >/proc/scsi/scsi 或者使用rpm包sg3_utils 中的rescan-scsi-bus.sh脚本重新扫描
阅读全文
摘要:近日在做数据库历史数据迁移的时候,在历史库上通过dblink 方式远程导出dataguard备库上的分区表历史分区数据,报ORA-39164 PARTITION READ ONLY DATBASE DBLINK错误,历史库版本oracle 12c,dataguard备库版本11g,查询mos为ora
阅读全文
摘要:--/etc/udev/rules.d/99-oracle-asmdevices.rules --本地磁盘 --rhel/ol 5 KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s /block/$parent", RESUL
阅读全文
摘要:rhel 7、8/ol 7、8 新部署完系统默认会生成一个virbr0 虚拟网卡,移除方式如下: ifconfig virbr0 downbrctl delbr virbr0nmcli device delete virbr0-nicsystemctl mask libvirtd.service -
阅读全文
摘要:线上的一套oracle 数据库,最近分析性能状况需生产awr,发现数据库最新快照是1周之前的导致不能产生最新的awr,于是手动创建快照,执行 BEGIN DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT; END; / 几分钟过去了,卡死,检查快照没有创建成功,之前也
阅读全文
摘要:1、服务器cpu、内存、网卡流量信息 2、命中率、响应时间 3、数据库大小、空间使用状况 4、数据库请求状况 5、IO状况 6、等待事件 7、ogg 数据同步延迟状况
阅读全文
摘要:oracle: 1.pl/sql developer ,首推,体积小,运行速度快,功能强大,侧重于sql、pl/sql 开发 2.toad,功能多,使用较复杂,侧重于数据库运维 3.sql developer ,oracle 官方出品,功能多,由于使用java编写的,运行速度欠缺,重要的是免费使用
阅读全文
摘要:DB Time(请求时间)= DB Wait Time(DB非空等待时间)+ DB CPU Time(DB CPU服务时间)+DB IO Time(DB IO服务时间),DB Time是数据库所有全台会话消耗或者等待资源时间总和,不同系统之间DB Time 不具有可比性,同一系统比较不同时段DB T
阅读全文
摘要:1、最大服务器内存,缺省值很大,正常服务器内存达不到那么大,调整为服务器内存的80%左右,余下20%留作os 使用,如果服务器上还有其他应用在跑,也要考虑应用内存使用量根据实际情况限制值进一步下调。此值如果不加限制,容易导致服务器剩余内存不足,引发故障。 2、最大并行度,缺省无限制,容易导致服务器c
阅读全文
摘要:1、统计信息分类Oracle数据库优化统计描述的详细信息的数据库及其对象。 优化器成本模型依赖于收集有关查询中的对象的统计和数据库和主机在运行查询。 统计信息是优化器选择一个SQL语句的最佳执行计划的关键。 Table statistics包括: Number of rows(行数) Number
阅读全文
摘要:--backup full database run{ allocate channel d1 type disk; allocate channel d2 type disk; allocate channel d3 type disk; allocate channel d4 type disk
阅读全文
摘要:--查询表空间使用率 select total.tablespace_name, round(total.size_GB,2) as Total_GB, round(total.size_GB-free.size_GB,2) as Used_GB, round((1-free.size_GB/tot
阅读全文
摘要:日志挖掘通过分析在线日志或者归档日志,可以恢复表误删除的数据或者对表数据变更进行审计,数据库需要为归档模式并且启用了附加日志。 --add supplemental log alter database add supplemental log data; alter database add su
阅读全文
摘要:mos 提供的用于通过dataguard 滚动升级数据库的脚本 步骤不列举了,主要谈一下重要的地方:开始前,需要确认主备库能够正常Switchover,主备同步正常。备库是先升级的,可以在安装11.2.0.4时选择“升级existing database”,在提示监听器时可选择Typical配置,然
阅读全文
摘要:--启用sys审计 alter system set audit_sys_operations='TRUE' --启用db审计 alter system set audit_trail='DB_EXTENDED' scope=spfile ; --迁移aud$表到用户自定义表空间 BEGIN DBM
阅读全文
摘要:1.oracle 11g --创建目录mkdir -p /u01/app/oracle/product/11.2.0/db_1mkdir -p /u01/app/oraInventorymkdir -p /u01/app/gridmkdir -p /u01/app/11.2.0/grid --创建用
阅读全文
摘要:10g/11g --recreate db control emca -config dbcontrol db -repos create emca -deconfig dbcontrol db -repos drop 12c --reconfig db express show parameter
阅读全文
摘要:--oracle 9ir2 CREATE DATABASE testdb USER SYS IDENTIFIED BY oracle USER SYSTEM IDENTIFIED BY oracle LOGFILE GROUP 1 ('/u01/app/oracle/oradata/testdb/r
阅读全文
摘要:绑定变量的作用:提升数据库性能,降低数据安全风险。 数据库性能:oltp 类型系统往往运行着大量的结构相似的短sql语句,每次变化的值让优化器对同一个语句进行多次硬解析,从而增加数据库对语句执行消耗的cpu资源 数据安全:黑客可能利用网页生产的sql代码的where条件的值修改成具有攻击性例如1=1
阅读全文
摘要:之前一套11g rac 数据库,出现大量 ges enter server mode 等待事件,排在等待事件top1,平均等待2秒钟,查询mos 资料,有2种可能情况导致:数据库负载高,data guard环境备库应用redo 速度慢,检查db负载、备库日志同步情况,发现正常,继续排查。 问题困扰了
阅读全文
摘要:昨天正准备下班,zabbix 监控预警,报ogg 投递进程abort,马上连到生产库查看,果然进程挂掉,手动启动进程依然挂掉,执行view report 查看到如下报错: 2021-02-02 18:59:26 WARNING OGG-01221 Connect failed to 10.178.4
阅读全文
摘要:rman 全备份与level 0 级差异备份均是备份数据库所有数据,全备份不能用于差异备份恢复基准,level 0级差异备份能用于level 1、2、3...n 级差异备份恢复的基准。
阅读全文
摘要:差异增量备份:备份同级或上级备份以来变化的数据块,是增量备份的默认备份方式,即level 1备份上次level 1或level 0备份以来变化的数据块,level 2 备份上次level 2或level 1 或level 0 备份以来变化的数据块; 累积增量备份:备份上级备份以来变化的数据块,即le
阅读全文
摘要:数据访问方式: 物理读:从磁盘读取数据到buffer cache,消耗磁盘io,一般是全表扫描导致,可以通过添加索引方式减少数据访问达到降低io目的 逻辑读:直接从内存缓冲区获取数据,分为当前读和一致性读,当前读获取数据块的最新版本,进程会给读取的块加锁,一致性读读取是块的最新版本或者回滚段中的历史
阅读全文
摘要:今天从12c 生产环境导出一份数据库结构,dump file 传给同事导入到11g 环境,我这边导出显示成功,同事导入报错,检查导出log ,dump 文件生成没有问题,应该是版本兼容问题,oracle用数据泵从高版本导出数据导入到低版本库,导出时需加入参数version=导入的低版本对应的数据库版
阅读全文