2017 演讲人 : 杨建荣

Similar documents
通过Hive将数据写入到ElasticSearch

目錄

幻灯片 1

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

一步一步教你搞网站同步镜像!|动易Cms

Oracle 4

untitled

基于UML建模的管理管理信息系统项目案例导航——VB篇

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Oracle高级复制冲突解决机制的研究

PowerPoint Presentation

ebook 96-16

<4D F736F F D C2D6CCA5BBE1BFAF2D2D2D2DD7EED6D5B0E62D2DC4BFC2BC2E646F63>

`






ù `


10 1



ù





1 1









`

Microsoft Word - 新疆银行业金融机构小微企业金融服务产品汇编.doc

穨九十年普通版.PDF




目 录 第 五 部 分 报 价 邀 请 第 六 部 分 供 应 商 须 知 附 表 第 七 部 分 评 审 方 法 和 评 分 细 则 第 八 部 分 项 目 需 求 和 服 务 方 案 要 求 1

威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

面 试 后 根 据 总 成 绩 ( 笔 试 成 绩 面 试 成 绩 各 占 50%, 总 成 绩 相 同 时 按 笔 试 成 绩 排 名 ) 按 招 聘 计 划 1:1 的 比 例 确 定 体 检 考 察 对 象 参 照 公 务 员 录 用 体 检 通 用 标 准 ( 试 行 ) 和 浙 江 省 公

Partition Key: 字 符 串 类 型, 表 示 当 前 Entity 的 分 区 信 息 这 个 Property 对 于 Table Service 自 动 纵 向 和 横 向 扩 展 至 关 重 要 Row Key: 字 符 串 类 型, 在 给 定 Partition Key 的

國家圖書館典藏電子全文

starter_pdfmerge

< FB14EA5D028B2C4A447A6B8B4ABC0C9295FB05DAC46B3A1A4BDB0C8ADFBB9EFA644A8C6B0BBAC64C576AF715FA4BAADB D6D5FB3E6A6E22E696E6464>

回滚段探究

Microsoft Word 二專招生簡章_全_.doc

Flume-ng与Mysql整合开发

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

今天 年春季号 总 92 期

*

( ) / / / / / / /

(Microsoft Word - 8\244T\244\362\277\337\272]\244W\265L\246W.doc)

Microsoft Word - 專家本色 doc


但, 你 应 该 听 过 我 们 走 在 大 路 上 这 首 歌, 或 许 还 知 道 革 命 人 永 远 是 年 轻 那 支 歌 ; 并 且, 几 乎 可 以 肯 定, 你 在 戴 红 领 巾 的 那 阵, 必 然 唱 过 牛 儿 还 在 山 坡 吃 草, 放 牛 的 却 不 知 道 哪 儿 去

2 临 终 助 念 答 问 序 临 终 关 怀, 由 佛 门 净 宗 古 来 祖 师 大 德 提 倡 助 念 往 生, 现 今 已 渐 为 社 会 大 众 所 重 视, 在 台 湾, 台 大 长 庚 等 各 大 医 院, 也 都 设 有 助 念 室 ; 大 陆 上 许 多 道 场, 也 有 专 为

校园之星

<4D F736F F F696E74202D FA8BEA861B8EAB7BDBEE3A658BB50C0B3A5CE28B773A6CBA5AB29>


之 原 則 及 國 防 部 訂 頒 國 軍 列 管 國 有 不 動 產 提 供 非 軍 方 單 位 使 用 處 理 原 則 規 定 不 符, 仍 應 以 出 租 方 式 辦 理 惟 可 就 偏 遠 地 區 提 供 官 兵 金 融 水 電 服 務 使 用 部 分, 研 議 降 低 租 金 標 準, 報

chineseall

釋禪波羅蜜次第法門

证券代码: 证券简称:锦江股份 公告编号:【】

1700 装 卸 搬 运 7645 装 卸 搬 运 服 务 2100 建 筑 7410 工 程 服 务 11% 装 卸 搬 运 服 务, 是 指 使 用 装 卸 搬 运 工 具 或 者 人 力 畜 力 将 货 物 在 运 输 工 具 之 间 装 卸 现 场 之 间 或 者 运 输 工 具 与 装 卸

前 言 教 育 无 小 事, 它 成 就 着 学 生 的 未 来 作 为 教 师, 他 们 无 时 无 刻 不 在 关 注 着 学 生 的 成 长 学 生 的 未 来 学 生 就 像 一 朵 含 苞 待 放 的 花 朵, 需 要 老 师 们 的 细 心 呵 护, 给 学 生 需 要 的 东 西, 而

《盗墓笔记》 南派三叔/著

<CFFBB7D1D5DFD0D0CEAAD1A72E6D7073>

独立学院建设与发展


Microsoft Word - 澎湖田調報告-宏達組9804.doc

平 凡 足 迹 李 本 川 作 者 为 中 国 科 学 院 海 洋 研 究 所 研 究 员,1935 年 生, 山 东 荣 成 人 我 今 年 63 岁 了 大 前 年 丈 夫 和 儿 子 在 一 个 月 内 先 后 离 开 了 人 世, 女 儿 又 已 出 嫁, 现 在 是 孑 然 一 身 我 是

幻灯片 1

<4D F736F F D20CDA8D3C3B9E6B7B6BABAD7D6B1ED5FB0B4B1E0C2EBC5C5C1D05F2E646F63>

123

是 证 券 市 场 的 后 来 者, 但 在 前 景 广 阔 的 道 路 上 前 行, 终 将 成 为 这 个 市 场 的 领 先 者, 这 里 会 给 你 一 个 巨 大 的 舞 台, 这 里 有 你 需 要 的 机 会, 这 里 欢 迎 优 秀 的 你! 二 招 收 条 件 1. 遵 守 国 家

123

支付宝2011年 IT资产与费用预算

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

Microsoft Word 中的文档

<4D F736F F D20BBB7BEB3D0C5CFA2CFB5CDB3CAFDBEDDBFE2B7C3CECABDD3BFDAB9E6B7B6A3A8B1A8C5FAB8E5A3A E646F63>

untitled


計畫書封面範例

電機工程系認可證照清單 /7/1

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

未命名

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

教 学 目 标 描 述 主 要 数 据 库 对 象 创 建 表 描 述 列 定 义 时 可 用 的 数 据 类 型 改 变 表 的 定 义 删 除 改 名 和 截 断 表 描 述 每 个 DML 语 句 插 入 行 到 表 中 更 新 表 中 的 行 从 表 中 删 除 行 描 述 约 束 创 建

untitled

基于ECO的UML模型驱动的数据库应用开发1.doc

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

Transcription:

演讲人 : 杨建荣

个人介绍 - 杨建荣 Oracle ACE DBAplus 联合发起人 YEP 成员 Oracle 10g OCP,OCM MySQL OCP 对 shell, Java 有一定的功底 <<Oracle DBA 工作笔记 作者 曾在中国数据库大会,Oracle 嘉年华,QCon 演讲 坚持每天写点东西, 已连续坚持 1200 多天 微信公众号 (jianrong-notes)

入行时难忘的一个坑 MySQL 重启 看似没有技术含量, 危机四伏 Slave 节点宕机 重新搭建 Slave 节点 Master 节点开启 Log_bin 重启 应用连接异常 数据字典异常

学习建议 x$kcbsw 结构包含了 Oracle 处理一个 会话逻辑 I/O 所需的所有命名函数 在 11.2.0.3 版本, 我曾指出有 1164 个命名函数, 但看看运行在 64 位 OEL(Oracle 企业版 Linux 操作系统 ) 上的 12.1.0.1 版本, 这个数字是 1300 这一变化对本书内容来说有多大区别? 对普通 Oracle 专业人士呢? 答案是 没有区别! Jonathan Lewis

懂得权衡 学习 Oracle 时要懂得权衡 大部分时候, 只要大体知道引擎是如何工作的就足够了, 偶尔才需要知道一些世界上只有一小部分人才会知道的精确资料 注意, 不要浪费时间去研究不必要的细节, 而是要找到折中的办法, 使你所掌握的知识足以预判 Oracle 在你没见过的场景中会怎样做

MySQL 被收购后开发团队成员去向

现如今的 MySQL

分享脉络 数据管理 :MySQL 无法创建表的问题 架构设计 : MySQL 中需要注意的字段长度 开发扩展 : 数值类型在 binlog 中需要注意的细节 前瞻 : 关于时间类型的默认值 综合能力 :Oracle 跨平台迁移方案优化

管理 :MySQL 无法创建表的问题 CREATE TABLE `QRTZ_JOB_DETAILS` (`SCHED_NAME` varchar(120) NOT NULL); ERROR 1005 (HY000): Can't create table 'xxx.qrtz_job_details' (errno: 150) 创建 10 多个表, 只有 2 个表创建失败了, 可重现 问题初步原因猜测 : ü 大小写 ü 数据类型 ü 触发器 ü 外键 ü bug

临时解决方案 > create table QRTZ_JOB_DETAILSS(id int); Query OK, 0 rows affected (0.13 sec) > create table qrtz_job_details(id int); Query OK, 0 rows affected (0.13 sec)

第三方工具的神助攻 DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`; Navicat 工具 SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;

架构设计 :MySQL 中需要注意的字段 长度 MySQL 里面的页的单位是 16k, 使用了 IOT 的方式来存储 字符集,latin1,gbk,utf8 使用了 varchar 类型, 如果指定为 gbk, 表里含有一个字段, 可以指定为 32766 字节, 如果再长一些就不行了 gbk 类型, 行长度最大为 65535, 则 varchar 列的最大长度算法就是 (65535-2)/2 =32766.5, 所以此处就是 32766

> create table test_char(v varchar(32766)) charset=gbk; Query OK, 0 rows affected (0.00 sec) > create table test_char1(v varchar(32767)) charset=gbk; ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

> create table test_char1(v varchar(32767)) charset=latin1; Query OK, 0 rows affected (0.01 sec) > create table test_char2(v varchar(65535)) charset=latin1; ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs (65535-2)/3 ~ 21844

> create table test_char2(v varchar(21844)) charset=utf8; Query OK, 0 rows affected (0.00 sec) > create table test_char3(v varchar(21845)) charset=utf8; ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

衍生问题? 如果是 gbk 字符集, 含有下面的几个字段, 则 memo 字段的 varchar 类型最大长度是多少? create table test_char3(id int,name varchar(20),memo varchar(xxxx)) charset=gbk; 数值型 4 个字节, 字符型乘以 2, 含有字符型的长度小于 255, 所以减去 1 即可, 这样下来就是 (65535-1-4-20*2-2) 约等于 32743

开发扩展 : 数值类型在 binlog 中需要 注意的细节 类型名称 有符号数 (signed) 无符号数 (Unsigned) tinyint -129~127 0~255 smallint -32768~32767 0~65535 mediumint -8388608~8388607 0~16777215 int(integer) -2147483648~2147483647 0~4294967295 bigint -9223372036854775808~ 9223372036854775807 0~184467440737095516 15 MySQL 的 binlog 里面是否会区分 signed 还是 unsigned 呢, 如果不区分, 这类问题该怎么应对

进制转换 > select conv(-1,10,2); +------------------------------------------------------------------+ conv(-1,10,2) +------------------------------------------------------------------+ 1111111111111111111111111111111111111111111111111111111111111111 +------------------------------------------------------------------+ > select conv(18446744073709551615,10,2); +------------------------------------------------------------------+ conv(18446744073709551615,10,2) +------------------------------------------------------------------+ 1111111111111111111111111111111111111111111111111111111111111111 +------------------------------------------------------------------+ 从机制转换的结果来看, 两者是没有差别的, 如果是实际的场景中, 这可是天壤之别

上手练习 create table t1 (id int unsigned not null auto_increment primary key, col1 bigint unsigned, col2 bigint signed) engine=innodb; insert into t1 (col1, col2) values (18446744073709551615, - 1); flush logs; > select * from t1; +----+----------------------+------+ id col1 col2 +----+----------------------+------+ 1 18446744073709551615-1 +----+----------------------+------+

解析 binlog mysqlbinlog -vv binlog.000031 ### INSERT INTO test.t1 ### SET ### @1=1 /* INT meta=0 nullable=0 is_null=0 */ ### @2=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ ### @3=-1 (18446744073709551615) /* LONGINT meta=0 nullable=1 is_null=0 */ # at 268 #170519 18:54:47 server id 13386 end_log_pos 295 Xid = 76 COMMIT/*!*/; 对于 binlog 中, 有符号数和无符号数都会按照无符号数来转换 配合 information_schema 来查看

前瞻 : 关于时间类型的默认值 MySQL 5.5 CREATE TABLE `test_user` ( `openid` varchar(64) NOT NULL, `amount` varchar(11) DEFAULT 0, `create_time` datetime DEFAULT CURRENT_TIMESTAMP, `update_time` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`openid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ERROR 1067 (42000) at line 1: Invalid default value for 'create_time MySQL 5.6 Query OK, 0 rows affected (0.13 sec)

MySQL 5.5 对于时间类型的测试 >create table test(col1 datetime DEFAULT CURRENT_TIMESTAMP); ERROR 1067 (42000): Invalid default value for 'col1 > create table test(col1 datetime DEFAULT ''); ERROR 1067 (42000): Invalid default value for 'col1 > create table test(col1 datetime DEFAULT 2015-11-23 18:31:25 ); Query OK, 0 rows affected (0.02 sec) -- 奇怪 default 的动态默认值是在 5.6.5 开始支持

datetime 和 timestamp 的存储占用空间不同, datetime 占用 8 个字节,timestamp 占用 4 个字节, timestamp 支持的时间范围要窄一些 范围为 : 1970-01-01 08:00:01 到 2038-01-19 11:14:07 而 datetime 支持的时间范围则要大很多 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 解决方法 : 取消默认值, 修改字段类型改为 timestamp

综合案例 :Oracle 跨平台迁移方案 优化

不断的拆分, 力求可控

人才的评价标准 微软的人才评价标准 1. 迅速掌握新知识的能力 2. 仅需片刻思考即可提出尖锐问题的能力 3. 可以在不同的领域知识中找出它们之间的联系 4. 扫视一眼即可用通俗语言解释软件代码的能力 5. 关注眼前问题的执行力 ( 怎么解决, 解决方法 ) 6. 非常强的集中注意力的能力 7. 对自己过去的工作依然记忆犹新 8. 注重实际的思想观念, 善于表达, 勇于面对挑战 快速反应

积累自己的知识体系

矛盾和困扰并存, 用心掌握