Oracle DMP文件异常解决 2017年02月05日 13 阅读 “想当然”是一种思维定式,也是一种思维惯性。当我们经常处理一类问题,自认为信心满满的时候,就会形成思维定式和惯性。思维定式和惯性可以帮助我们快速定位问题,解决问题,但是也会形成“一叶遮目”。相同的技术,不同的场景出现问题是千差万别。特别是在第三方不确定人员的参与下,这种问题出现就更加复杂多变。我们能做到的仅是不断积累经验,提高自身阅历经验,永远本着一颗“本心”去面对我们自己的技术生涯。...
从Export DMP文件看导出字符集 2017年02月05日 14 阅读 Oracle从10g开始,正式推出了新一代数据逻辑备份还原工具Data Pump(数据泵),以期替代“历史悠久”的Exp/Imp工具。经过近10年的发展,依然有不少用户,特别是开发人员,对这对工具有比较强的依赖性。很多开发环境中数据传输依然是使用Exp/Imp进行。在使用Exp/Imp工具过程中,字符集、版本兼容一致是比较困扰用户的两个重点难点。字符集决定我们导出数据能否正确的导入到目标系统,是否从根本出现乱码故障。版本兼容问题涉及...
使用dbms_flashback工具包实现闪回查询功能 2017年02月05日 15 阅读 Flashback Query是借助Oracle Undo过期数据而实现的一种方便的逻辑恢复功能。在Undo Tablespace支持的情况下,我们可以查询到过去一个特定的时间点(或者SCN点)某个数据表的时间版本。标准的Flashback Query语句是需要借助as of timestamp| as of scn语句在数据表后面,用于指定查看的数据表过去时间点是什么。这种方式从数据库管理员的角度的确是很方便,特别是那些直接访问后台挽救数据的开发管理人员...
使用Flashback Transaction方法来恢复数据表数据 2017年02月05日 14 阅读 进行精细粒度的数据误操作还原,是我们在实际工作中经常遇到的场景。Oracle基于Redo Log和Undo机制,提供实现了诸多分支技术,如Flashback、Log Miner等来进行多粒度的数据恢复。在Oracle 11g中,dbms_flashback.transaction_backout方法提供了在数据库online状态下,直接逆回数据库事务和相关依赖事务的能力。本篇主要介绍如何使用logminer和Flashback包新方法,来实现Oracle事...
使用Linux Strace跟踪调试Oracle程序进程 2017年02月05日 15 阅读 所谓操作系统,是应用程序与服务器硬件进行沟通的中间层。应用程序的所有操作,都是和操作系统进行沟通交互。操作系统负责将所有交互转化为设备语言,进行硬件交互。我们在进行Oracle故障调试和内核原理工作的时候,经常需要了解后台运行的动作和细节。一些故障场景,如程序进程hang住、无法登陆等问题,就需要操作系统级别监控,检查定位问题。Oracle自身已经提供了很多这类型的工具,如oradebug、各种等待事件和跟踪方式。此外,各类型的操作系统提供出很多系统级别工...
使用Flashback Database进行数据表级别的定点恢复 2017年02月05日 14 阅读 Oracle已经提供了非常完善的数据备份恢复措施,从9i开始,针对一些常见场景下的小规模数据恢复需求,Oracle推出了一系列的Flashback技术。Flashback中文称为“闪回”,Oracle的闪回技术并不是一个单独技术,而是根据不同的恢复粒度而推出的一系列数据快速恢复技术。更重要的是,各个Flashback技术虽然名称相同或者相似,但底层依赖的技术还是存在很大的差异。在笔者之前的系列中,针对flashback query、...
Oracle RMAN实现“一键式”表空间TSPITR 2017年02月05日 14 阅读 从Oracle 10g之后,小规模数据误删除、误操作其实已经有了很好的解决方案,就是flashback技术。Flashback Query和Flashback Drop,就可以从数据记录和数据表这类比较细的粒度。在实际业务场景中,相对比“天塌地陷”的全库恢复场景,单Schema、单Tablespace甚至单数据表的局部恢复更加有施展的空间。出现误操作的时候,用户往往希望一个或者部分数据表恢复到过去的一个时间点。同时又不希望将全库恢复...
闪回版本查询Flashback Version Query 2017年02月05日 14 阅读 “忘记备份”是几年前看一位行业前辈的经验谈中让笔者记忆深刻的工作军规。对DBA而言,备份通常指的是“Media Backup”,在Oracle世界中就是各种冷备份文件、备份集合和归档日志。工作时间越长,胆子其实就是越小。很多很多时候,有备份并不意味着可以高枕无忧。这种论断主要是基于两方面的因素,其一是备份的有效性,虽然有各种工具系统介质负责备份工作,但是备份是不是有效一直是运维工程师心中的噩梦。第二个因素是恢...
闪回事务查询Flashback Transaction Query 2017年02月05日 15 阅读 继续聊聊Flashback家庭成员。Flashback Version Query、Flashback Query和本次介绍的Flashback Transaction Query相同,都是依赖于Undo表空间的过期数据。和Version Query和Query不同的是,Flashback Transaction Query将数据变化的粒度细化到了事务级别,而且支持用户进行Undo操作,准备好相关的SQL语句。1、实验环境笔者使用Oracle 11g进行实...
SQLite3 设置插入触发器 2017年02月05日 15 阅读 需求: 数据库中表t_VerifyCsmDetail需要最多保存10W条记录,超出时删除最旧的那一条。思路:设置插入触发器。插入前先判断表中记录总数,如果大于99999条,则删除最旧的一条记录。代码如下:create trigger VRF_insertbefore insert on t_VerifyCsmDetailfor each row when((select COUNT(*) fromt_VerifyCsmDetail)>99999)be...
MySQL 储存过程以及 python callproc调用 2017年02月05日 14 阅读 一、存储过程(stored procedure)存储过程将存入的一系列SQL语句进行预编译,执行并存放在数据库中,之后如果需要使用sql语句对这一组sql进行访问时可以直接提取(很好理解 存储过程就是将sql执行过程存储在数据库中,来方便提取)。优点:1.多次提取,减少编译时间,2.因为每次提取都需要传入sql语句,如果用存储过程名来调用的话,就减少了访问流量3.增加了重用(可以相较之与(函数对编程的影响))缺点:1.存储过程将会占用内存空间,并且复杂的过...
Oracle GoldenGate 学习教程一:介绍和安装 2017年02月05日 18 阅读 阅读导航1.说明 1.1.下载和文档说明 1.2.资源说明 1.3.组件说明 1.3.1.Manager 1.3.2.Extract 1.3.3.Data Pumps 1.3.4.Replicats 1.3.5.Trails 1.3.6.Checkpoints 1.3.7.Collector2.目录和环境变量设置3.安装GoldenGate 3.1.安装源端GoldenGate 3.2.安装目标端GoldenGate4.GoldenGate目...
MySQL 存储过程学习 2017年02月05日 13 阅读 MySQL 5.0终于开始已经支持存储过程,这样即可以大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。存储过程的优点:①重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。②提高性能。存储过程在创建的时候在进行了编译,将来使用的时候不再重新翻译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。③减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量...
DB2 10.5列式表存储技术 2017年02月05日 14 阅读 DB2 10.5引入列式存储表技术,作为DW数据应用的特性,对性能具有很大的提升,同时对SQL基本不做索引优化,查询时直接可以按照列存储格式查询相关列即可,可以说管理很简单了。作为一个新特性,DB2 LUW V10.5的列式组织表功能依然作为一个可选择功能项,用户可以按照自己数据库业务的特点,选择是否启用该功能,对于升级到DB2 LUW V10.5的数据库环境来说,需要经过同样的参数配置,也可以支持这个功能。在创建数据库前,在DB2 V10.5实例提供了注...
Oracle 11gClone安装方法 2017年02月05日 15 阅读 如果你需要安装的数据库服务器比较多,使用图形化方式安装数据库软件的速度还是很慢,而且也比较麻烦。Oracle 11g 提供了Clone安装的方法。步骤如下:使用正常方法在服务器A上安装好Oracle。将A机器上的$ORACLE_HOME打包,db_home1.zip 。将B机器的环境准备好,如建立用户、建立用户、修改内核参数,修改环境变量等等。将zip包copy到B服务器,解压到任意目录。执行Clone命令1.A机器上打包[root@localhost o...
Oracle 11g 完全卸载方法 2017年02月05日 13 阅读 Oracle 11g 安装完毕后,如果有卸载的需要。可以有如下方法:1.手工删除Oracle安装时建立的各目录、文件等。这种方法对于Linux还算可行,但是Window版中涉及到服务、注册表等等。往往删除不干净。2.使用安装目录$ORACLE_HOME/deinstall/下的 deinstall脚本。[oracle@localhost deinstall]$ ./deinstallChecking for required files and boots...
Kali Linux Metasploit连接数据库PostgerSQL 2017年02月05日 15 阅读 Kali Linux Metasploit连接数据库PostgerSQL查看端口:#netstat -tnpl |grep postgres;端口为:5432查看账户密码:#cat /opt/metasploit/apps/pro/ui/config/database.yml启动 Metasploit并连接数据库:msf>db_connect msf3:AtZDNVQF3NJEyNqU9u1ciHcqTsbcZzKR@127.0.0.1:5432/m...
搭建GoldenGate的单向复制环境 2017年02月05日 14 阅读 配置环境:建议在相同版本OGG(即Oracle GoldenGate)之间进行复制,我在这里之所以选择不同版本的OGG,便于后续的比较学习。GoldenGate更新丢失问题 http://www.linuxidc.com/Linux/2015-05/117446.htmGoldenGate单向表DML同步 http://www.linuxidc.com/Linux/2013-04/82942.htmOracle GoldenGate 系列:Extract ...
Redis集群部署及常用的操作命令 2017年02月05日 13 阅读 简单说下自己测试搭建简单的Redis集群的大体步骤:1.首先你的有6个redis(官方说最少6个,3master,3slave),可以先在一台机器上搭建,搭建到多台上应该只需要改变启动命令即可(可能需要一些ssh无密钥什么的,只是猜测)在网上随便可以找到的配置多个redis,(总体有两种方式,一种是虚拟的,貌似走的都是一个redis,一种是将配置好的redis复制成六份,配置相应的端口等,我选择的后者显得更真实一些)然后把他们全部打开,可以写一个脚本,或者...
SQLite这么娇小可爱,不多了解点都不行啊 2017年02月05日 14 阅读 在我眼里,MySQL 和 Oracle 是这样的而 SQLite 在是这样的所以这么萌的数据库,我真的应该多了解她的。简介SQLite,是一款轻型的数据库,是遵守 ACID 的关系型数据库管理系统。它的设计目标是嵌入式的,目前 Android 和 iOS 的设备内置的都是 SQLite 数据库。SQLite 虽然娇小,但也支持事务和多数的 SQL92 标准。主要特点Zero-Configuration 无需安装和管理配置。Serverless 无需服务器...