摘要:        
在启动实例时发现应用数据文件丢失或数据文件头损坏,启动实例会提示如下错误,并只能启动到mount状态。 SQL> startup ORACLE instance started. Total System Global Area 1048059904 bytes Fixed Size 2235000    阅读全文
        
            posted @ 2018-08-02 11:17
屠魔的少年
阅读(328)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
有完整的备份,新的数据库datafile、controfile、logfile所在目录结构和原数据库一样。 创建好adump、bdump、cdump、udump等目录。 1、恢复参数文件。 设置环境变量: export ORACLE_SID=HNCDFHQ 登录RMAN: rman target /    阅读全文
        
            posted @ 2018-08-02 11:01
屠魔的少年
阅读(305)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1、恢复参数文件 设置环境变量: export ORACLE_SID=hncdfhq 登录RMAN: rman target / 在RMAN里把数据库起到nomount状态: startup nomount; 设置DBID: set dbid=3950123605 恢复spfile: restore    阅读全文
        
            posted @ 2018-08-02 10:59
屠魔的少年
阅读(542)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
Redo log 文件损坏或丢失,在启动数据库时在alert日志中会有如下错误: ORA-00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/u01/app/ora    阅读全文
        
            posted @ 2018-08-02 10:58
屠魔的少年
阅读(208)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
如果损坏的是current redo log (select group#,sequence#,archived,status from v$log;) 有两种情况: A、 数据库是正常关闭的。当前日志组的损坏就可以直接用alter database clear unarchived logfile    阅读全文
        
            posted @ 2018-08-02 10:57
屠魔的少年
阅读(290)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
在RMAN执行 delete noprompt archivelog until time 'sysdate-1'; 报错 ORA-00245: control file backup failed; in Oracle RAC, target might not be on shared stor    阅读全文
        
            posted @ 2018-08-02 10:55
屠魔的少年
阅读(1338)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
使用RMAN备份的时候无法正常备份,抛出以下错误: RMAN-03002: failure of backup command at 04/20/2015 18:55:45 RMAN-06059: expected archived log not found, lost of archived l    阅读全文
        
            posted @ 2018-08-02 10:54
屠魔的少年
阅读(1046)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
备份Shell 脚本如下: ######################################################################## ## RAC_hot_database_backup.sh ## ## created by Tianlesoftware #    阅读全文
        
            posted @ 2018-08-02 10:54
屠魔的少年
阅读(725)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
使用RMAN备份数据库到NFS挂载到的本地目录/backup 失败,失败提示如下: RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/22/2013 11:07:46 ORA-19504: failed to crea    阅读全文
        
            posted @ 2018-08-02 10:53
屠魔的少年
阅读(542)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
Oracle 12CR2 中alert.log出现大量的 WARNING: too many parse errors 告警 日志如下: 2018-06-24T17:16:21.024586+08:00 WARNING: too many parse errors, count=3800 SQL h    阅读全文
        
            posted @ 2018-08-02 10:37
屠魔的少年
阅读(5980)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
TreeSoft数据库管理系统 http://www.treesoft.cn    阅读全文
        
            posted @ 2018-08-02 10:31
屠魔的少年
阅读(587)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
参考博客: https://wangfanggang.com/Oracle/sqlcl/ 执行show sqlformat可以看到当前格式化样式为:default 让我们修改下显示结果的样式:set sqlformat ansiconsole 输出成CSV格式set sqlformat csv    阅读全文
        
            posted @ 2018-08-02 10:30
屠魔的少年
阅读(772)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
前提:安装orabbix 好后能正常运行, 检验条件(1). 最新数据有数据 (2).图形有显示 (3).日志不报错 /opt/orabbix/logs/orabbix.log 添加方法: 1.在 /opt/orabbix/conf/query.props 文件中添加SQL查询信息,两处分别都要添加    阅读全文
        
            posted @ 2018-08-02 10:16
屠魔的少年
阅读(1133)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
orabbix报错如下: 2018-07-11 14:35:20,119 [main] ERROR Orabbix - Error on Configurator for database qa-wallet-oracle01 -->No suitable driver found for 2018    阅读全文
        
            posted @ 2018-08-02 09:59
屠魔的少年
阅读(741)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
须知: (1). orabbix使用root用户安装。 (2). orabbix安装在zabbix server端,而不是安装在Oracle端。 1.下载 Orabbix 2. 解压软件 unzip到这个目录: /opt/orabbix 3.复制启动脚本 #cp /opt/orabbix/init.    阅读全文
        
            posted @ 2018-08-02 09:58
屠魔的少年
阅读(1180)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
创建用户: use mysql; grant all privileges on *.* to 'zabbix'@'%' identified by 'zabbixpasswd'; grant all privileges on *.* to 'zabbix'@'localhost' identif    阅读全文
        
            posted @ 2018-08-02 09:56
屠魔的少年
阅读(1191)
评论(0)
推荐(1)
        
        
            
        
        
摘要:        
前提 (1) /etc/hosts 文件如下 [root@testdb ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost loca    阅读全文
        
            posted @ 2018-08-02 09:55
屠魔的少年
阅读(3375)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1.关闭防火墙及selinux systemctl stop firewalld.service systemctl disable firewalld.service sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/confi    阅读全文
        
            posted @ 2018-08-02 09:51
屠魔的少年
阅读(287)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
hash索引只能显示应用于heap引擎表。 索引设计原则: 1.一个索引里包含的列数,最好不要超过5个。 2.一个表的索引数,也不要太多,一般也不要超过5个。 3.联合索引中,把过滤性高(基数大)的列放在前面。 MySQL索引限制: 1.不支持混合顺序。 2.不支持位图索引。 3.不支持函数索引。     阅读全文
        
            posted @ 2018-08-02 09:37
屠魔的少年
阅读(163)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
覆盖索引(convering indexes) 通过索引数据结构,即可直接返回数据,不需要回表。 执行计划中,显式关键字 using index。 假设有这样的索引 indx1(id,user,passwd) 覆盖索引会被用到: 1.SELECT id,user,passwd FROM t1 WHE    阅读全文
        
            posted @ 2018-08-02 09:37
屠魔的少年
阅读(156)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
联合索引(Combined Indexes,Multiple-Cloumn Indexes) 多列组成,所以也叫多列索引。 适合WHERE条件中的多列组合。 有时候还可以用于避免回表(索引覆盖)。 MySQL还不支持多列不同排序规则。 联合索引建议 1.WHERE条件中,经常同时出现的列放在联合索引    阅读全文
        
            posted @ 2018-08-01 15:21
屠魔的少年
阅读(159)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
假设有联合索引 idx1(a,b,c) 下面的SQL可完整用到索引。 1.SELECT ... WHERE b=? AND c=? AND a=?; 2.SELECT ... WHERE b=? AND a=? AND c=?; 3.SELECT ... WHERE a=? AND b IN(?,?    阅读全文
        
            posted @ 2018-08-01 15:21
屠魔的少年
阅读(273)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
前缀索引(prefix indexes) 部分索引的原因: 1.char/varchar太长全部做索引的话,效率太差,存在浪费。 2.或者blob/text类型不能整列作为索引列,因此需要使用前缀索引。 部分索引选择建议: 1.统计平均值。 2.遵循2/8原则。 缺点: 无法使用其前缀索引做ORDE    阅读全文
        
            posted @ 2018-08-01 15:21
屠魔的少年
阅读(629)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
通过索引扫描的记录数超过30%,变成全表扫描。 联合索引中,第一个索引列使用范围查询(这时用到部分索引)。 联合索引中,第一个查询条件不是最左索引列。 模糊查询条件列最左以通配符%开始。 HEAP表使用HASH索引时,使用范围检索或者ORDER BY。 多表关联时,排序字段不属于驱动表,无法利用索引    阅读全文
        
            posted @ 2018-08-01 15:20
屠魔的少年
阅读(312)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
建议使用索引: 1.经常检索的列。 2.经常用于表连接的列。 3.经常排序、分组的列。 不建议使用索引: 1.技术很低的列。 2.更新频繁但检索不频繁的列。 3.BLOG/TEXT等长内容列。 4.很少用于检索的列。 索引的优点: 1.提高数据检索效率。 2.提高表间的JOIN效率。 3.利用唯一性    阅读全文
        
            posted @ 2018-08-01 15:20
屠魔的少年
阅读(518)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
InnoDB主键特点 1.索引定义时,若不显示包含主键,会隐式加入主键值。 2.索引定义时,若显示包含主键,会加入主键值。 3.在5.6.8以后,优化器已能自动识别索引末尾的主键值(Index Extensions),在这之前则需要显式加上主键列才可以被识别 案例:某InnoDB表,没有自增列主键,    阅读全文
        
            posted @ 2018-08-01 15:19
屠魔的少年
阅读(170)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
外键约束(foreign key constraints) 确保存储在外键表中的数据一致性、完整性。 外键前提:本表列须于外键列类型相同(外键须是外表主键)。 外键选择原则 1.为关联字段创建外键。 2.所有的键都必须唯一。 3.避免使用复合键。 4.外键总是关联唯一的键字段。    阅读全文
        
            posted @ 2018-08-01 15:19
屠魔的少年
阅读(178)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
唯一索引(UNIQUE KEY) 不允许具有索引值相同的行,从而禁止重复的索引或键值。 严格意义上讲,应该叫做唯一约束。 在唯一约束上,和主键一样(以MyISAM引擎为代表)。 其他不同的方面: 1.唯一索引允许有空值。 2.一个表只能有一个主键,但可以有多个唯一索引。 3.InnoDB表中主键必须    阅读全文
        
            posted @ 2018-08-01 15:19
屠魔的少年
阅读(149)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1.减少查询对象的数据页(db block)数量。 尽量避免使用 * 用准确的列明减少不必要的一些资源浪费。 2.查看是否使用了index。 索引是SQL性能调优的重要手段,下面几个是有索引不能使用的情况。 (1)在索引列中不进行加工。 (2)不诱导索引列的数据类型转换。 (3)比较null的时候使    阅读全文
        
            posted @ 2018-08-01 15:13
屠魔的少年
阅读(1008)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1.使用or的时候,必须养成两边添加括号,否则结果完全不一样。 2.or条件如果复杂的情况下,可以适当考虑union all改写。    阅读全文
        
            posted @ 2018-08-01 15:12
屠魔的少年
阅读(144)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1.有索引的列最好进行 ‘aa%’形式可以使用一些索引。 2.如果非得进行 ‘%aa%’这种类型查询,那这个条件不要进行主要过滤条件。 意思是这个列如果有索引就不能用索引,即使用了,索引页是进行对整个索引进行全部查找。 3.日期形式的类型,不能进行 ‘20%’ 这种查询,索引将不能使用。    阅读全文
        
            posted @ 2018-08-01 15:11
屠魔的少年
阅读(178)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1.一般来说in比exists更有利(更容易变成join)。 2.尽量避免union,使用union all代替,避免sort。 3,绝对不能在没有on条件下使用join(除非有特殊目的)。 4.outer join的时候注意on和where。    阅读全文
        
            posted @ 2018-08-01 15:10
屠魔的少年
阅读(247)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
排查一般MySQL性能问题,通常要记录下面几项信息: 1、mysql> show processlist; 2、mysql> show engine innodb status\G 3、表ddl 4、有问题的SQL的EXPLAIN执行计划    阅读全文
        
            posted @ 2018-08-01 15:05
屠魔的少年
阅读(368)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
文章参考:LINUX上MYSQL优化三板斧http://blog.sae.sina.com.cn/archives/2482 MySQL 索引原理及慢查询优化https://blog.csdn.net/zhanghongzheng3213/article/details/51722506 B+树索引    阅读全文
        
            posted @ 2018-08-01 14:54
屠魔的少年
阅读(222)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
ARCHAR和CHAR是两种最主要的字符串类型。 VARCHAR: varchar类型选用于存储可变长字符串,需要使用1或者2个额外字节记录字符串的长度,比定长类型更节省空间,因为它仅使用必要的空间(例如越短的字符串使用越少的空间)。由于VARCHAR行是变长的,在UPDATE时可能使行变得比原来更    阅读全文
        
            posted @ 2018-08-01 14:48
屠魔的少年
阅读(295)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
整数通常是标识列最好的选择,因为它们很快并且可以使用auto_increment;千万不要使用enum和set类型作为标识列;尽量避免使用字符串类型作为标识列,因为他们很消耗空间,并且通常比数字类型慢。尤其是在MyISAM表里使用字符串作为标识列时要特别小心,因为MyISAM默认对字符串使用压缩索引    阅读全文
        
            posted @ 2018-08-01 14:48
屠魔的少年
阅读(487)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
1,应该尽量使用可以正确存储的最小数据类型 更小的数据类型通常更快,因为他们占用更小的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更小。 2,简单就好。 简单数据类型的操作通常需要更少的CPU周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比整型更复杂。 3,尽量避    阅读全文
        
            posted @ 2018-08-01 14:48
屠魔的少年
阅读(311)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
物化视图实际上是预先计算并且存储在磁盘上的表,可以通过各种各样的策略刷新和更新。MySQL并不原生支持物化视图。使用开源工具Flexviews可以自己实现物化视图。它由下面这些部分组成: 1)变更数据抓取功能,可以读取服务器的二进制日志并且解析相关行的变更。 2)一系列可以帮助创建和管理视图的定义的    阅读全文
        
            posted @ 2018-08-01 14:47
屠魔的少年
阅读(498)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
在范式化的数据库中,每个事实数据会出现并且只出现一次;相反,在反范式化的数据库中,信息是冗余的,可能会存储在多个地方。 范式化的优点: 1)范式化的更新操作通常比反范式化要快。 2)当数据较好地范式化时,就只有很少或者没有重复数据,所以只需要修改更少的数据。 3)范式化的表通常更小,可以更好地放在内    阅读全文
        
            posted @ 2018-08-01 14:47
屠魔的少年
阅读(286)
评论(0)
推荐(0)
        
        
            
        
        
摘要:        
人们经常使用varchar(15)来存储ip地址,然而,它们实际上是32位无符号整数,不是字符串。 MySQL提供INET_ATON()和INET_NTOA()函数将ip地址在整数和四段表示形式之间进行转换。 把ip地址转换int:mysql> SELECT INET_ATON('192.168.0    阅读全文
        
            posted @ 2018-08-01 14:47
屠魔的少年
阅读(693)
评论(0)
推荐(0)
        
        
 
                     
                    
                 
                    
                 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号