实战不停机搭建ORACLE DataGuard
一、基础信息操作系统:Red Hat Enterprise Linux Server release 6.3 (Santiago)数据库:11.2.0.3 配置信息:说明主机名IP地址db_namesidDB_UNIQUE_NAMEService_name主库dg1192.168.47.131orclorclorcldg1orcldg1备库dg2192.168.47.132orclorclorcldg2orcldg2 二、准备工作1、在主库和备库的host文件...
8个DBA最常用的监控Oracle数据库的常用shell脚本
本文介绍了8个常用的监控数据shell脚本。首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。网上也有好多类似的文章,但基本上都不能正常运行,花点时间重新整理了下,以后就能直接使用了。 一.同时文章还介绍了8个重要的脚本来监控Oracle数据库: 1.检查实例的可用性 ...
DG备库上做备库,并延迟应用日志 http://www.itpub.net/thread-1811251-1-1.html
DG备库上做备库,并延迟应用日志有时候备库不需要查询实时数据,如OLAP报表分析,又比如防止主库有误操作后找回原来的数据,故意让备库延迟几小时应用主库日志。如何让备库延迟应用主库日志呢?方法1: 在备库应用主库日志的语句中指定delay属性如alter database recover managed standby database delay 120 disconnect...
ORA-00845: MEMORY_TARGET not supported on this system
今天晚上新装一台Oracle 11g的数据库,打算将SGA设大一点,知道 11g 中有一个新特新 MEMORY_TARGET,于是尝一下鲜,谁知报了个 ORA-00845,报错比较容易迷惑人,不借助Google真得想半天:12...
监控Data Guard实时同步
监控 real-time apply 实时同步的dataguard 是否正常同步:select to_char(SYSDATE,'yyyymmdd hh24:mi:ss') CTIME,NAME,VALUE,DATUM_TIME from V$DATAGUARD_STATS WHERE NAME LIKE '%lag';其中如果apply lag对应的value大于0,那么就需要注意检查是否同步正常。如果相差时间非常多,value值...
手工生成AWR报告方法记录
AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定、问题SQL发现的重要手段。熟练掌握AWR报告,是做好开发、运维DBA工作的重要基本功。 AWR报告的原理是基于Oracle数据库的定时...
DG没有应用日志
今天DG停了一下,启动的时候发现没有应用日志,执行了alter database recover managed standby database using current logfile disconnect from session;,看备库没有反应于是查了一下主库,看到主库报错没有权限,猜测是密码文件的问题,看了一下备库的密码文件果然有修改了,也不记得自己什么时候修改了密码文件,重新...
move表操作流程
今天收到开发人员说数据库报错, ORA-01502: index 'LRWLPOS.SYS_C0020279' or partition of such index is in unusable state 查看为索引为不可用状态,删除数据删除不了,怀疑为昨天move表导致。重建失效索引后,将业务重跑OK,今天查看了一...
修改表所属表空间
1.修改表的空间alter table TABLE_NAME move tablespace TABLESPACENAME查询当前用户下的所有表select 'alter table '|| table_name ||' move tablespace tablespacename;' from user_tables;2.修改表的索引的空间alter index INDEX_NAME rebuild tablespace TABLESPACE...
DG出问题,重搭DG
备库出了问题重搭DG,试了RMAN恢复几次都不行,后面关闭主机,直接把数据文件copy过去,主机生成好standby控制文件,copy到备库,备库open,然后执行alter database recover managed standby database using current logfile disconnect from session;即可,试验了一下dg正常,但是select max(sequence#) from v$archived_...
数据库无法update
今天查询数据库速度很快,更改一条数据,半天没反应,反复尝试几次发现只是无法做update操作,顿时在想是不是表被锁住了,于是查询一下如何查询表是否被锁,以及如何解锁--锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id...
表空间相关查询
1、查看表空间的物理路径以及大小SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; 2、查看表空间的使用情况SELECT a.tablespace_name, a.bytes total, b.bytes used, c...
ORA-03113问题解决
今天关闭服务器的时候出现莫名原因导致数据库无法shutdown,只好利用强制命令shutdown abort;但oracle数据库无法打开了,总是报“ORA-03113: 通信通道的文件结尾”错误,分析可能由于数据库立即关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致并且不用进行崩溃恢...
天道酬勤 - 从头细数来时路(Eygle的职业生涯)
天道酬勤 - 从头细数来时路(Eygle的职业生涯)
rownum伪列的应用
前几天写了一个sql给运维做预警使用,结果运维人员说预警的不是很准确,检查了一下sql,发现其中有一处地方使用了伪列,但是伪列的顺序和查询的顺序不一致导致的,在查询该表之前,先给该表做一个order by 排序,再使用rownum就OK了,eg:select rownum from (select * from table order by x),此时的rownum就OK了。...
修改表空间文件路径
因虚拟机的根目录满了,扩展了一个新的分区,将数据文件放到新的分区首先查看表空间与文件路径的关系SELECT t1.name, t2.name FROM v$tablespace t1, v$datafile t2 WHERE t1.ts#=t2.ts# order by t1.name-- 1. alter tablespace tbs_name offline;&nb...
rman备份学习
rman备份老是没备份成功,查看log日志发现控制文件中的归档日志已经删除(RMAN-06059错误),添加一下change archivelog all crosscheck; 即可OK。rman target / msglog=/home/oracle/rmanbackup/rmanbackup.log <<EOFrun{allocate channel c1 device type disk;allocate channel c2 device type disk;backup as compre...
查看文件名称和查找文件中所含字符串
find /--路径 -name *文件名* 注意*匹配符find /--路径|xargs grep -ri "字符串" 显示文件中所含字符串find /--路径|xargs grep -ri "字符串" -l 显示所含字符串的文件名
操作系统层面检查系统负载vmstat
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存...
imp和exp的导入导出
exp 用户名/密码 file=路径/文件名 owner=所有者用户 imp 用户名/密码 log=日志名称 file=路径/文件名 fromuser=用户名称 touser=用户名称 tables=表名create user xxx identified by xxx default tablespace xxx;grant select,update,insert to xxx; or grant dba to xxx;...