数据库

MongDB简介

China☆狼群 提交于 2020-03-30 07:07:27
一、基本概念 MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C++开发。MongoDB 的官方网站地址是: http://www.mongodb.org/ ,大家可以在此获得更详细的信息。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json 的bjson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立 索引。它是一个面向集合的,模式自由的文档型数据库。 二、对比 MongoDB 关系型数据库 数据存储 面向集合 面向关系表 数据结构 模式自由 二维表关系模式 事务 不支持 支持 大型数据(视频) 很好 一般 大数据量查询(千万条以上) 很好 较差 数据库维护 相对简单 相对复杂 数据及表关系、结构浏览 困难 简单 数据安全性 较差 很好 分布式 很好 一般 查询 非常灵活 非常强大 主外键关联 不支持 支持 索引 支持 支持 存储过程 支持 支持 三、对比说明 1. 数据存储 MongoDB是面向集合

[转帖]安装HANA数据库

爱⌒轻易说出口 提交于 2020-03-30 06:51:03
安装数据库 https://support.huawei.com/enterprise/zh/doc/EDOC1100082491/bc8e25fe 以root用户名登录服务器,打开“Terminal”窗口。 执行 cd 命令切换目录到SAP HANA数据库软件拷贝所在的目录下面,本例是“cd /hana/shared/hana2.0”。 执行 chmod +x * 命令,增加可执行权限。 hw00001:/hana/shared/hana2.0 # chmod +x * 执行 ./SAPCAR_816-80000935.EXE -manifest SIGNATURE.SMF -xvf IMDB_SERVER20_020_0-80002031.SAR 命令解压数据库文件(SAPCAR和IMDB_SERVER的具体版本根据实际需求安装),得到一个 SAP_HANA_DATABASE 目录以及“SIGNATURE.SMF”文件夹。 hw00001:/hana/shared/hana2.0 # ./SAPCAR_816-80000935.EXE -manifest SIGNATURE.SMF -xvf IMDB_SERVER20_020_0-80002031.SAR 执行命令 cp SIGNATURE.SMF SAP_HANA_DATABASE/ 把解压生成的校验文件

使用SQLite的感想

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-30 06:49:10
  最近都在使用SQLite数据库,老实说这才是我使用的第三款数据库而已。使用它原因就应为它够轻量,而且性能挺不错。但使用久了也发现了一些问题。偶尔也会有怨言,但也不会骂SQLite是个破东西之类的,原因又几个:对SQLite的了解不过透彻,使用方式上总有些不妥;自己的资历尚浅,解决问题的能力有限;自己也没本事写出比SQLite更好的数据库。   在网上看了一下SQLite的适用场景。100000次/天访问量的网站,嵌入式设备和应用软件,应用程序文件格式等。但是读数据可时也会抛锁表的异常,SQLite的锁是粗粒度,这个对异常的处理不知如何是好;还有的就是数据库的损坏。Database disk image is malformed。网上说数据库造成数据库损坏的原因有三个 sqlite数据库在写入时断电等,导致数据库里的结果被破坏。 sqlite数据库所存的磁盘空间不够。 磁盘有坏磁道等   之前数据库的损坏估计是第一种原因。而当时又没有对数据进行什么备份。只能人工用.dump命令从损坏的数据库中把数据导出来。这个顺带也讲一下吧 在SQLite的命令模式中打开数据库,依次输入一下命令 sqlite> .mode insert sqlite> .output test.sql sqlite> .dump sqlite> .exit 当然不一定要”.exit”命令,按“Ctrl+C

ORACLE关闭启动的诡异错误

岁酱吖の 提交于 2020-03-30 06:24:52
在自己虚拟机搭建的ORACLE数据库环境下,折腾捣鼓做实验时,不知道什么特殊的改动、操作导致从SQL*PLUS里启动数据库实例时,报如下错误: 然后用startup nomout启动时,任然报ORA-10997,ORA-09968等错误,于是查看了一下ora相关进程,发现数据库的进程都在,也就是说 在某次关闭数据库时,出现了异常导致数据库实例根本没有关闭的情况下出现了该错误( (期间我使用shutdown immediate后,还没看到出结果,一不小心点错了,就将SecureCRT关闭了)) ,于是出现了下面一幕: 于是使用 shutdown immediate 命令关闭数据库,结果报ORA-24324、ORA-24323、ORA-01089等错误 SQL> shutdown immediate; ORA-24324: service handle not initialized ORA-24323: value not allowed ORA-01089: immediate shutdown in progress - no operations are permitted 于是使用shutdown abort命令来关闭数据库,结果报ORA-01031: insufficient privileges 于是通过CRT克隆一个会话后,重新登录数据库,然后使用shutdown

数据库设计方法、规范与技巧

风流意气都作罢 提交于 2020-03-30 06:22:27
一、数据库设计过程   数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。   数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。   1. 需求分析阶段   需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。   需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。   需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。   常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。   分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis

Oracle+sde数据备份、恢复

一笑奈何 提交于 2020-03-30 05:54:17
1.数据库完整备份 EXP SYSTEM/PASSWORD@SID FULL=Y FILE=D:\SYSTEM.DMP LOG=D:\SYSTEM.LOG 2.数据入库 (a)从数据库中删除SDE和SDE USER用户 DROP USER SDE CASCADE; DROP USER SDEUSER CASCADE; (b)创建新的SDE用户和SDEUSER 下为创建SDE用户过程: (i)创建表空间 CREATE TABLESPACE "SDE" LOGGING DATAFILE 'C:\ORACLE\ORADATA\ORACLE\SDE.ora' SIZE 200M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO (ii)创建用户 CREATE USER "SDE" PROFILE "DEFAULT" IDENTIFIED BY "PASSWORD" DEFAULT TABLESPACE "SDE" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK; (iii)创建角色 GRANT "DBA" TO "SDE"; GRANT "CONNECT" TO "SDE"; GRANT "RESOURCE" TO "SDE"; (iiii)系统权限 GRANT ALTER ANY INDEX

系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明

两盒软妹~` 提交于 2020-03-30 04:13:25
1.简介: 作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的: EXEC sp_MSforeachtable @command1="print '?' DBCC CHECKTABLE ('?')" 系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程,从mssql6.5开始。存放在SQL Server的MASTER数据库中。可以用来对某个数据库的所有表或某个SQL服务器上的所有数据库进行管理,后面将对此进行详细介绍。 2.参数说明: @command1 nvarchar(2000), --第一条运行的SQL指令 @replacechar nchar(1) = N'?', --指定的占位符号 @command2 nvarchar(2000)= null, --第二条运行的SQL指令 @command3 nvarchar(2000)= null, --第三条运行的SQL指令 @whereand nvarchar(2000)= null, -

SQL server 数据库中dbo的含义

筅森魡賤 提交于 2020-03-30 04:04:25
question SELECT * FROM [database].[dbo].[t_1] where xh not (SELECTxh FROM [database1].[dbo].[t_1]) df. dbo是:每个数据库的默认用户,具有所有者权限,全称: datebaseOwner ,即DbOwner 。 所有者:在数据库中,新建对象时,默认对象的 所有者 为当前登录的账号。如果通过用dbo作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称;否则可能查不到表,存储过程等。 ex. 你以User1登录进去并建表Table,而未指定dbo, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。 如果你建表时把所有者指给了dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。 不光表是如此,视图等数据库对象建立时也要如此才算是好。 所以在创建对象时,指定所有者为dbo,任何一个用户都可以引用。 建表、存储过程、视图等数据库对象时,其对应的所有者是创建它的用户。则除了该用户其他登录用户要引用这些东东时,都要加上前缀,很是麻烦。而且,程序因此易出错,你查来查去问题确出在这,浪费你时间。 来源: https://www.cnblogs.com

MSSQL 2005 数据库变成可疑状态

荒凉一梦 提交于 2020-03-30 04:00:54
公司新搬家,这几天网络动震不堪,昨天还没来及关上电脑,电工刹的一间就把电源切断了。 重启后发现本地网卡不正常了,疑似坏了,领了无线网卡,往USB接口一插,将就用着了。 今天打开项目运行,发现黄色页面,日志报错,无法链接,打开SQL一看,数据库变成了“三角惊叹号+数据库名+(可疑)”了! 于是,内事不决问Baidu,得出以下几条信息,执行一下好了,特此记录一下: 1、修改数据库为紧急模式 ALTER DATABASE 数据库名 SET EMERGENCY 2、使数据库变为单用户模式 ALTER DATABASE 数据库名 SET SINGLE_USER 3、修正数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象不正确。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修正报告的不正确。但是,这些修正可能会导致一些数据丢失。 DBCC CheckDB (数据库名 , REPAIR_ALLOW_DATA_LOSS) 4、使数据库变回为多用户模式 ALTER DATABASE 数据库名 SET MULTI_USER 执行完一下这四条,恢复正常了,后面的重启服务可以省了。 来源: https://www.cnblogs.com/cyq1162/archive/2010/08/14/1799640.html

Redis学习十:Redis的复制(Master/Slave)【重要】

女生的网名这么多〃 提交于 2020-03-30 02:28:40
一、是什么 官网 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 二、能干嘛 读写分离 容灾恢复 三、怎么玩 1.配从(库)不配主(库) 2.从库配置:slaveof 主库IP 主库端口 说明: 每次与master断开之后,都需要重新连接,除非你配置进redis.conf文件 Info replication 3.修改配置文件细节操作 【1】拷贝多个redis.conf文件 【2】开启daemonize yes 【3】Pid文件名字 【4】指定端口 【5】Log文件名字 【6】Dump.rdb名字 4.常用3招 【1】一主二仆 Init 一个Master两个Slave 日志查看 主机日志 备机日志 info replication 主从问题演示 1 切入点问题?slave1、slave2是从头开始复制还是从切入点开始复制?比如从k4进来,那之前的123是否也可以复制 2 从机是否可以写?set可否? 3 主机shutdown后情况如何?从机是上位还是原地待命 4 主机又回来了后,主机新增记录,从机还能否顺利复制? 5 其中一台从机down后情况如何?依照原有它能跟上大部队吗? 【2】薪火相传 上一个Slave可以是下一个slave的Master