dba

乐视秒杀:每秒十万笔交易的数据架构解读

淺唱寂寞╮ 提交于 2019-12-24 10:41:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定地完成支付尤为重要。所以在2015年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。 一. 分库分表 在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。 在进行数据库操作时,一般都会有用户ID(简称uid)字段,所以我们选择以uid进行分库分表。 分库策略我们选择了“二叉树分库”,所谓“二叉树分库”指的是:我们在进行数据库扩容时,都是以2的倍数进行扩容。比如:1台扩容到2台,2台扩容到4台,4台扩容到8台,以此类推。这种分库方式的好处是,我们在进行扩容时,只需DBA进行表级的数据同步,而不需要自己写脚本进行行级数据同步。 光是有分库是不够的,经过持续压力测试我们发现,在同一数据库中

DM7用户权限管理

有些话、适合烂在心里 提交于 2019-12-17 04:22:24
上一篇分享了dm数据库用户的管理,这篇文章介绍dm权限管理,可以让大家熟悉dm一些相关权限视图,如何授予以及回收权限。 dm数据库权限相关视图与oracle视图兼容,常用的有以下几个视图: DBA_SYS_PRIVS 显示系统中所有传授给 用户或者角色 的权限。 USER_SYS_PRIVS 传授给当前用户的系统权限。 DBA_ROLE_PRIVS 显示系统中的授予用户的所有角色。 USER_ROLE_PRIVS 显示传授给当前用户的角色。 DBA_ROLES 显示系统中所有的角色。 DBA_TAB_PRIVS 显示系统中所有用户的数据库对象权限信息。 USER_TAB_PRIVS 显示当前用户作为对象拥有者、授权者或被授权者的数据库对象权限。结构同DBA_TAB_PRIVS。 用户系统权限授权语法: GRANT <特权> TO <用户或角色>{,<用户或角色>} [ WITH ADMIN OPTION ]; <特权> ::= <数据库权限>{,<数据库权限>}; <用户或角色>::= <用户名> | <角色名 用户对象权限授权语法: GRANT <特权> ON [<对象类型>] <对象> TO <用户或角色>{,<用户或角色>} [ WITH GRANT OPTION ]; <特权>::= ALL [PRIVILEGES] | <动作> {, <动作>} <动作>::=

oracle常见视图

筅森魡賤 提交于 2019-12-16 15:49:14
常见视图 1、查询ASM磁盘可以通过视图V$ASM_DISK;ASM磁盘组则可以通过视图V$ASM_DISKGROUP 2、查询数据库闪回空间的使用情况,可以通过视图V$RECOVERY_FILE_DEST 3、查看当前数据库名:v$instance、v$database 4、查看用户所具有的角色:DBA_ROLE_PRIVS 5、查看用户所具有的系统权限:DBA_SYS_PRIVS 6、查看用户所拥有的对象权限:DBA_TAB_PRIVS 7、查看系统拥有的角色:DBA_ROLES 来源: CSDN 作者: ko_oi 链接: https://blog.csdn.net/ko_oi/article/details/103487701

SQL在线自助查询

旧街凉风 提交于 2019-12-16 10:34:12
数据的日常查询统计分析是高频的需求,然而生产数据库由于安全、管理等方面的要求,仅仅对部分人员开发,例如DBA,总监等, 其他人员都要通过DBA才能查询数据,十分不便。 为了让DBA免于日常繁琐的工作,通过TreeSoft自助在线查询平台,开员人员,运维人员,统计人员可以自行编写SQL并提交,执行查询数据, 导出数据等操作,大大提高工作效率。 同时每个用户都是单独的帐号,登录、操作、SQL命令都有详细日志记录,大大提高数据库管理质量,避免目前数据库访问,使用管理混乱的局面。 来源: https://www.cnblogs.com/treesoft/p/12047310.html

3-MySQL DBA笔记-开发基础

五迷三道 提交于 2019-12-13 18:13:04
第二部分 开发篇 本篇首先讲述数据库开发的一些基础知识,如关系数据模型、常用的SQL语法、范式、索引、事务等, 然后介绍编程开发将会涉及的数据库的一些技巧,最后结合生产实际,提供一份开发规范供大家参考。 第3章 开发基础 本章将为读者介绍MySQL数据库相关的开发基础,首先,介绍一些基础概念,然后讲解关系数据模型和SQL基础。 由于在互联网开发者中,PHP开发者占据了相当大的比重,因此这里也将简要介绍下PHP开发者应该掌握的一些基础知识和开发注意事项。 最后,要接触的是MySQL数据库更深层次的内容——索引、主键、字符集等。 3.1 相关基础概念 (1)框架 在软件开发过程中,研发人员经常借助框架(framework)来辅助自己进行软件开发。 成熟的框架可以帮助处理很多细节性的问题,并完成一些基础性的工作,如生成访问数据库的代码、简化网络编程,这样开发者就会有更多的时间和精力专注于业务逻辑的设计。 但目前仍存在的一个问题是,一些框架对于数据库的使用不符合我们的预期,或者说不友好,故而有必要先了解一下开发框架是如何存取数据的。 大家有兴趣的话,可深入学习和使用如下这些业内使用比较广泛的一些框架,如 Django(Python)、Ruby onRails(Ruby)、Zend Framework(PHP)、Spring(JAVA)等。 (2)数据模型 数据模型(data model

十一、oracle 数据库管理员

爷,独闯天下 提交于 2019-12-07 16:45:07
一、数据库管理员 每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责。那么一个数据库管理员的主要工作是什么呢: 1.安装和升级oracle 数据库 2.建库,表空间,表,视图,索引… 3.制定并实施备份和恢复计划 4.数据库权限管理,调优,故障排除 5.对于高级dba,要求能参与项目开发,会编写sql 语句、存储过程、触发器、规则、约束、包 二、管理数据库的用户主要是sys和system(sys好像是董事长,system好像是总经理,董事长比总经理大,但是通常是总 经理干事) 在前面我们已经提到这两个用户,区别主要是: 1.最重要的区别,存储的数据的重要性不同 sys:所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper角色或权限,是oracle权限最高的用户。 system:用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有dba,sysdba 角色或系统权限。 注意:sysdba可以建数据库,sysoper不能建数据库 2. 其次的区别,权限的不同。 sys用户必须以as

iDB是如何运转的 一

[亡魂溺海] 提交于 2019-12-07 16:33:48
郑昀 创建于2015/12/2 最后更新于2015/12/4 关键词:数据库,MySQL,自动化运维,DDL,DML,SQL审核,备份,回滚,Inception,osc 每个大型互联网公司都有一个数据库自动化运维系统,比如 Qunar 有 Inception(已开源),美团也有,赶集网的3个 DBA 开发了一个变更自助发布系统,淘宝和新浪呢都叫 iDB,腾讯互动娱乐团队有个 TMySQL。 大家都做这件事,一定是因为当数据量大到一定程度,数据重要到一定程度时,online schema change 和刷库不容有失,第一解决锁表问题,不能影响线上业务,第二搞定操作回滚问题,第三解救 DBA 于倒悬。我们的实现请参考《 #研发解决方案#iDB-数据库自动化运维平台 》。 0x00,普通DBA和文艺DBA怎么做SQL审核 无论是 DDL 操作,还是数据订正(也被称为 DML 操作),都涉及 SQL 审核、预执行和数据备份及回滚。 1 ,普通 DBA 青年的做法是: Dev 或 CM 给 DBA 发执行脚本, DBA 肉眼审核, 语法错误/语义错误/不符合规范/…… 驳回,修改,审核,再驳回,……,通过, DBA 执行前做一次全表备份, 援引 Inception 文档的原话: 『 备份是必要的,因为语句在没有执行时,都是想不到它影响会有多大 ,一般是不需要, 而需要时

Master Note: Undo 空间使用率高 (Doc ID 1578639.1)

落爺英雄遲暮 提交于 2019-12-06 06:24:18
Master Note: High Undo Space Usage (Doc ID 1578639.1) APPLIES TO: Oracle Database Cloud Schema Service - Version N/A and later Oracle Database Exadata Cloud Machine - Version N/A and later Oracle Cloud Infrastructure - Database Service - Version N/A and later Oracle Database Backup Service - Version N/A and later Oracle Database Exadata Express Cloud Service - Version N/A and later Information in this document applies to any platform. PURPOSE This troubleshooting guide is to identify high undo usage and correct them. This also lists various known issues on high undo usage and their workarounds

Oracle 12c升级指南 【转载】

限于喜欢 提交于 2019-12-03 14:54:25
http://blog.itpub.net/26736162/viewspace-2639455/ 1. 概述 升级路线图 从18c开始,如果想要直接升级到Oracle 18c,对于源库版本要求越来越高了。Oracle已经彻底放弃了Oracle 11.2.0.3之前版本直接升级到18c。 具体升级路线,请查看下表 当前版本号 说明 12.2.0.1,12.1.0.1, 12.1.0.2 11.2.0.3, 11.2.0.4 支持直接升级到18c 11.2.0.1, 11.2.0.2 11.1.0.6, 11.1.0.7 10.2.0.2,10.2.0.3, 10.2.0.4 和10.2.0.5 10.1.0.5 9.2.0.8及更早版本 不支持直接升级到18c. 解决方法: 1) 只能先升级到支持直接升级到18c的中间版本,然后再次升级到18c 2) 使用数据泵直接将数据迁移到新版本数据库中 源库 过度版本 目标数据库版本 11.2.0.1/11.2.0.2 --> 11.2.0.3/11.2.0.4 --> 18.x 11.1.0.6/11.1.0.7 --> 11.2.0.3/11.2.0.4 --> 18.x 10.2.0.2, 10.2.0.3, 10.2.0.4, 10.2.0.5 --> 11.2.0.3/11.2.0.4/12.1.0.1/12.1.0.2 -->

查看系统中有哪些角色:

匿名 (未验证) 提交于 2019-12-03 00:40:02
查看系统中有哪些角色: select * from dba_roles; 查看角色具有的权限: select * from dba_sys_privs d where d.grantee=‘RESOURCE‘; select * from dba_sys_privs d where d.grantee=‘CONNECT‘; 查看角色具有的系统权限: select * from role_sys_privs d where d.role = ‘TESTROLE‘; 查看角色具有的对象权限: select * from dba_tab_privs d where rownum < 5; 查看用户具有的对象权限: select * from dba_tab_privs d where d.grantee = ‘test‘; 查看一个用户的权限: select * from dba_sys_privs d where d.grantee=‘TEST‘;(dba登陆) 原文:https://www.cnblogs.com/BaiLaowu/p/9278423.html