自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(389)
  • 资源 (7)
  • 收藏
  • 关注

原创 java字符串相关api及简单实现3

最近有公司打电话邀请面试,抱着

2014-09-14 14:53:46 591

原创 sql常用语句

建表:create table tablename();插入:insert into tablename();           insert into tab

2014-09-14 13:55:10 575

原创 面试常见算法

1.概述    本博经过面试d

2014-09-11 10:45:04 823

原创 23种设计模式及简单代码

1.    设计模式

2014-09-11 09:57:08 1312

原创 openGauss 执行修改表分区操作时报错

在同一条ALTER TABLE PARTITION语句中,既存在DROP PARTITION又存在ADD PARTITION时,无论它们在语句中的顺序是什么,openGauss总会先执行DROP PARTITION再执行ADD PARTITION。执行完DROP PARTITION删除末尾分区后,再执行ADD PARTITION操作会出现分区间隙,导致报错。为防止出现分区间隙,需要将ADD PARTITION的START值前移。执行ALTER TABLE PARTITION时,报错如下。

2024-05-16 16:54:13 394

原创 openGauss 重建索引失败

如果此表是以pg_cudesc_xxxxx_index进行命名则为列存表,则说明desc表的索引表损坏。通过desc表的索引表表名,找到对应主表的oid和表,执行如下语句重建表的索引。在实际操作中,索引会由于软件问题或者硬件问题引起崩溃。例如,当索引分裂完而磁盘空间不足、出现页面损坏等问题时,会导致索引损坏。当Desc表的索引出现损坏时,无法进行一系列操作,可能的报错信息如下。

2024-05-16 14:57:13 313

原创 openGauss connection-close

此方法关闭数据库连接,并不自动调用commit()。如果只是关闭数据库连接而不调用commit()方法,那么所有更改将会丢失。此方法关闭数据库连接。

2024-05-16 14:56:35 367

原创 openGauss connection-commit

默认情况下,Psycopg在执行第一个命令之前打开一个事务:如果不调用commit(),任何数据操作的效果都将丢失。此方法将当前挂起的事务提交到数据库。SCSS 复制 全屏。

2024-05-16 14:56:04 203

原创 openGauss connection-cursor

cursor对象(用于整个数据库使用Python编程的cursor)。用于创造非标准cursor,默认为None。connection.cursor参数。设置SCROLL选项,默认为None。此方法用于返回新的cursor对象。设置HOLD选项,默认为False。cursor名称,默认为None。

2024-05-16 14:55:20 375

原创 openGauss connection-rollback

执行关闭连接“close()”而不先提交更改“commit()”将导致执行隐式回滚。此方法回滚当前挂起事务。

2024-05-16 14:54:40 373

原创 openGauss CopyManager

CopyManagerCopyManager是openGauss JDBC驱动中提供的一个API接口类,用于批量向openGauss中导入数据。CopyManager的继承关系CopyManager类位于org.postgresql.copy Package中,继承自java.lang.Object类,该类的声明如下:public class CopyManagerextends Object构造方法public CopyManager(BaseConnection conne

2024-05-16 14:54:07 307

原创 openGauss curosr-executemany_query-vars_list

此方法执行SQL命令所有参数序列或序列中的SQL映射。curosr.executemany参数。变量列表,匹配query中%s占位符。待执行的SQL语句。

2024-05-16 14:53:32 284

原创 openGauss curosr-executemany_query-vars_list

此方法执行SQL命令所有参数序列或序列中的SQL映射。curosr.executemany参数。变量列表,匹配query中%s占位符。待执行的SQL语句。

2024-05-16 14:53:01 304

原创 openGauss cursor-close

此方法关闭当前连接的游标。

2024-05-16 14:52:23 329

原创 openGauss cursor-execute-query-vars_list

此方法执行被参数化的SQL语句(即占位符,而不是SQL文字)。psycopg2模块支持用%s标志的占位符。变量列表,匹配query中%s占位符。curosr.execute参数。待执行的sql语句。

2024-05-16 14:51:48 347

原创 openGauss cursor-fetchall

此方法获取查询结果的所有(剩余)行,并将它们作为元组列表返回。元组列表,为结果集的所有结果。空行时则返回空列表。

2024-05-16 14:51:17 203

原创 openGauss cursor-fetchone

单个元组,为结果集的第一条结果,当没有更多数据可用时,返回为“None”。此方法提取查询结果集的下一行,并返回一个元组。

2024-05-16 14:50:47 319

原创 openGauss dblink

dblink是一个可以在openGauss数据库会话中连接到其它数据库的工具,同libpq支持的连接参数一致,也可以在通过在连接串中增加drivername(对应odbc.ini文件中的数据源名称)字段通过ODBC连接异构数据库。fail_on_error 如果为真(忽略时的默认值),那么在连接的远端抛出的一个错误也会导致本地抛出一个错误。dblink_get_notify在一个未命名连接或者一个指定的命名连接上检索通知。描述:收集之前dblink_send_query发送的一个异步查询的结果。

2024-05-16 14:50:17 283

原创 openGauss Database和Schema设计

openGauss中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多,可以通过grant与revoke语法便捷地控制不同用户对各Schema及其下属对象的权限。

2024-05-16 14:49:45 201

原创 openGauss 订阅

可以使用CREATE SUBSCRIPTION增加订阅,并且使用ALTER SUBSCRIPTION在任何时刻修改订阅,还可以使用DROP SUBSCRIPTION删除订阅。一个订阅会定义到另一个数据库的连接以及它想要订阅的发布集合(一个或者多个)。可以在一对发布者-订阅者之间定义多个订阅,在这种情况下要确保被订阅的发布对象不会重叠。订阅者数据库的行为与任何其他openGauss实例相同,并且可以被用作其他数据库的发布者,只需要定义它自己的发布。模式定义不会被复制,并且被发布的表必须在订阅者上存在。

2024-05-13 14:59:37 175

原创 openGauss 分析查询效率异常降低的问题

例如,如果查询语句先查询一个表中所有的记录,而只用到结果中的前10条记录。如果业务应用中存在只需要部分数据信息,但是查询语句却是返回所有信息的情况,建议修改查询语句,增加LIMIT子句来限制返回的记录数。尝试在数据库没有其他查询或查询较少的时候运行查询语句,并观察运行效率。查询效率低的一个重要原因是查询所需信息没有缓存在内存中,这可能是由于内存资源紧张,缓存信息被其他查询处理覆盖。重复执行相同的查询语句,如果后续执行的查询语句效率提升,则可能是由于上述原因导致。检查重复相同查询语句的执行效率。

2024-05-13 14:59:05 197

原创 openGauss 分析查询语句是否被阻塞

查询语句需要通过加锁来保护其要访问的数据对象。当要进行加锁时发现要访问的数据对象已经被其他会话加锁,则查询语句会被阻塞,等待其他会话完成操作并释放锁资源。显示类似如下信息,表示用户正在尝试结束当前会话,此时仅会重连会话,而不是结束会话。数据库系统运行时,在某些业务场景下,查询语句会被阻塞,导致语句运行时间过长。从当前活动会话视图查找问题会话的线程ID。显示类似如下信息,表示结束会话成功。MARKDOWN 复制 全屏。使用如下命令连接数据库。根据线程ID结束会话。VBNET 复制 全屏。

2024-05-13 14:58:32 370

原创 openGauss 分析查询语句运行状态

如果state字段显示为idle,则表明此连接处于空闲,等待用户输入命令。如果仅需要查看非空闲的查询语句,则使用如下命令查看。查询结果中包含了当前被阻塞的查询语句,该查询语句所请求的锁资源可能被其他会话持有,正在等待持有会话释放锁资源。通过如下命令查看当前处于阻塞状态的查询语句。查看正在运行的查询语句。系统中部分查询语句运行时间过长,需要分析查询语句的运行状态。当此参数为on时,数据库系统才会收集当前活动查询的运行信息。postgres为需要连接的数据库名称,8000为端口号。使用如下命令连接数据库。

2024-05-13 14:57:57 400

原创 openGauss 分析查询语句长时间运行的问题

函数通过限制current_timestamp和query_start大于某一阈值查看执行时间超过此阈值的查询语句。timestampdiff的第一个参数为时间差单位。例如,执行超过2分钟的查询语句可以通过如下语句查询。查询会返回按执行时间长短从大到小排列的查询语句列表。第一条结果就是当前系统中执行时间长的查询语句。postgres为需要连接的数据库名称,8000为端口号。查询语句较为复杂,需要长时间运行。系统中部分查询语句运行时间过长。查看系统中长时间运行的查询语句。分析长时间运行的查询语句状态。

2024-05-13 14:57:25 607

原创 openGauss 服务启动失败

通过sysctl -a查看net.ipv4.ip_local_port_range,如果该实例配置的端口在系统随机占用端口号的范围内,则可以修改系统随机占用端口号的范围,确保xml文件中所有实例端口号均不在这个范围内。如果发现某一实例状态为Unknown、Pending和Down的状态,则以数据库用户登录到状态不正常的实例所在节点,查看该实例的日志检查状态异常的原因。如果日志中出现上面这种报错信息,则说明该数据节点的数据目录文件遭到破坏,该实例无法执行正常查询,需要进行替换实例操作。BASH 复制 全屏。

2024-05-13 14:56:48 616

原创 openGauss 概述

数据备份是保护数据安全的重要手段之一,为了更好的保护数据安全,openGauss数据库支持三种备份恢复类型、多种备份恢复方案,备份和恢复过程中提供数据的可靠性保障机制。备份与恢复类型可分为逻辑备份与恢复、闪回恢复。逻辑备份与恢复:通过逻辑导出对数据进行备份,逻辑备份只能基于备份时刻进行数据转储,所以恢复时也只能恢复到备份时保存的数据。对于故障点和备份点之间的数据,逻辑备份无能为力,逻辑备份适合备份那些很少变化的数据,当这些数据因误操作被损坏时,可以通过逻辑备份进行快速恢复。

2024-05-13 14:56:16 433

原创 openGauss 概述-10

openGauss提供的gs_dump和gs_dumpall工具,能够帮助用户导出需要的数据库对象或其相关信息。通过导入工具将导出的数据信息导入至需要的数据库,可以完成数据库信息的迁移。gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出openGauss中所有数据库或各库的公共全局对象。详细的使用场景见表1。表 1适用场景适用场景支持的导出粒度支持的导出格式配套的导入方法导出单个数据库数据库级导出。导出全量信息。

2024-05-13 14:55:46 675

原创 openGauss 高并发报错-too-many-clients-already-或无法创建线程

对于不同操作系统修改方式略有不同,centos6以上版本可以修改/etc/security/ limits.d/90-nofile.conf文件,方法同上。该类报错是由于操作系统线程资源不足引起,查看操作系统ulimit -u,如果过小(例如小于32768),则基本可以判断是操作系统限制引起的。另外,也可以直接通过如下命令设置,但OS重启会失效,可以添加到全局环境变量/etc/profile文件中使其生效。在大并发模式下,建议开启线程池,使数据库内部的线程资源受控。按如下简易公式计算需要设置的最小值。

2024-05-13 14:55:14 198

原创 openGauss 高危操作一览表

选择业务低谷升级,升级前对数据库进行全面巡检,提前排除关键指标风险后,与用户沟通好影响和升级时间窗后,再实施升级。执行DDL前谨慎评估影响,尽量离线操作,若无法离线操作,尽量通过等锁时长等参数,减少等待时间,避免DDL阻塞业务。参数修改前,请详细阅读产品文档说明,并准确评估影响后,再实施,若无法评估影响,请联系华为工程师支持。kill掉dn进程,可能导致业务闪断,甚至触发主备切换,若主备差异较大,RTO风险更大。严禁修改数据目录下文件名,权限,内容不能修改,不能删除内容。

2024-05-13 14:54:42 560

原创 openGauss 关于COPY-FROM-STDIN导入数据

用户可以使用以下方式通过COPY FROM STDIN语句直接向openGauss写入数据。

2024-05-13 14:54:08 162

原创 openGauss 架构

逻辑复制被构建在一种类似于物理流复制的架构上。然后数据会被连续地使用流复制协议传输到应用工作者,应用工作者会把数据映射到本地表并且以正确的事务顺序应用它们接收到的更改。不过,初始的表同步是以类似一个COPY命令的方式实现的,因此会引发INSERT的行触发器和语句触发器。订阅者按照数据在发布者上被提交的顺序应用数据,这样任意单一订阅中的发布的事务一致性才能得到保证。订阅者数据库上的应用进程总是将session_replication_role设置为replica运行,这会产生触发器和约束上通常的效果。

2024-05-13 14:53:24 253

原创 openGauss 导出所有数据库-11

执行命令后,会有很长的打印信息,最终出现total time即代表执行成功。示例三:执行gs_dumpall,仅导出所有数据库中数据,并对导出文件进行加密,导出文件为文本格式。openGauss支持使用gs_dumpall工具导出所有数据库的全量信息,包含openGauss中每个数据库信息和公共的全局对象信息。使用导出的对象定义,可以快速创建与当前主机相同的一个主机环境,拥有相同的数据库和表空间,但是库中并无原数据库的数据。仅导出数据,即导出每个数据库中的数据,且不包含所有对象定义和公共的全局对象信息。

2024-05-07 10:19:19 414

原创 openGauss 导出数据库

示例四:执行gs_dump,仅导出postgres数据库的所有对象的定义,导出文件格式为文本格式,并对导出文件进行加密。示例二:执行gs_dump,仅导出postgres数据库中的数据,不包含数据库对象定义,导出文件格式为自定义归档格式。示例三:执行gs_dump,仅导出postgres数据库所有对象的定义,导出文件格式为sql文本格式。仅导出所有对象定义,包括:库定义、函数定义、模式定义、表定义、索引定义和存储过程定义等。使用导出的对象定义,可以快速创建一个相同的数据库,但是库中并无原数据库的数据。

2024-05-07 10:18:47 820

原创 openGauss 导出全局对象

示例二: 执行gs_dumpall,导出所有数据库的公共全局表空间信息(omm用户为管理员用户),并对导出文件进行加密,导出文件为文本格式。示例一:执行gs_dumpall,导出所有数据库的公共全局表空间信息和用户信息(omm用户为管理员用户),导出文件为文本格式。示例三:执行gs_dumpall,导出所有数据库的公共全局用户信息(omm用户为管理员用户),导出文件为文本格式。其他参数说明请参见《工具与命令参考》中“服务端工具 > gs_dumpall”章节。指定用户连接的密码。LESS 复制 全屏。

2024-05-07 10:18:09 252

原创 openGauss 导出模式

用户可通过灵活的自定义方式导出模式内容,不仅支持选定一个模式或多个模式的导出,还支持排除一个模式或者多个模式的导出。示例七:执行gs_dump,导出public模式下所有表(视图、序列和外表)和hr模式中staffs表,包含数据和表定义,导出文件格式为自定义归档格式。示例六:执行gs_dump,导出human_resource数据库时,排除hr和public模式,导出文件格式为自定义归档格式。示例五:执行gs_dump,同时导出hr和public模式,且仅导出模式定义,导出文件格式为tar归档格式。

2024-05-07 10:17:30 490

原创 openGauss 导出表

示例九:执行gs_dump,导出public模式下所有表(包括视图、序列和外表)和hr模式中staffs表,包含数据和表定义,导出文件格式为自定义归档格式。示例七:执行gs_dump,导出表hr.staffs的定义和数据,只导出表hr.employments的定义,导出文件格式为tar归档格式。示例八:执行gs_dump,导出表hr.staffs的定义和数据,并对导出文件进行加密,导出文件格式为文本格式。示例一:执行gs_dump,导出表hr.staffs的定义和数据,导出文件格式为文本格式。

2024-05-07 10:16:51 773

原创 openGauss 磁盘满故障引起的core问题

TPCC运行时,注入磁盘满故障,数据库进程gaussdb core掉,如下图所示。数据库本身机制,在磁盘满时,Xlog日志无法进行写入,通过panic日志退出程序。外部监控磁盘使用状况,定时进行清理磁盘。

2024-05-07 10:16:15 113

原创 openGauss 磁盘空间达到阈值-数据库只读

或者运行中部分非只读SQL(insert、update、create table as、create index、alter table 及copy from等)时报错。使用DROP/TRUNCATE语句删除当前不再使用的用户表,直至磁盘空间使用率小于设定的阈值。删除用户表只能暂时缓解磁盘空间不足的问题,建议尽早通过扩容解决磁盘空间不足的问题。磁盘空间达到阈值后,设置数据库只读,只允许只读语句执行。使用系统用户omm设置数据库只读模式关闭。执行非只读SQL时报错如下。BASH 复制 全屏。

2024-05-07 10:15:18 223

原创 openGauss 处理错误表

在创建外表时,通过设置参数“LOG INTO error_table_name”,将数据导入过程中出现的数据格式错误信息写入指定的错误信息表error_table_name中。您可以根据执行数据导入过程中,界面提示的错误信息,帮助定位问题,处理错误表。在数据源文件中,修改输入字段的数据类型。数据导入过程中发生的错误,一般分为数据格式错误和非数据格式错误。根据获取的错误信息,请对照下表,处理数据导入错误。在数据源文件中,出现数据格式错误的原始记录。在数据源文件中,出现数据格式错误的行号。字段值长度超过限制。

2024-05-07 10:14:46 420

原创 openGauss 出现-Error-No-space-left-on-device-提示

建议定期将审计日志备份到其他存储设备,推荐的日志保留时长为一个月。pg_log存放数据库各进程的运行日志,运行日志可以帮助数据库管理员定位数据库的问题。如果每日查看错误日志并及时处理错误,则可以删除这些日志。通过先备份使用频率较低或者一定时间以前的数据至更低成本的存储介质中,然后清理这些已备份的数据来获取更多的磁盘空间。显示如下信息,其中第一列表示目录或文件的大小,第二列是“/mnt/”目录下的所有子目录或者文件。如果以上方法无法清理出足够的空间,请对磁盘空间进行扩容。使用如下命令查看数据目录大小。

2024-05-07 10:14:10 211

findbugs3.0

findbugs可以查找出代码里面的潜在bug,增加代码的健壮性。 使用方法:下载资源,解压,将解压的文件夹放在eclipse的plugin文件夹下,重启eclipse,右键项目可以看见findbugs就说明可以了。

2015-02-02

数据管理系统

项目j2ee管理系统的demo,包含完整的sql和增删查功能。框架使用springmvc,jar包采用maven管理,view层使用jsp编写,后端使用java编写,删除功能使用Ajax删除数据页面不刷新,查询返回数据使用分页显示,分页使用专门实现的分页类来完成,最大可能的与view层解耦,数据库使用mysql。本项目倾入了本人大量的心血和汗水,希望j2ee学习者能够从中学到技术,有所提高,10分物超所值,你值得拥有。

2014-09-10

简易im gtalk聊天工具源码

基于xmpp和asmack的android安卓客户端及时聊天工具,注意事项,需要搭建openfire服务端,添加用户进行通信。

2014-04-09

安卓简易手电筒androidFlashLight

安卓入门级的小应用,是学习安卓的使用小例子。

2014-04-06

opencv帮助文档

opencv是计算机视觉的重要资源库,里面集成了大量的数学操作的c++函数,翻阅opencv帮助文档能使你快速地学习了解opencv,是opencv学习者必不可少的帮助性文档。

2012-07-20

双边滤波器C++ 代码

主要使用C++ 代码编写 ,仅仅使用了opencv的读入图片和保存图片功能,代码非常优化,易读懂,双边滤波是计算机视觉领域必不可少的技术,最经典的技术,此代码能共助你100%理解双边滤波器的工作原理。

2012-07-20

c++库函数以及文件大全(经典)

c++ STL 标准库函数模板 英文版 超级经典,是作为c++程序员必不可少的 资料

2010-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除