数据库文件

postgreSQL 时间线

筅森魡賤 提交于 2019-11-27 05:07:24
“时间线”(Timeline)是PG一个很有特色的概念,在备份恢复方面的文档里面时有出现。但针对这个概念的详细解释却很少,也让人不太好理解,我们在此仔细解析一下。 时间线的引入 为了理解引入时间线的背景,我们来分析一下,如果没有时间线,会有什么问题?先举个将数据库恢复到以前时间点的例子。假设在一个数据库的运行过程 中,DBA在周三12:00AM删掉了一个关键的表,但是直到周五中午才发现这个问题。这个时候DBA拿出最初的数据库备份,加上存在归档目录的日志文 件,将数据库恢复到周三11:00AM的时间点,这样就能正常启动和运行。但是,DBA后来意识到这样恢复是不对的,想恢复到周四8:00AM的数据,这 时会发现无法做到:因为在数据库不断运行中,会产生与旧的WAL文件重名的文件,这些文件进入归档目录时,会覆盖原来的旧日志,导致恢复数据库需要的 WAL文件丢失。为了避免这种情况,需要区分原始数据库历史生成的WAL文件和完成恢复之后继续运行产生的(重名的)新WAL文件。整个过程如图1所示: 为了解决这个问题,PostgreSQL引入了时间线的概念。每当归档文件恢复完成后,创建一个新的时间线用来区别新生成的WAL记录。WAL文件名由时间线和日志序号组成,源码实现如下: #define XLogFileName(fname, tli, log, seg) \ snprintf(fname,

WARNING: pgstat wait timeout

独自空忆成欢 提交于 2019-11-27 05:05:42
在ELK的邮件报警中,发现了一个 WARNING: pgstat wait timeout 的报错信息,看字面意思是pgstat有关操作等待超时。 通过google查询,发现在pg的邮件列表中提到多数为io不足引起的,通过sar命令,查看当时的io情况,发现io的使用率在80%-100%之间。暂时以io不足导致的,网上也有提到其他原因,像是ip地址问题,像是stats_temp_directory参数配置问题,当前由于是运行已久的数据库,并检查相关参数后,排除以上原因。 由于报错的是pgstat,又了解到现网的pg版本是9.0,在stats_temp_directory中的pgstat文件只有一个,在pg9.3后,进行了切分,每一个库一个,外加一个全局pgstat文件,从来减少了io的开销。 在stats_temp_directory中存放的统计信息文件是临时的,在数据库关闭或crash的情况下,会保存到pg_stat目录中,进行持久化落盘。 转载于:https://www.cnblogs.com/xiaotengyi/p/9641732.html 来源: https://blog.csdn.net/weixin_30340745/article/details/99429910

Oracle 归档日志

限于喜欢 提交于 2019-11-27 04:47:51
archive log list; #查看是否是归档方式 alter system set log_archive_start=false scope=spfile; #禁用自动归档 shutdown immediate; startup mount; #打开控制文件,不打开数据文件 (如果此处是Windows 系统,连接服务失败,具体解决办法就是在默认的Oracle监听(listener.ora)文件中静态注册存在的数据库服务https://www.cnblogs.com/mawanglin2008/p/3420411.html) alter database noarchivelog; #将数据库切换为非归档模式 alter database open; #将数据文件打开 archive log list; #查看此时便处于非归档模式 来源: https://blog.csdn.net/qq_30189805/article/details/99288755

SQL SERVER 2008 R2 错误代码 17000 - 17999

冷暖自知 提交于 2019-11-27 04:20:07
错误 严重性 是否记录事件 说明(消息正文) 17000 10 否 用法: sp_autostats <table_name> [, {ON|OFF} [, <index_name>] ] 17001 16 是 无法针对会话句柄 '%s' 发送类型为 '%s' 的事件通知实例。错误代码 = '%s'。 17002 16 是 无法发布 QUEUE_ACTIVATION 事件。错误代码: '0x%s'。 17003 16 是 由于以下错误,导致关闭了句柄为 '%s' 的事件通知会话端点: '%.*ls'。 17004 16 是 对话句柄 '%s' 的事件通知会话关闭,且未提供任何错误消息。 17005 16 是 由于发送时间 Service Broker 错误,导致数据库 '%ls' 中的事件通知 '%ls' 被删除。请进行检查,确保事件通知中指定的会话句柄、Service Broker 约定以及服务都是活动的。 17049 16 是 由于出现操作系统错误 '%s',无法将错误日志文件从 '%ls' 循环到 '%ls'。SQL Server 外部的进程可能会阻止 SQL Server 读取这些文件。因此,错误日志条目可能已丢失,并且或许不可能查看某些 SQL Server 错误日志。请确保任何其他进程都未将该文件锁定为只写访问。 17051 16 是 SQL Server 评估期已过。

使用Dreamweaver cs6定义PHP站点

ⅰ亾dé卋堺 提交于 2019-11-27 04:05:03
因为 PHP 文件需要由 Web 服务器处理,所以您需要将测试服务器的位置告知 Dreamweaver 。您还需要告诉 Dreamweaver 测试文件时要使用的正确 URL。以下说明假设您已经按上述部分 中 的描述在自己的计算机上设置一个本地测试环境。 理论上,您可以找到计算机上任何位置的 PHP 文件,当使用“实时视图”或“在浏览器 中 预览”时, Dreamweaver 会将它们复制到测试服务器。但是,这会为每个文件生成两个相同的副本。一般将项目文件存储在测试服务器的文档根 中 文件夹 中 ,您在本教程 中 也将这样做。 顺便说一下,开发PHP站点,需要先安装xamp,iis,wampserver包括Apache服务器,MySQL,以及PHPmyadmin的安装,安装具体过程(这里省略) 最后把文件安装在一个文件目录,C盘,或者D盘。 文档根的 URL 为 http://localhost/ 。 在 Dreamweaver 中 ,选择“站点”>“新建站点”。 在“站点名称”文本框 中 ,键入站点名称,如 PHP Test Site 。该名称用于在 Dreamweaver 中 识别此项目。 单击“本地站点文件夹”文本框旁的文件夹图标,浏览到测试服务器的文档根。 创建一个名为 php _test的文档根的子文件夹并选择它。 依次单击“打开”和“选择”(Mac 上是“选取”)。

ERP 系统数据库设计规范

大城市里の小女人 提交于 2019-11-27 03:23:34
数据库设计规范是个技术含量相对低的话题,只需要对标准和规范的坚持即可做到。当系统越来越庞大,严格控制数据库的设计人员,并且有一份规范书供执行参考。在程序框架中,也有一份强制性的约定,当不遵守规范时报错误。 以下20个条款是我从一个超过1000个数据库表的大型ERP系统中提炼出来的设计约定,供参考。 1 所有的表的第一个字段是记录编号Recnum,用于数据维护 [Recnum] [decimal] (8, 0) NOT NULL IDENTITY(1, 1) 在进行数据维护的时候,我们可以直接这样写: UPDATE Company SET Code='FLEX' WHERE Recnum=23 2 每个表增加4个必备字段,用于记录该笔数据的创建时间,创建人,最后修改人,最后修改时间 [CreatedDate] [datetime] NULL, [CreatedBy] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL, [RevisedDate] [datetime] NULL, [RevisedBy] [nvarchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL 框架程序中会强制读取这几个字段,默认写入值。 3 主从表的主外键设计 主表用参考编号RefNo作为主键

使用scrapy框架爬取全书网书籍信息。

好久不见. 提交于 2019-11-27 03:21:44
爬取的内容:书籍名称,作者名称,书籍简介,全书网5041页大约16万条数据,写入mysql数据库和.txt文件 1,创建scrapy项目 scrapy startproject numberone 2,创建爬虫主程序 cd numberone scrapy genspider quanshuwang www.quanshuwang.com 3,setting中设置请求头 USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36" 4,item中设置要爬取的字段 class NumberoneItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() book_author = scrapy.Field() book_name = scrapy.Field() book_desc = scrapy.Field() 5,quanshuwang.py主程序中写获取数据的主代码 # -*- coding: utf-8 -*- import scrapy from numberone

用户注册(一)之注册页面以及图形验证码

时光怂恿深爱的人放手 提交于 2019-11-27 02:59:17
一、用户模型设计(用户表的设计)   1. 用户表字段分析     1)用户名     2)密码     3)手机号     4)邮箱     5)邮箱是否有效   2. 用户模型设计     django设计模型开发效率极高,内置了许多功能,包括权限验证等等,也有自定义的User模型。     因此我们需要继承已经写好的抽象模型类AbstractBaseUser,它有已经封装好的各种方法,约定俗成的凡是抽象模型类起名都以Abstract来开头,但是判断该模型类是否是抽象模型类的依据是,类中需要定义 class Meta: abstract = True     这才证明它是一个抽象模型类。               在我们继承了django自带的用户模型类之后,我们使用时进行扩充字段即可。   3. 在User这个app中的models.py页面来填写我们的需要的User模型类     1) 继承抽象模型类 ,添加用户新字段,重写管理器,方便我们创建用户,并制定我们的User模型使用我们自定义的管理器 # user/models.py 文件from django.db import models from django.contrib.auth.models import AbstractUser, UserManager as _UserManager # Create

数据库存储引擎

泪湿孤枕 提交于 2019-11-27 02:37:23
数据库存储引擎 对于初学者来说我们通常不关注存储引擎,但是 MySQL 提供了多个存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。 存储引擎简介 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 存储引擎说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。 InnoDB InnoDB是一个健壮的事务型存储引擎,这种存储引擎已经被很多互联网公司使用,为用户操作非常大的数据存储提供了一个强大的解决方案。我的电脑上安装的 MySQL 5.6.13 版,InnoDB就是作为默认的存储引擎。InnoDB还引入了行级锁定和外键约束,在以下场合下,使用InnoDB是最理想的选择: 更新密集的表。InnoDB存储引擎特别适合处理多重并发的更新请求。 事务

Redis的那些最常见面试问题

不想你离开。 提交于 2019-11-26 23:45:43
  1.什么是redis?    Redis 是一个基于内存的高性能key-value数据库。    2.Reids的特点      Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性      能最快的Key-Value DB。    Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消      息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。    Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。    3.使用redis有哪些好处?    (1) 速度快,因为数据存在内存中,类似于HashMap