GVKun编程网logo

联通vac增量对账回执(联通增值业务查询短信)

11

对于联通vac增量对账回执感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解联通增值业务查询短信,并且为您提供关于Android支付接入(四):联通VAC计费、CentOS6.5环境下使用rs

对于联通vac增量对账回执感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解联通增值业务查询短信,并且为您提供关于Android支付接入(四):联通VAC计费、CentOS6.5环境下使用rsync增量同步备份文件的方法、etl 增量对比解决方案 etl-engine 如何实现增量对比、HP-UX oracle RAC增加磁阵遇到故障的宝贵知识。

本文目录一览:

联通vac增量对账回执(联通增值业务查询短信)

联通vac增量对账回执(联通增值业务查询短信)

 原来的增量对账文件目录和文件如下:
  增量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/
  增量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/
  增量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/
  增量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/
 
2011-8-15日晚上21点对增量账文件的目录和后缀进行调整,调整为
  文件名:SubscribeInfo+SPID+yyyyMMddHHmm+xxx+nnnn.req
  增量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/request
  增量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/right
  增量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/bad
  增量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/semiwrong
 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
回执文件格式如(SubscribeInfo000416902011081306040170001.rsp
 

SubscribeInfo+SPID+yyyyMMddHHmm+xxx+nnnn.ttt

SPID 八位,不足八位,左补零

文件产生的时间(12yyyyMMddHHmm精确到年月日时分)

xxx为省分代码。

nnnn 4位序列号,每天从“0001”开始,到达”9999”后又从“0001”开始。

ttt表示文件类型,req表示请求, rsp表示请求结果。每一个req文件都应该有一个rsp文件与其对应。

 -------------------------------------------------------------------------------------------------------------------------------------------------------------------
接口规范

 

1.1 定购关系同步接口

1.1.1 接口描述

采用文件方式。

文件采用GBK编码格式,

文件体不定长,文件体各属性间使用‘\t’分隔,在生成记录时若相应的属性值为空,直接用分隔符隔开,分隔符之间无其他符号。

文件体中一行作为一条记录,各条记录之间用换行符‘\n’作为分隔并在文件中连续书写。

文件头定长,各属性间无分隔符。

文件的维护由VAC负责。

 

包括增量稽核接口、全量同步。对CRM增量、全量文件形式的订购、退订数据,VAC仅以文件方式通知SP,不以实时方式通知。

(1)增量稽核接口

该接口用于VAC与SP每天稽核增量订购关系。包括批量定购和退订。

VAC将每天增量文件放到VAC为SP提供的文件服务器的目录下。双方通过文件传输实现接口。文件服务器上设定具有对相应目录存取权限的用户。VAC为SP分配具有读写文件权限的用户和密码。

VAC每个小时(可配置)生成1个文件,10万条以内只能是1个文件,超过10万条另起1个文件,不能出现跨天的情况。SP于每天凌晨1:00进行稽核文件资料同步。资料同步周期应具有根据最新规定进行可调的能力。

VAC在某时刻生成的实时数据包含在当天增量数据中及当月全量数据中。对增量文件稽核接口,VAC只把对定购关系的最后一次操作记录传递给SP,不传递中间过程,例如当用户某天定购某产品、接着又退订该产品后,增量同步时VAC只把最后一次退订操作记录传递给SP,不传递前一次的定购操作。

(2)全量同步接口

该接口用于VAC与SP同步全量订购关系。其中10万条以内只能是1个文件,超过10万条另起1个文件,不能出现跨天的情况。

VAC将全量文件放到VAC为SP提供的文件服务器的目录下。系统于每月1日凌晨2:00进行全量文件资料同步。资料同步周期应具有根据最新规定进行可调的能力。

1.1.2 发起方系统

VAC。

 

1.1.3 接受方系统

SP。

1.1.4 接口协议

FTP 文件。

1.1.5 接口内容

文件目录

增量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/request

增量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/right

增量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/bad,文件级错误代码参见附录

增量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/add/response/semiwrong,记录级错误代码参见附录。

 

全量请求文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/request

全量请求正确回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/right

全量请求文件级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/bad,文件级错误代码参见附录

全量请求记录级错误回执文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/semiwrong,记录级错误代码参见附录。

 

存放SP与VAC全量同步数据稽核后、SP中多余数据的文件:<根目录>/VAC/SubscribeInfo/<SPID>/all/response/redundant

 

文件命名: SubscribeInfo+SPID+yyyyMMddHHmm+xxx+nnnn.ttt

SPID 八位,不足八位,左补零

文件产生的时间(12位yyyyMMddHHmm精确到年月日时分)

xxx为省分代码。

nnnn 是4位序列号,每天从“0001”开始,到达”9999”后又从“0001”开始。

ttt表示文件类型,req表示请求, rsp表示请求结果。每一个req文件都应该有一个rsp文件与其对应。

 

1.1.5.1 请求文件头(定长)

序号

属性名

长度

备注

1

文件序列号(流水号)

CHAR(4)

0001开始,排满9999后重新循环

2

版本信息

CHAR(5)

缺省:00000

3

文件产生时间

CHAR(14)

yyyymmddhhmmss

4

文件生成方系统代码

CHAR(3)

902

5

记录开始日期时间

CHAR(14)

yyyymmddhhmmss

6

记录结束日期时间

CHAR(14)

yyyymmddhhmmss

7

总记录数

CHAR(10)

 

8

备用

CHAR(40)

 

9

换行

CHAR(1)

 

 

 

1.1.5.2 请求文件体

参数名

类型

大小

描述

RecordSequenceID

String

18

流水号,

UserIdType

Integer

4

用户ID类型

1: MSISDN

2: PsedoCode

UserId

String

36

用户手机号码或伪码

UserIdType填1 为手机号码

UserIdType填2 为伪码

ServiceType

String

2

业务类型,见附录A7

SpId

String

21

SP标识

SP_ProductId

String

21

产品标识(此为SP在PRM侧申请的SP_Productid)

UpdateType

Integer

4

对全量同步文件,忽略本字段取值

更新操作的类型包括:

1:订购

2:退定

4:定购关系变更(一般是修改有效期)

5:改号

UpdateTime

String

14

更新时间

UpdateDesc

String

100

更新操作的详细描述

联通在信、彩信等定购、点播接入号,和CheckPrice请求中AccessNo字段一致;

对crm侧订购、退订由vac根据产品填写;对其他业务填空

LinkID

String

20

事务关联ID,用于点播业务的临时定购关系关联,由平台产生。格式如下:

8位随机序列号;

为空表示无效。

用户点播时使用。

Content

String

140

内容

EffectiveDate

String

14

订购关系生效时间, 格式:yyyyMMddhhmmss

ExpireDate

String

14

订购关系失效时间, 格式:yyyyMMddhhmmss

Time_Stamp

String

10

时间戳由VAC生成,格式是: MMDDHHMMSS,月日时分秒。

EncodeStr

String

32

采用32位的MD5加密串,以便SP鉴权定购关系来源的合法性, MD5 加密算法如下:

EncodeStr=UserId+共享密钥+ ProductId+ Time_Stamp

共享密钥由SP分配,时间戳由VAC设备生成,格式是:MMDDHHMMSS,月日时分秒。共享密钥的定义见BSS与VAC接口规范SP属性接口OrderKey

如果SP的OrderKey为空,VAC不加密

 

1.1.5.3 回执文件头(定长)

序号

属性名

长度

备注

1       

文件序列号(流水号)

CHAR(4)

从0001开始,排满9999后重新循环。

2       

版本信息

CHAR(5)

缺省:00000

3       

文件产生时间

CHAR (14)

Yyyymmddhhmmss

4       

文件生成方系统代码

CHAR(3)

缺省:000

5       

总记录数

CHAR(10)

同请求文件

6       

正确处理记录数

CHAR(10)

 

7       

备用

CHAR(40)

文件级错误代码

8       

换行

CHAR(1)

 

 

1.1.5.4 回执文件体(变长)

对于完全正确和完全错误的回执文件,只有文件头没有文件体;对于记录级错误的回执文件,在文件体中列出错误的结果代码。

序号

参数名

说明

参数类型

最大长度

是否必填

1

RecordSequenceID

流水号

String

18

M

2

ResultCode

结果标识

0:正确

1:错误

integer

4

M

 

1.1.5.5 SP全量稽核后多余的数据文件格式

同4.2.5.2节,其中RecordSequenceID字段由SP生成,UPDATEType字段取值忽略。


 

Android支付接入(四):联通VAC计费

Android支付接入(四):联通VAC计费

    刚发了个电信爱游戏支付的sdk接入,接下来看下联通VAC计费的sdk接入,联通在三个运营商支付中算是要求比较少的,但联通的sdk版本更新比较频繁。不过现在的sdk接入都是向下兼容的,大家也不需要有什么顾虑。今天发的这篇文章是基于联通短代VAC计费SDK(V1.0.5)版本写的,文档及demo依旧放到了百度网盘中,需要的可以去下载:http://pan.baidu.com/share/link?shareid=429975&uk=473193131

 

注意事项:

1.联通支付是不需要自己标识软硬计费点的,当平台申请计费点的时候会提交每个计费点是否允许重复支付(即软硬计费点),支付时我们只需要传入相应的计费点即可,平台会帮我们记录哪个是软计费点,哪个是硬计费点。

2.联通需将premessable.txt文件copy到工程assets目录下,用来配置渠道,每个渠道对应不同的渠道号,例如联通渠道号为:“00012243”。

3.游戏付费完成后直接结束付费,勿添加额外的提示信息,例如:Toast,AlertDialog等。

4.AndroidManifest.xml中正确配置应用开发者ID,应用ID,AppID,渠道伪码(线下渠道)后即可进行测试付费(0.01元)

 

看下代码:

 

AndroidManifest.xml:

 

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.blogforlt.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
       
        <!-- 应用开发者ID   cpId: -->
        <meta-data
            android:name="cpId"
            android:value="cpid:XXXX" >
        </meta-data>

        <!-- 应用ID   AppId: -->
        <meta-data
            android:name="AppId"
            android:value="appid:XXXX" >
        </meta-data>

        <!-- 渠道伪码(线下渠道) -->
        <meta-data android:name="fidsms"
            android:value="fidsms:XXXXX" >
        </meta-data>
       
    </application>
   
    <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.SEND_SMS"/>
 <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 

MainActivity.java:

 

findViewById(R.id.button1).setOnClickListener(new View.OnClickListener() {
   
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Fiap fiap = new Fiap(MainActivity.this);
    fiap.android_Pay(1);
   }
  });

 

Fiap.java:

 

package com.example.blogforlt;

import com.multimode_billing_sms.ui.MultiModePay;
import com.multimode_billing_sms.ui.MultiModePay.SMSCallBack;
import android.app.Activity;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast;

public class Fiap {
 
 private Activity mActivity;
 //计费点短代码
 private String charge_Point;
 //道具名称
 private String itemID= "";
 //道具金额
 private int coin;
 
 public Fiap(Activity activity){
  
  mActivity = activity;
 
 }

 
 //index是三种计费点对应的标识
 public void android_Pay(int index){
  
  switch (index) {

  case 0:
   //激活游戏
   //此处计费点填写移动平台申请的计费点的后三位作为计费点索引
   charge_Point = "000";
   itemID = "激活游戏";
   coin = 6;
   break;
  case 1:
   charge_Point = "001";
   itemID = "购买200兑换币";
   coin = 2;
   break;
  case 2:
   charge_Point = "002";
   itemID = "购买400兑换币";
   coin = 3;
   break;

  default:
   break;
  }
  
  fiapHandler.sendEmptyMessage(1);
  
 }
 
 Handler fiapHandler = new Handler(){
  public void handleMessage(android.os.Message msg) {
   if (msg.what == 1) {
    MultiModePay.getInstance().setEnableSend(true);// 调用SMS方法前必须调用
    // 参数依次为:当前界面的Context,公司名字,电话号码,游戏名,道具名,道具金额(元),计费点,回调接口
    MultiModePay.getInstance().sms(mActivity, "北京XXXXXX有限公司",
      "010-XXXXXXXX", "XXX", itemID, String.valueOf(coin),
      charge_Point, new MsgCallBack());
   }
  };
 };
 
 class MsgCallBack implements SMSCallBack {

  @Override
  public void ButtonCLick(int arg0) {
   // TODO Auto-generated method stub

  }

  @Override
  public void SmsResult(int result, String arg1) {
   // TODO Auto-generated method stub
   if (result == MultiModePay.SUCCESS) {
    
    // 支付成功的处理,直接执行支付成功后的逻辑,此处为了体现出支付成功弹了个Toast,正式使用时不要有任何提示
    Toast.makeText(mActivity, "支付成功", Toast.LENGTH_LONG).show();

    Log.i("cn.catcap.qhta", "联通方式支付成功。。。。");

   } else if (result == MultiModePay.FAILD) {

    Log.i("cn.catcap.qhta", "联通方式支付失败。。。。");

   }

   MultiModePay.getInstance().DismissProgressDialog(); // 取消进度条,此行必须有才能回到游戏界面
  }
 }
}

       至此,Android三大运营商的sdk付费接入已完成,如果大家有什么问题,意见或者建议请留言,后边我会跟大家一起来走一遍目前市场上常见的第三方平台支付接入,以及广告和微博分享

CentOS6.5环境下使用rsync增量同步备份文件的方法

CentOS6.5环境下使用rsync增量同步备份文件的方法

本文实例讲述了CentOS6.5环境下使用rsync增量同步备份文件的方法。分享给大家供大家参考,具体如下:

rsync是linux下一款文件同步工具,介绍如下: Rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。Rsync本来是用以取代rcp的一个工具,它当前由 rsync.samba.org维护。Rsync使用所谓的“Rsync演算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。运行Rsync server的机器也叫backup server,一个Rsync server可同时备份多个client的数据;也可以多个Rsync server备份一个client的数据。 Rsync可以搭配rsh或ssh甚至使用daemon模式。Rsync server会打开一个873的服务通道(port),等待对方Rsync连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份。 Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS。

Rsync的基本特点如下:

1.可以镜像保存整个目录树和文件系统;
2.可以很容易做到保持原来文件的权限、时间、软硬链接等;
3.无须特殊权限即可安装;
4.优化的流程,文件传输效率高;
5.可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
6.支持匿名传输。

在linux上,如果我们想要远程拷贝文件,我么可以使用scp命令,scp也是一个非常简单轻巧的命令,那么今天又与散仙所说rsync有什么区别呢? 其实主要的区别在文章标题上就体现出来了,rsync的同步仅仅对增量的文件会实现拷贝备份,不会对已有的没有改变的文件做备份,什么意思呢?

散仙举例子如下: A服务器上,有个a文件夹里面有个a.txt文件,第一次我们在B服务器上对A服务器上的a文件夹执行备份,那么会把a.txt文件拷贝到B服务器上的某个文件夹下,现在我们把A服务器上的a文件夹下新增一个b.txt,再次执行同步,就会发现这次仅仅同步了b文件,原来的a文件没有变化,如果我们改变了A服务上的a或b文件的内容,那么再次同步时,就会把发生的改变的文件,也给同步过来,这就是与scp最大的不同,因为scp没有这个功能。 如果没有rsync组件,可以先执行yum install rsync命令进行安装,散仙所用的rsync命令,无须配置任何conf文件,只需要用命令行就可以了,非常简洁。

测试机器IP如下:

序号 IP地址 简称
1 192.168.46.32 A机器
2 192.168.46.11 B机器

先看下A机器上,logs文件夹下的文件:

[root@h1 logs]# ll

总用量 4

-rw-r--r-- 1 root root 3 8月 30 02:29 a.txt
[root@h1 logs]#

然后,我们在B机器上,执行同步命令如下:

[root@h2 logs]# ll

总用量 0

[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/
receiving incremental file list
logs/
logs/a.txt

sent 34 bytes received 107 bytes 282.00 bytes/sec
total size is 3 speedup is 0.02
[root@h2 logs]# ll

总用量 4

-rw-r--r-- 1 root root 3 8月 30 02:29 a.txt
[root@h2 logs]#

然后,我们在A机器上的log文件下,新增一个b.txt,再测试同步命令:

[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/
receiving incremental file list
logs/
logs/b.txt
sent 34 bytes received 125 bytes 318.00 bytes/sec
total size is 5 speedup is 0.03
[root@h2 logs]#

通过日志,我们发现如果新增一个使用rsync仅仅同步了新增的文件: 现在我们在A服务器上的log文件夹下的a.txt里面新增一行内容,再次执行同步命令:

[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/
receiving incremental file list
logs/a.txt
sent 37 bytes received 128 bytes 330.00 bytes/sec
total size is 9 speedup is 0.05
[root@h2 logs]#

我们发现rsync命令也能很好的识别出来 最后我们在来看下,同时改动,A服务器上的a和 b文件,一个新增一行,一个删除一行,来测下增量:

[root@h2 logs]# rsync -av --delete 192.168.46.32:/root/logs /root/logg/
receiving incremental file list
logs/
logs/a.txt
logs/b.txt
sent 65 bytes received 174 bytes 478.00 bytes/sec
total size is 10 speedup is 0.04
[root@h2 logs]#

我们发现rsync也能很好的识别出来。 最后,我们在来看下,如何在B服务器上向A服务器上发送数据,注意,散仙刚在上面的演示,是从B服务器上下载A服务器上的数据,现在我们要演示的是如何在B服务上主动发送数据到A服务器上,原理一样,都是以增量的方式的操作的,只不过写IP的方式,变换了一下位置:

[root@h2 logs]# rsync -av --delete /root/logg/logs/b.txt 192.168.46.32:/root/
sending incremental file list
b.txt
sent 87 bytes received 37 bytes 248.00 bytes/sec
total size is 10 speedup is 0.08
[root@h2 logs]#

希望本文所述对大家CentOS服务器维护有所帮助。

您可能感兴趣的文章:
  • CentOS6.5平台上rsync服务器安装配置方法简述
  • CentOS Rsync服务端与Windows cwRsync客户端实现数据同步配置方法
  • CentOS 6.3 Rsync客户端与Win2003 cwRsyncServer服务端实现数据同步
  • Centos rsync文件同步配置步骤分享
  • CentOS5 + rsync 同步2台服务器的文件
  • centos下mysql主从同步快速设置步骤分享
  • Mysql 主从数据库同步(centos篇)
  • CentOS服务器平台搭建mysql主从复制与读写分离的方法
  • CentOS6.5系统简单安装与配置Nginx服务器的方法
  • CentOS平台实现搭建rsync远程同步服务器的方法

etl 增量对比解决方案 etl-engine 如何实现增量对比

etl 增量对比解决方案 etl-engine 如何实现增量对比

什么是增量对比

增量是相对于全量来说的,它们都是处于“同步数据”这个场景中。

  • 全量同步实现的逻辑是不管原表与目标表数据是否发生过变量,都要定期将原表数据全部覆盖到目标表,以保证目标表数据的完整性。
  • 增量对比实现的逻辑是将原表与目标表的数据通过算法进行对比,然后只将差异数据(增加、删除、修改)同步到目标表,在最小化操作目标表的同时还保证了目标表数据的完整性。

增量对比的必要性

模拟一个使用场景,业务系统A表中的数据要同步到数据仓库B表中(最简单的样例是A表与B表结构完全一样),

  • 全量同步实现方式:

把A表数据全部同步到B表中,目的是让两表数据始终保持一致,这种方式一般都是采用简单粗暴的方式来实现,实现起来就是先删除B表数据,然后再将A表数据全部插入到B表,
优点是操作简单,缺点就是数据量大时(假设A表有1亿条记录,其中只有一条记录发生变化),也要先删除B表中的1亿条记录,然后再将A表中的1亿条记录插入到B表中 ,很显然全量同步方式已经不适合了。

  • 增量对比实现方式:

1、选择出A表与B表中业务属性相同的字段作为对比的主键;
2、根据主键进行两表的对比,如果主键不同,证明A表中有数据删除或新增;
3、如果主键相同,再对比其它字段,如果其它字段都相同证明数据未发生变化,否则A表中有数据做了修改。
4、将差异数据同步到B表中。
优点是只将差异化数据同步到B表中,缺点是要事先按条件进行筛选对比的记录集(事先做好充分的业务分析),否则要对比的数据量过大会占用大量内存进行运算,并且等待对比结果的时间也很长(对比时间的长短取决于对比数据量的大小)。

etl-engine增量对比节点

etl-engine 提供的增量对比节点实现了上述增量算法,只需要按配置要求进行相关配置,很容易实现增量对比效果并直接将差异数据入库到目标表(或转存差异数据),提高了开发人员及实施人员的工作效率。

增量对比场景1

增量对比场景2

参考资料


  [免费下载](https://github.com/hw2499/etl-engine/releases)
  [etl-engine使用手册](https://github.com/hw2499/etl-engine)
  [etl-crontab使用手册](https://github.com/hw2499/etl-engine/wiki/etl-crontab%E8%B0%83%E5%BA%A6)
  [嵌入脚本开发](https://github.com/hw2499/etl-engine/wiki/%E5%B5%8C%E5%85%A5%E8%84%9A%E6%9C%AC%E5%BC%80%E5%8F%91)
  [etl-engine配置样例](https://github.com/hw2499/etl-engine/wiki/etl-engine%E4%BD%BF%E7%94%A8%E6%A0%B7%E4%BE%8B)

HP-UX oracle RAC增加磁阵遇到故障

HP-UX oracle RAC增加磁阵遇到故障

该磁阵分为4套,已经挂上2套,然后今天又有2套,我也不清楚磁盘是哪些,反正看到磁盘权限不对的,就挂。

chmod 666

chown grid:asmadmin

racdb2#[/home/grid]crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager


结果重启数据库,起不来了。日志是

[ohasd(3316)]CRS-2807:Resource 'ora.cssd' Failed to start automatically.
2018-01-31 19:29:33.760
[ohasd(3316)]CRS-2807:Resource 'ora.ctssd' Failed to start automatically.
2018-01-31 19:29:33.760
[ohasd(3316)]CRS-2807:Resource 'ora.evmd' Failed to start automatically.
2018-01-31 19:29:33.770
[mdnsd(3458)]CRS-5602:mDNS service stopping by request.
2018-01-31 19:29:35.469
[gpnpd(3463)]CRS-2329:GPNPD on node racdb1 shutdown. 
racdb1#[/u01/app/grid/product/11.2.0/grid/log/racdb1]tail -50f alert*.log
2018-01-31 18:32:57.880
[gpnpd(2660)]CRS-2329:GPNPD on node racdb1 shutdown. 
2018-01-31 19:02:53.523
[ohasd(3316)]CRS-2112:The OLR service started on node racdb1.
2018-01-31 19:02:54.070
[ohasd(3316)]CRS-1301:Oracle High Availability Service started on node racdb1.
2018-01-31 19:02:54.083
[ohasd(3316)]CRS-8017:location: /var/opt/oracle/lastgasp has 2 reboot advisory log files,0 were announced and 0 errors occurred
2018-01-31 19:03:16.703
[ohasd(3316)]CRS-2302:Cannot get GPnP profile. Error CLSGPNP_NO_DAEMON (GPNPD daemon is not running). 
2018-01-31 19:03:16.920
[gpnpd(3463)]CRS-2328:GPNPD started on node racdb1. 
2018-01-31 19:03:19.932
[cssd(3482)]CRS-1713:CSSD daemon is started in clustered mode
2018-01-31 19:03:21.729
[ohasd(3316)]CRS-2767:Resource state recovery not attempted for 'ora.diskmon' as its target state is OFFLINE
2018-01-31 19:13:18.637
[/u01/app/grid/product/11.2.0/grid/bin/cssdagent(3475)]CRS-5818:Aborted command 'start' for resource 'ora.cssd'. Details at (:CRSAGF00113:) {0:0:2} in /u01/app/grid/product/11.2.0/grid/log/racdb1/agent/ohasd/oracssdagent_root/oracssdagent_root.log.
2018-01-31 19:13:18.638
[cssd(3482)]CRS-1656:The CSS daemon is terminating due to a Fatal error; Details at (:CSSSC00012:) in /u01/app/grid/product/11.2.0/grid/log/racdb1/cssd/ocssd.log
2018-01-31 19:13:18.639
[cssd(3482)]CRS-1603:CSSD on node racdb1 shutdown by user.
2018-01-31 19:16:26.542
[ohasd(3316)]CRS-2765:Resource 'ora.cssdmonitor' has Failed on server 'racdb1'.
2018-01-31 19:16:30.103
[ohasd(3316)]CRS-2767:Resource state recovery not attempted for 'ora.diskmon' as its target state is OFFLINE
2018-01-31 19:16:38.314
[cssd(8712)]CRS-1713:CSSD daemon is started in clustered mod

结果不对,create diskgroup 一直卡住

结果发现,有些磁盘不能动,日志也报错了

racdb1#[/u01/app/grid/product/11.2.0/grid/log/racdb1]tail -10f alertracdb1.log 
2018-01-31 19:29:33.760
[ohasd(3316)]CRS-2807:Resource 'ora.cssd' Failed to start automatically.
2018-01-31 19:29:33.760
[ohasd(3316)]CRS-2807:Resource 'ora.ctssd' Failed to start automatically.
2018-01-31 19:29:33.760
[ohasd(3316)]CRS-2807:Resource 'ora.evmd' Failed to start automatically.
2018-01-31 19:29:33.770
[mdnsd(3458)]CRS-5602:mDNS service stopping by request.





结果吧权限修改回去,数据库正常了。

chmod 640

chown bin:sys

[ohasd(9806)]CRS-2767:Resource state recovery not attempted for 'ora.diskmon' as its target state is OFFLINE
2018-01-31 20:23:41.526
[cssd(12258)]CRS-1713:CSSD daemon is started in clustered mode
2018-01-31 20:24:21.288
[cssd(12258)]CRS-1707:Lease acquisition for node racdb1 number 1 completed
2018-01-31 20:24:22.801
[cssd(12258)]CRS-1605:CSSD voting file is online: /dev/rdisk/disk3375; details in /u01/app/grid/product/11.2.0/grid/log/racdb1/cssd/ocssd.log.
2018-01-31 20:24:22.899
[cssd(12258)]CRS-1605:CSSD voting file is online: /dev/rdisk/disk3376; details in /u01/app/grid/product/11.2.0/grid/log/racdb1/cssd/ocssd.log.
2018-01-31 20:24:22.998
[cssd(12258)]CRS-1605:CSSD voting file is online: /dev/rdisk/disk3377; details in /u01/app/grid/product/11.2.0/grid/log/racdb1/cssd/ocssd.log.
2018-01-31 20:24:32.277
[cssd(12258)]CRS-1601:CSSD Reconfiguration complete. Active nodes are racdb1 .
2018-01-31 20:24:34.383
[ctssd(12340)]CRS-2403:The Cluster Time Synchronization Service on host racdb1 is in observer mode.
2018-01-31 20:24:34.811
[ctssd(12340)]CRS-2407:The new Cluster Time Synchronization Service reference node is host racdb1.
2018-01-31 20:24:34.812
[ctssd(12340)]CRS-2401:The Cluster Time Synchronization Service started on host racdb1.
2018-01-31 20:25:50.377
[crsd(12684)]CRS-1012:The OCR service started on node racdb1.
2018-01-31 20:25:51.318
[evmd(12344)]CRS-1401:EVMD started on node racdb1.
2018-01-31 20:25:53.850
[crsd(12684)]CRS-1201:CRSD started on node racdb1.
2018-01-31 20:25:57.063
[/u01/app/grid/product/11.2.0/grid/bin/oraagent.bin(12753)]CRS-5016:Process "/u01/app/grid/product/11.2.0/grid/bin/lsnrctl" spawned by agent "/u01/app/grid/product/11.2.0/grid/bin/oraagent.bin" for action "check" Failed: details at "(:CLSN00010:)" in "/u01/app/grid/product/11.2.0/grid/log/racdb1/agent/crsd/oraagent_grid/oraagent_grid.log"
2018-01-31 20:25:57.063
[/u01/app/grid/product/11.2.0/grid/bin/oraagent.bin(12753)]CRS-5016:Process "/u01/app/grid/product/11.2.0/grid/bin/lsnrctl" spawned by agent "/u01/app/grid/product/11.2.0/grid/bin/oraagent.bin" for action "check" Failed: details at "(:CLSN00010:)" in "/u01/app/grid/product/11.2.0/grid/log/racdb1/agent/crsd/oraagent_grid/oraagent_grid.log"
2018-01-31 20:25:57.142
[/u01/app/grid/product/11.2.0/grid/bin/oraagent.bin(12753)]CRS-5016:Process "/u01/app/grid/product/11.2.0/grid/opmn/bin/onsctli" spawned by agent "/u01/app/grid/product/11.2.0/grid/bin/oraagent.bin" for action "check" Failed: details at "(:CLSN00010:)" in "/u01/app/grid/product/11.2.0/grid/log/racdb1/agent/crsd/oraagent_grid/oraagent_grid.log"
2018-01-31 20:25:57.282
[crsd(12684)]CRS-2772:Server 'racdb1' has been assigned to pool 'Generic'.
racdb2#[/home/grid]crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
红色框部分,是恢复回来的。

我们今天的关于联通vac增量对账回执联通增值业务查询短信的分享已经告一段落,感谢您的关注,如果您想了解更多关于Android支付接入(四):联通VAC计费、CentOS6.5环境下使用rsync增量同步备份文件的方法、etl 增量对比解决方案 etl-engine 如何实现增量对比、HP-UX oracle RAC增加磁阵遇到故障的相关信息,请在本站查询。

本文标签: