test

OGG实验:喂奶间隔数据表通过OGG配置同步

為{幸葍}努か 提交于 2020-02-12 11:52:27
我之前在《 使用SQL计算宝宝每次吃奶的时间间隔(数据保障篇) 》中提到数据实时同步的方案,其中有一种是数据表通过OGG进行同步,当时没有详细展开测试,只给了之前学习OGG时的配置示例。由于之前很少接触OGG的管理运维,最近在进行实际测试时遇到些问题,虽然不难,但也是初学者常遇到的问题,所以记录下这个过程。 需求: 将TEST用户下的数据表T_BABY通过OGG进行同步。 环境: 源端:RHEL6.5, IP地址:192.168.1.61 Oracle 11.2.0.4 RAC(2 nodes)+ OGG 12.2.0.2 待同步数据表test.t_baby已有数据 目标端:OEL5.7, IP地址:192.168.1.11 Oracle 11.2.0.3 单实例 + OGG 12.2.0.2 数据表通过OGG配置同步: 1.源端和目标端软件安装部署 2.源端配置 3.目标端配置 4.实验中遇到的问题处理 1.源端和目标端软件安装部署 在源端和目标端都部署OGG 12.2.0.2,使用图形界面安装,默认选择安装完成后自动启动mgr进程,安装截图类似如下: 2.源端配置 首先确认数据库是否处于归档模式,是否开启force logging和数据库最小附加日志: select log_mode,supplemental_log_data_min,force_logging from v

MyBatis-复习篇

南笙酒味 提交于 2020-02-12 11:31:36
1.Mybatis工作流程 2.封装方法 3.采用映射方法实现接口查询 4.接口配置文件 讲述增删改查(源代码) (1)模糊查询的方法 (2)Mapper生命周期 5.pojo实体类中的字段和数据库中的字段不一样 (1)换一个别名 (2)、使用返回类型 resultMap 6.Mybatis分页查询 (1).通过UserMapper.xml配置来实现 UserMapper.xml配置: 测试类: (2).通过Java代码实现分页 (不建议使用,但是快) (3)分页可以使用其他方法 7.按照查询嵌套处理(多对一复杂查询) (1).通过子查询来完成 (2).按照结果嵌套查询--联表查询 8.类似于联表查询 一对多 联表查询 小结 提取SQL片段: 引用SQL片段: 测试 如下 10.二级缓存 注意:采用了二级缓存会出现序列化的问题 缓存工作流程图 结论 1.Mybatis工作流程 2.封装方法 SqlSessionFactoryUtils 里面的openSession 3.采用映射方法实现接口查询 UserMapper userMapper =session.getMapper(UserMapper.class); List<User> userList =userMapper.getList(); 4.接口配置文件 讲述增删改查(源代码) (1)模糊查询的方法 (2

js预编译

人走茶凉 提交于 2020-02-12 08:14:01
我们都知道js执行遵循两个规则 1.函数声明整体提升 2.变量 声明提升 其实还有一点最重要的就是预编译,预编译往往发生在函数执行前,了解预编译,对我们理解函数执行非常关键。 预编译的前奏 1.imply global暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局属性所有。 2.一切声明的全局变量,全是window的属性。 下面就先看几个例子吧 例1 function fn(a){   console.log(a);   var a = 123; console.log(a);   function a(){};   console.log(a);   var b = function(){};//这是函数表达式,不是函数声明(var b属于变量声明)   console.log(b);   function d(){} } fn(1); 1.创建AO对象 AO{ } 2.查找函数形参及函数内变量声明,形参名及变量名作为AO对象的属性,值为undefined AO{   a:undefined;   b : undefined; } 3. 实参形参相统一,实参值赋给形参 (即把实参的值赋给形参,并不执行函数内的赋值) AO{   a:1;   b : undefined; } 4. 查找函数声明,函数名作为AO对象的属性,值为函数体 AO{    a

Mysql索引学习笔记

空扰寡人 提交于 2020-02-12 07:05:38
1、分类   MySQL索引分为 普通索引、唯一索引、主键索引、组合索引、全文索引 。索引不会包含有null值的列,索引项可以为null(唯一索引、组合索引等),但是只要列中有null值就不会被包含在索引中。 (1)普通索引:create index index_name on table(column); 或者创建表时指定,create table(..., index index_name column); (2)唯一索引:类似普通索引,索引列的值必须唯一(可以为空,这点和主键索引不同) create unique index index_name on table(column);或者创建表时指定unique index_name column (3)主键索引:特殊的唯一索引,不允许为空,只能有一个,一般是在建表时指定primary key(column) (4)组合索引:在多个字段上创建索引,遵循最左前缀原则。alter table t add index index_name(a,b,c);    最左前缀原则 : https://mp.weixin.qq.com/s/RemJcqPIvLArmfWIhoaZ1g (5)全文索引:主要用来查找文本中的关键字,不是直接与索引中的值相比较,像是一个搜索引擎,配合match against使用,现在只有char,varchar

PAT(乙级) 1040 有几个PAT

删除回忆录丶 提交于 2020-02-12 04:45:12
题目 题目链接 思路 这道题的思路是从网上搜的, -**…… 要想知道构成多少个PAT,那么遍历字符串后对于每一A,它前面的P的个数和它后面的T的个数的乘积就是能构成的PAT的个数。然后把对于每一个A的结果相加即可。辣么就简单啦,只需要先遍历字符串数一数有多少个T,然后每遇到一个T呢cntT–;每遇到一个P呢,cntP++;然后一遇到字母A呢就cntT cntP,把这个结果累加到ans中。最后输出结果,对10000000007取余 原博主 超级优秀的博主链接 代码 # include <iostream> using namespace std ; int main ( ) { string test ; cin >> test ; int cntT = 0 , cntP = 0 , total = 0 ; for ( char e : test ) { if ( e == 'T' ) cntT ++ ; } for ( char e : test ) { if ( e == 'P' ) cntP ++ ; else if ( e == 'T' ) cntT -- ; else total = ( total + ( cntP * cntT ) % 1000000007 ) % 1000000007 ; //else total += cntP*cntT;不能计算到最后才取余

【QTP专题-优化】VBS脚本启动QTP并运行测试

天涯浪子 提交于 2020-02-12 04:20:03
使用vbs脚本启动QTP并运行测试,startQTP.vbs '************************************************************************************************************************ 'Description: ' 'This example opens a test, configures run options and settings, 'runs the test, and then checks the results of the test run. ' 'Assumptions: 'There is no unsaved test currently open in QuickTest. 'For more information, see the example for the Test.SaveAs method. 'When QuickTest opens, it loads the add-ins required for the test. 'For more information, see the example for the Test.GetAssociatedAddins method. '*******************

test

时间秒杀一切 提交于 2020-02-12 02:37:04
test 来源: https://www.cnblogs.com/shanzhiming/p/12297648.html

php单例设计模式

白昼怎懂夜的黑 提交于 2020-02-12 01:18:49
//单例模式 /** 2 * 设计模式之单例模式 3 * $_instance必须声明为静态的私有变量 4 * 构造函数必须声明为私有,防止外部程序new类从而失去单例模式的意义 5 * getInstance()方法必须设置为公有的,必须调用此方法以返回实例的一个引用 6 * ::操作符只能访问静态变量和静态函数 7 * new对象都会消耗内存 8 * 使用场景:最常用的地方是数据库连接。 9 * 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。 10 */ class man { //保存例实例在此属性中 private static $_instance; //构造函数声明为private,防止直接创建对象 private function __construct() { echo '我被实例化了!'; } //单例方法 public static function get_instance() { var_dump(isset(self::$_instance)); if(!isset(self::$_instance)) { self::$_instance=new self(); } return self::$_instance; } //阻止用户复制对象实例 private function __clone() { trigger_error(

单例模式

∥☆過路亽.° 提交于 2020-02-12 00:33:39
/** * 设计模式之单例模式 * $_instance必须声明为静态的私有变量 * 构造函数必须声明为私有,防止外部程序new类从而失去单例模式的意义 * getInstance()方法必须设置为公有的,必须调用此方法以返回实例的一个引用 * ::操作符只能访问静态变量和静态函数 * new对象都会消耗内存 * 使用场景:最常用的地方是数据库连接。 * 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。 */ class man { //保存例实例在此属性中 private static $_instance; //构造函数声明为private,防止直接创建对象 private function __construct() { echo '我被实例化了!'; } //单例方法 public static function get_instance() { var_dump(isset(self::$_instance)); if(!isset(self::$_instance)) { self::$_instance=new self(); } return self::$_instance; } //阻止用户复制对象实例 private function __clone() { trigger_error('Clone is not allow' ,E_USER

PHP单例模式

妖精的绣舞 提交于 2020-02-12 00:22:10
首先我们要知道明确单例模式这个概念,那么什么是单例模式呢? 单例模式顾名思义,就是只有一个实例。 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例, 这个类我们称之为单例类。 单例模式的要点有三个: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例。 下面我们讨论下为什么要使用PHP单例模式? 多数 人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种"计划生育". 而PHP每次执行完页面都是会从内存中清理掉所有的资源. 因而PHP中的单例实际每次运行都是需要重新实例化的, 这样就失去了单例重复实例化的意义了. 单单从这个方面来说, PHP的单例的确有点让各位失望. 但是单例仅仅只有这个功能和应用吗? 答案是否定的,我们一起来看看。 1. php的应用主要在于数据库应用, 所以一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时(废话), 如果使用单例模式, 则可以避免大量的new 操作消耗的资源。 2. 如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看zend Framework的FrontController部分。 3. 在一次页面请求中, 便于进行调试, 因为所有的代码