Welcome 微信登录

首页 / 数据库 / MySQL

percona-toolkit的安装及简介

percona-toolkit的安装及简介

MySQL数据库是轻量级、开源数据库的佼佼者,其功能和管理,健壮性与Oracle相比还是有相当的差距。因此有很多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等等。percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等。这个工具套件对DBA及运维人员着实不可多得。本文简要描述这个工具的安装及其工具的大致介绍。1、percona-toolk...
Innobackupex 全备数据库

Innobackupex 全备数据库

对于MySQL数据库的热备,xtrabackup是除了MySQL enterprise backup之外的不二之选。该工具提供了基于innodb存储引擎的热备,支持全量,增量备份,部分备份,时点恢复以及使用xtrabackup备份来重做slave等。xtrabackup工具包包含一个innobackupex命令行工具,同时支持InnoDB引擎以及MyISAM引擎。本文主要描述的是trabackup的备份原理并给出了相关演示。1、安装部署Xtrabackup...
PL/SQL 程序设计简介

PL/SQL 程序设计简介

①PL/SQL 程序设计简介PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对Oracle数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理在PL/SQL中可以使用的SQL语句有:INSERT,UPDATE,DELETE,SELECT …INTO,COMMIT,ROLLBACK,SAVEPOINT。提示:在PL/SQL中只能用SQL语句中的DML 部分,不能用DDL 部分,如果...
Oracle数据库高级子查询

Oracle数据库高级子查询

Oracle数据库高级子查询①子查询子查询是嵌套在 SQL 语句中的另一个SELECT 语句子查询 (内查询) 在主查询执行之前执行主查询(外查询)使用子查询的结果②多列子查询主查询与子查询返回的多个列进行比较where (column1,column2) in (子查询)例:查询与141号或174号员工的manager_id和department_id相同的其他员工的employee_id, manager_id, department_id多列子查询中...
PL/SQL 触发器

PL/SQL 触发器

PL/SQL 触发器触发器是许多关系数据库系统都提供的一项技术。在Oracle系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。①触发器类型触发器在数据库里以独立的对象存储,它与存储过程不同的是,存储过程通过其它程序来启动运行或直接启动运行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动地隐式运行。并且,触发器不能接收参数。所以运行触发器就叫触发或点火(firing)。ORACLE事件指的是对数据库的表进行的INS...
PL/SQL 包的创建和应用

PL/SQL 包的创建和应用

PL/SQL 包的创建和应用①简介 包是一组相关过程、函数、变量、常量和游标等PL/SQL程序设计元素的组合,它具有面向对象程序设计语言的特点,是对这些PL/SQL 程序设计元素的封装。包类似于C++和JAVA语言中的类,其中变量相当于类中的成员变量,过程和函数相当于类方法。把相关的模块归类成为包,可使开发人员利用面向对象的方法进行存储过程的开发,从而提高系统性能。 与类相同,包中的程序元素也分为公用元素和私用元素两种,这两种元素的区别是他们允许访问的...
PL/SQL 存储函数和存储过程

PL/SQL 存储函数和存储过程

Oracle 提供可以把PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这样就叫存储过程或函数。过程和函数统称为PL/SQL子程序,他们是被命名的PL/SQL块,均存储在数据库中,并通过输入、输出参数或输入/输出参数与其调用者交换信息。过程和函数的唯一区别是函数总向调用者返回数据,而过程则不返回数据。--------------------------------------分割线 -------------------------------...
PL/SQL 游标的使用

PL/SQL 游标的使用

游标的使用①游标概念为了处理SQL 语句,Oracle 必须分配一片叫上下文( context area )的区域来处理所必需的信息,其中包括要处理的行的数目,一个指向语句被分析以后的表示形式的指针以及查询的活动集(active set)。游标是一个指向上下文的句柄( handle)或指针。通过游标,PL/SQL可以控制上下文区和处理语句时上下文区会发生些什么事情②显式游标处理1.显式游标处理需四个PL/SQL步骤:定义游标:就是定义一个游标名,以及与其相...
C API--Linux上C语言读取MySQL数据库内容

C API--Linux上C语言读取MySQL数据库内容

要想知道怎么通过C语言操作数据库,必须要了解这几个结构体的含义,这里只是简单说一下如果想要了解的更深入可以到网上搜一下C API数据类型1、MySQL结构代表一个数据库连接的句柄,包含有关服务器的连接状态的信息,几乎所有的函数均使用到他。要连接MySQL,必须建立MySQL实例,通过MySQL_init初始化方能开始连接。2、MySQL_RES结果代表返回的查询结果(select,show等)。也将查询的返回的信息成为“结果集”。在...
Hbase0.98.4中部署用户自定义的Observer Coprocessor

Hbase0.98.4中部署用户自定义的Observer Coprocessor

Hbase自0.92之后开始支持Coprocessor(协处理器),旨在使用户可以将自己的代码放在regionserver上来运行,即将计算程序移动到数据所在的位置进行运算。这一点与MapReduce的思想一致。Hbase的Coprocess分为observer和endpoint两大类。简单说,observer相当于关系型数据库中的触发器,而endpoint则相当于关系型数据库中的存储过程。关于HBase Coprocessor的介绍网上有很多的文档,由于...
关于Oracle中的sql数据类型

关于Oracle中的sql数据类型

数据类型对于每一种编程语言而言都是数据存储的基础,对于编程语言的实现功能而言也是一个标尺,有些编程语言可能数据类型很丰富,比如java,c,在数据计算方面的支持很全面,有些编程比较精简,更侧重于实现特定的功能,数据类型也就简单得多。比如说shell。对于Oracle中的sql来说,数据类型的支持非常全面,无论是数据计算还是复杂的业务逻辑封装需要,数据类型的支持都是内置和可扩展的。可以根据需要来选择。目前Oracle的数据类型分类大体有如下的结构。用户自定义...
关于sysdba,sysoper,dba的区别

关于sysdba,sysoper,dba的区别

关于sysdba,sysoper,dba这些名词在工作中可能接触的比较多,如果接触的环境是服务器端的,sysdba可能是经常用到的。如果是数据库的维护工作,dba就是必备的权限。在Oracle的官方文档中给出了sysdba和sysoper的区别。我在这个基础上又加入了一些东西做点补充。标黄的部分是sysdba和sysoper的不同之处。这两个特殊的系统权限和dba权限还是有着明显的差别。System PrivilegeOperations Authoriz...
Oracle使用句柄实现特定场景的无备份恢复

Oracle使用句柄实现特定场景的无备份恢复

在dba的工作中,备份是一切工作的基础。如果没有备份,本来很简单的恢复工作也会难上加难,如果业务数据要求很高,造成数据的丢失或者损坏,就是重大事故了。使用rman备份或者做一个完整的系统级备份也是很重要的,如果在特定的场景下,没有备份,如果还能恢复,那就太幸运了。当数据库中的某个数据文件误删的时候,如果数据库还没有重启的时候,还是能够做一些工作的。因为文件对应的句柄还没有释放。我们可以从里面找到一个镜像的备份实现我们的数据恢复。一定注意这种恢复不一定是完全...
关于dual表的破坏性测试

关于dual表的破坏性测试

关于dual表的破坏性测试,既然是破坏性测试,就需要确定这个测试仅限于测试或者个人学习所用,可能有些sql看似极为简单,但是一旦运行就会导致整个业务系统崩溃。比如说我们拿dual表开刀,这个表是一个dummy表,里面的内容没有特定的意义,就是为了存在而存在。但是一旦这个表出现问题,所有相关的基础操作都会受到影响,后果不敢想象。来简单模拟一下,在个人的机器上开始做下面的尝试,drop 表dualSQL> show userUSER is "SYS"SQ...
关于Oracle中的半连接

关于Oracle中的半连接

表的连接在sql语句中尤为重要。外连接,内连接,半连接,反连接等等各种连接,看似简单的一个连接里面还是有不少的细节的。对于sql调优来说也是很重要的。像下面的形式的sql就属于半连接,使用了in子句,对于exists的实现也是属于半连接。--in半连接SQL> select dname from dept dept where deptno in (select deptno from emp emp);DNAME--------------RESE...
<< 811 812 813 814 815 816 817 818 819 820 >>