"

IM电竞网站

"

gg归档数据库(gg修改存档)

软件开发 50
本篇文章给大家谈谈gg归档数据库,以及gg修改存档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 ggbase怎么用 ?ggbase用法如下,可以通过其数据系统进行数据分析,并且GgBase非常强大,8a是国内首个基于列存的新型分析型数据库,8a Cluster是国内首个分布式并行数据库集群,8t是国内首个与世界先进技术接轨的国产事务型通用数据库系统,可以进行强大的计算力。GBase?是南大通用数据技术有限公司推出的自主品牌的数据库产品,在国内数据库市场具有较高的品牌知名度。

本篇文章给大家谈谈gg归档数据库,以及gg修改存档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

ggbase怎么用

?ggbase用法如下,可以通过其数据系统进行数据分析,并且GgBase非常强大,8a是国内首个基于列存的新型分析型数据库,8a Cluster是国内首个分布式并行数据库集群,8t是国内首个与世界先进技术接轨的国产事务型通用数据库系统,可以进行强大的计算力。GBase?是南大通用数据技术有限公司推出的自主品牌的数据库产品,在国内数据库市场具有较高的品牌知名度。

使用ggbase的首先需要打开ROUTINES表因为该表提供了关于存储子程序(存储程序和函数)的信息,所以需要与之相对于,启动电脑ggbase的运行。

此时ROUTINES表不包含自定义函数UDF名为mysql.proc name的列指明了对应INFORMATION_SCHEMA.ROUTINES表的mysql.proc表列,然后便能开始运行ggbase。

然后打开TABLES表提供了关于数据库中的表的信息包括视图详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息,这是数据统计的关键软件,同时也是数据分析的关键,同时是show tables from schemaname的结果取之此表。

ios 怎么将数据库存储到当前工程下

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍一下数据保存的方式:

1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提供encodeWithCoder:和initWithCoder:方法。前一个方法告诉系统怎么对对象进行编码,而后一个方法则是告诉系统怎么对对象进行解码。例如对Possession对象归档保存。

定义Possession:

@interface Possession:NSObjectNSCoding{//遵守NSCoding协议

NSString *name;//待归档类型

}

@implementation Possession

-(void)encodeWithCoder:(NSCoder *)aCoder{

[aCoder encodeObject:name forKey:@"name"];

}

-(void)initWithCoder:(NSCoder *)aDecoder{

name=[[aDeCoder decodeObjectforKey:@"name"] retain];

}

归档操作:

如果对Possession对象allPossession归档保存,只需要NSCoder子类NSKeyedArchiver的方法archiveRootObject:toFile: 即可。

NSString *path = [self possessionArchivePath];

[NSKeyedArchiver archiveRootObject:allPossessions toFile: path ]

解压操作:

同样调用NSCoder子类NSKeyedArchiver的方法unarchiveRootObject:toFile: 即可

allPossessions = [[NSKeyedUnarchiver unarchiveObjectWithFile:path] retain];

缺点:归档的形式来保存数据,只能一次性归档保存以及一次性解压。所以只能针对小量数据,而且对数据操作比较笨拙,即如果想改动数据的某一小部分,还是需要解压整个数据或者归档整个数据。

2.NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。具体实现为:

保存数据:

NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];

NSString *name =@”default string“;

[defaults setObject:firstName forKey:@"name"];

//获得UIImage实例

UIImage *image=[[UIImage alloc]initWithContentsOfFile:@"photo.jpg"];

NSData *imageData = UIImageJPEGRepresentation(image, 100);//UIImage对象转换成NSData

[defaults synchronize];//用synchronize方法把数据持久化到standardUserDefaults数据库

读取数据:

NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];

NSString *name = [defaults objectForKey:@"name"];//根据键值取出name

NSData *imageData = [defaults dataForKey:@"image"];

UIImage *Image = [UIImage imageWithData:imageData];//NSData转换为UIImage

3. Write写入方式:永久保存在磁盘中。具体方法为:

第一步:获得文件即将保存的路径:

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);//使用C函数NSSearchPathForDirectoriesInDomains来获得沙盒中目录的全路径。该函数有三个参数,目录类型、he domain mask、布尔值。其中布尔值表示是否需要通过~扩展路径。而且第一个参数是不变的,即为NSSearchPathDirectory 。在IOS中后两个参数也是不变的,即为:NSUserDomainMask 和 YES。

NSString *ourDocumentPath =[documentPaths objectAtIndex:0];

还有一种方法是使用NSHomeDirectory函数获得sandbox的路径。具体的用法为:

NSString *sandboxPath = NSHomeDirectory();

// Once you have the full sandbox path, you can create a path from it,但是不能在sandbox的本文件层上写文件也不能创建目录,而应该是此基础上创建一个新的可写的目录,例如Documents,Library或者temp。

NSString *documentPath = [sandboxPath

stringByAppendingPathComponent:@"Documents"];//将Documents添加到sandbox路径上,具体原因前面分析了!

这两者的区别就是:使用NSSearchPathForDirectoriesInDomains比在NSHomeDirectory后面添加Document更加安全。因为该文件目录可能在未来发送的系统上发生改变。

第二步:生成在该路径下的文件:

NSString *FileName=[documentDirectory stringByAppendingPathComponent:fileName];//fileName就是保存文件的文件名

第三步:往文件中写入数据:

[data writeToFile:FileName atomically:YES];//将NSData类型对象data写入文件,文件名为FileName

最后:从文件中读出数据:

NSData data=[NSData dataWithContentsOfFile:FileName options:0 error:NULL];//从FileName中读取出数据

4. SQLite:采用SQLite数据库来存储数据。SQLite作为一中小型数据库,应用ios中,跟前三种保存方式相比,相对比较复杂一些?;故且徊讲嚼窗?!

第一步:需要添加SQLite相关的库以及头文件:在项目文件的Build Phases下,找到Link Binary Library(ies),添加libsqlite3.0.dylib(libsqlite3.dylib与前者的区别暂时不知,两者应该差不多);在项目文件中头文件或者源文件中添加头文件#import "/usr/include/sqlite3.h"

第二步:开始使用SQLite:

NSArray *documentsPaths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask , YES);

NSString *databaseFilePath=[[documentsPaths objectAtIndex:0] stringByAppendingPathComponent:@"mydb"];

//上面两句已经比较熟悉了吧!

//打开数据库

if (sqlite3_open([databaseFilePath UTF8String], database)==SQLITE_OK) {

NSLog(@"sqlite dadabase is opened.");

}

else{ return;}//打开不成功就返回

在打开了数据库的前提下,如果数据库没有表,那就开始建表了哦!

char *error;

const char *createSql="create table(id integer primary key autoincrement, name text)";

if (sqlite3_exec(database, createSql, NULL, NULL, error)==SQLITE_OK) {

NSLog(@"create table is ok.");

}

else

{

NSLog(@"error: %s",error);

sqlite3_free(error);//每次使用完毕清空error字符串,提供给下一次使用

}

建表完成之后,就开始插入记录:

const char *insertSql="insert into a person (name) values(‘gg’)";

if (sqlite3_exec(database, insertSql, NULL, NULL, error)==SQLITE_OK) {

NSLog(@"insert operation is ok.");

}

else

{

NSLog(@"error: %s",error);

sqlite3_free(error);//每次使用完毕清空error字符串,提供给下一次使用

}

下一步,查询记录:

const char *selectSql="select id,name from a person";

sqlite3_stmt *statement;

if (sqlite3_prepare_v2(database,selectSql, -1, statement, nil)==SQLITE_OK) {

NSLog(@"select operation is ok.");

}

else

{

NSLog(@"error: %s",error);

sqlite3_free(error);

}

while(sqlite3_step(statement)==SQLITE_ROW) {

int _id=sqlite3_column_int(statement, 0);

NSString *name=(char*)sqlite3_column_text(statement, 1);

NSLog(@"rowid %i, name %s",_id,name);

}

sqlite3_finalize(statement);

最后,关闭数据库:

sqlite3_close(database);

注意:写入数据库,字符串可以采用char方式,而从数据库中取出char类型,当char类型有表示中文字符时,会出现乱码。这是因为数据库默认使用ascII编码方式。所以要想正确从数据库中取出中文,需要用NSString来接收从数据库取出的字符串。

goldengate分32位和64位吗

最近接了一个数据库同步的项目,其实开始考虑的是别的免费同步工具,不过我们老大说免费的太钓丝,不如收费的高大上,客户有钱,不需要为对方节省,况且免费的有各种限制,功能不够全面。言归正传,我选择了ORACLE的GoldenGate 产品,网上有一大堆操作说明文档,都是百度搜出来的,按照那个严格操作,基本上总会出现各种各样的错误,唉,还是怀恋以前的google,搜出的老外的文章,一般不会出错。经过几天的研究实践,特意把操作过程记录下来,按照下面步骤输入,不会出错。

GoldenGate TDM(交易数据管理)软件是一种基于日志的结构化数据复制软件,它通过解析源数据库在线日志或归档日志获得数据的增删改变化,再将这些变化应用到目标数据库,实现源数据库与目标数据库同步、双活。

现在网上的GOLDENGATE文档只是记录了配置操作过程,而事实上,每个人操作可能遇到的问题不尽相同,针对遇到的问题与解决方法各不一样,完全按照网上的文档操作往往会失败,因此这里记录下在32位和64位ORACLE下操作GOLDENGATE的过程与遇到的问题。

一、操作环境:WIN764位系统 32位ORACLE+32位GOLDENGATE

目的:在一个库下面两个不同用户之间实现数据同步。

1. 创建数据库实例

假设创建的数据库实例SID为ogg

2. 设置环境变量

在系统属性-高级-环境变量里面设置如下两个环境变量的值,如

ORACLE_HOME=D:appAdministratorproduct11.2.0dbhome_1

ORACLE_SID=ogg

3. 配置oracle数据库

(1).打开归档模式

SQL archive log list

SQL shutdown immediate

SQL startup mount

SQL alter database archivelog;

SQL alter database open

(2).在库中打开force logging

SQL select force_logging from v$database;

FOR

---

NO

SQL alter database force logging;

Database altered.

SQL select force_logging from v$database;

FOR

---

YES

(3). 在库中打开supplementallog

SQL select supplemental_log_data_min from v$database;

SUPPLEME

--------

NO

SQL alter database add supplemental log data;

Database altered.

(4).切换日志,使更改生效

SQL alter system switch logfile;

System altered.

SQL select supplemental_log_data_min from v$database;

SUPPLEME

--------

YES

(5).在库中关闭回收站

SQL show parameter recyclebin

NAME TYPE VALUE

------------- ----------- ------------------------------

recyclebin string on

SQL alter system set recyclebin=off;

System altered.

注:如果是oracle 10.1版本使用alter system set“_recyclebin=off”;该命令经过实验非必要,在本机测试,不运行此命令照常同步数据

4.创建测试的用户账户和表

Create user ggs identified by ggs;

Create user ggt identified by ggt;

Grant dba to ggs;

Grant dba to ggt;

Conn ggs/ggs

Create table test(

Stu_id number(6),

Stu_name varchar2(20),

Stu_pass varchar2(20)

);

Conn ggt/ggt;

Create table test(

Stu_id number(6),

Stu_name varchar2(20),

Stu_pass varchar2(20)

);

5.配置goldengate

1) 假设将goldengate解压到c:gg目录,进入此目录

输入命令ggsci.exe

然后输入Createsubdirs

2) ggsciEdit param mgr

输入参数内容:

Port7809 --set the manager running port

保存退出

ggsciStartmgr

To start the mgrprocess

可以输入命令Infoall查看运行状况

3) Add supplemental logging for table, both source and target

GGSCIdblogin ggs,password ggs(在配置了环境变量指定ORACLE_SID的前提下,否则用命令dblogin ggs@ogg,password ggs)

GGSCIadd trandata ggs.test

GGSCIadd trandata ggt.test

GGSCIinfo trandata ggs.*

GGSCIinfo trandata ggs.*

4). GGSCIAdd extract ext1,tranlog,begin now

GGSCIedit param ext1

参数内容:

extract ext1

Useridggs,password ggs

Rmthost 127.0.0.1mgrport 7809

Rmttrail.dirdatr1

Dynamicresolution

Table ggs.test;

保存,退出(注:TABLE一行以分号结尾,否则错误)

然后Add remote list,输入命令

GGSCIAddrmttrail .dirdatr1,extract ext1,megabytes 100

5) Add and edit replicat process param

addrep repkk,exttrail ./dirdat/r1,nodbcheckpoint

然后输入命令Edit param repkk

参数内容为:

Useridggt,password ggt

Assumetargetdefs

DiscardfileC:ggdirdatrep1.dsc,append

MAPggs.*, TARGET ggt.*;

保存退出(注:MAP一行的逗号后面必须有空格且以分号结尾,否则错误)

6) 启动进程

Startextract progress:

Startext1

Startreplicat progress

Startrepkk

Checkthe progress running

Infoall

6.测试同步效果

Conn ggs/ggs

Insert into test select 1,’aa’,’pass1’ from dual;

Insert into test select 2,’bb’,’pass2’ from dual;

Commit;

few seconds later:

conn ggt/ggt

select * from test;

64位的GOLDENGATE与ORACLE操作与此类似,但是过程中可能遇到错误,可以输入命令alter reprepkk,extseqno 23,extrba 0或者alter rep repkk,extseqno 0,extrba0解决

oracle中 DG和GG的区别

楼主您好

Oracle DataGuard

Oracle GoldenGate

原理

复制归档日志或在线日志

抽取在线日志中的数据变化,转换为GGS自定义的数据格式存放在本地队列或远端队列中

稳定性

作为灾备的稳定性极高

稳定性不如DataGuard

维护

维护简单,极少出现问题

命令行方式,维护较复杂

对象支持

完全支持

部分对象需手工创建于维护

备份端可用性

备份端处于恢复或只读状态,在只读状态下不能同时进行恢复。

两端数据库是活动的,备份端可以提供实时的数据查询及报表业务等,从而提高系统整体的业务处理能力,充分利用备份端的计算能力,提升系统整体业务处理性能??梢允迪至蕉耸莸耐毙慈?

接管时间

数据库工作在mount状态下,接管业务时,数据库要open

可实现立即接管

复制方式

通过恢复机制实现的,无法实现同步复制

GoldenGate 可以提供秒一级的大量数据实时捕捉和投递,异步复制方式,无法实现同步复制

资源占用

复制通过数据库的LGWR进程或ARCN进程完成,占用数据库少量资源

业务高峰时在数据抽取转换时消耗系统资源较多,低峰时占用较小

异构数据库支持

单一数据库解决方案,仅运行在Oracle数据库上,源端和目标端操作系统必须相同,版本号可以不同

可以在不同类型和版本的数据库之间进行数据复制。如ORACLE,DB2,SYBASE,SQL SERVER,INFORMIX、Teradata等。

适用于不同操作系统如windows、linux、unix、aix等

带宽占用

使用Oracle Net传输日志,可通过高级压缩选项进行压缩,压缩比在2-3倍

利用TCP/IP传输数据变化,集成数据压缩,提供理论可达到9:1压缩比的数据压缩特性

拓扑结构

可以实现一对多模式

可以实现一对一、一对多、多对一、双向复制等多种拓扑结构

关于gg归档数据库和gg修改存档的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

gg归档数据库 数据库归档日志数据库历史数据归档数据库归档是什么意思数据库归档日志满了oracle数据库归档模式数据库归档日志路径数据库开启归档模式数据库归档日志作用oracle数据库关闭归档将数据库设置为归档模式
扫码二维码
IM电竞网站

    1. <nav id="u93nx"></nav>

        <wbr id="u93nx"></wbr>
        <sub id="u93nx"></sub>
            <em id="u93nx"></em>

              "