数据库
__海盗__
山寨程序猿
展开
-
Oracle 12c 进程表
为了方便查询,记录下NameExpanded NameShort DescriptionLong DescriptionExternal PropertiesABMRAuto BMR Background ProcessCoordinates execution of tasks such as filte转载 2013-08-06 16:40:17 · 1884 阅读 · 0 评论 -
Oracle bbed的使用(找回DELETE的行)
当一行数据被DELETE掉后,实际并没有删除,而是在相应的标记为打了一删除标记,通过BBED修改这个标记就可以把行数据找回来,下面做这个小实验:1、 创建实验表,并插入一些数据SQL> create tablelihm.t(msg varchar(20),id int) tablespace users;Tablecreated.SQL> insert into lihm.tva原创 2013-08-13 15:02:10 · 872 阅读 · 0 评论 -
Oracle Flashback特性(二)
Flashback table演示: 闪回表要用到UNDO表空间信息,是一个删除新数据,重新插入老数据的过程,因此rowmovement的属性要打开。SQL> select * from lihm.t; ID MSG-------------------- 1 aaa 2 bbb 3 cccSQL> select current_scn f原创 2013-08-14 17:32:47 · 825 阅读 · 0 评论 -
Oracle Flashback特性(一)
Oracle闪回技术 Oracle的闪回技术允许我们查看一个对象之前的状态,而不用做基于时间点的不完全恢复,使用这种技术我们可以:a) 查看当前状态以前的数据b) 查看数据库的修改历史c) 把表或表数据恢复到以前的某个时间d) 自动跟踪并归档事物数据的修改e) 在线回滚事务闪回技术是依赖UNDO数据的,UNDO数据是被持久原创 2013-08-14 13:57:18 · 787 阅读 · 0 评论 -
Oracle 12c 新特性之 In-Database Archiving
In-Database Archiving 允许我们把表内的数据设置为不活跃的状态(INACTIVE),我们可以通过更改会话状态来确定这些INACTIVE的数据是否可见,这个特性可用于历史数据的归档,把这些不可见的数据进行压缩,使用这个特性时,我们需要把表的ROW ARCHIVAL特性打开,通过在SESSION级别设置ROW ARCHIVAL VISIBILITY为ACTIVE或ALL,来确定这些原创 2013-08-07 17:57:09 · 1162 阅读 · 0 评论 -
Oracle 12c 新特性之 Multitenant Architecture (三)
1、 CDB的创建CDB的创建有两种方式,1、使用DBCA2、使用sqlplus因为只用DBCA创建比较简单,基本和创建non-CDB的流程差不多,有几个细微的地方需要特殊设置下,都是图形界面,理解起来简单,所以在这里就不讲解了,下面主要讲如何通过sqlplus来创建。创建一个CDB必须要在CREATEDATABASE命令里指定ENABLE PLUGGABLE DATABASE,有了这原创 2013-08-05 13:23:07 · 1229 阅读 · 0 评论 -
Oracle 利用10053处理不走索引语句一则
语句:select count(1) from DW_PAGE_VIEW_FACT a where a.cookie_id='dd2a760b704e3936';执行计划:SQL> explain plan for select count(1) from DW_PAGE_VIEW_FACT a where a.cookie_id='dd2a760b704e3936';Expl原创 2013-09-22 20:22:37 · 895 阅读 · 0 评论 -
Oracle 在线重定义
在一个高并发的场景中,可能会碰到修改表结构的情况,为了不影响对外服务,可以使用在线重定义的功能,他支持1、基于主键 2、基于rowid的重定义,具体示例如下:-- 1、建立表结构SQL> l 1 CREATE TABLE test( 2 id int primary key, 3 msg1 varchar2(20), 4 msg2 varchar2(30)原创 2013-10-17 18:32:45 · 914 阅读 · 0 评论 -
Oracle rman异机恢复
线上库一张表误操作,要求恢复,但不能在原库进行,通过闪回查询已经得知flashback已经不可能了,因为过去太久了所以需要通过rman备份导入另一台机器还原,然后把相关表导出。恢复过程如下:C:\oracle\product\11.1.0\db_1\BIN>rman target 恢复管理器: Release 11.1.0.6.0 - Production on 星期四 11月 7 16:原创 2013-11-07 17:51:13 · 866 阅读 · 0 评论 -
Oracle ORA-01578坏块处理
维护的一个库出现坏块,执行查询如下:SQL>select * from user_poc;select * from user_pocERROR at line 1:ORA-01578: ORACLE data block corrupted (file# 4, block # 20)ORA-01110: data file 4:'/u02/app/oracle/oradata原创 2013-08-12 17:23:22 · 1305 阅读 · 0 评论 -
Oracle 12c 新特性之 Multitenant Architecture (五)
1、 CDB环境的话的RMAN使用可以使用RMAN连接到CDB进行备份恢复操作,当对整个CDB操作时,可以连接到ROOT容器,当对单个PDB进行操作时,可以连接到具体的PDB,比如我们要备份多个PDB,则需要连接到ROOT执行:BACKUP PLUGGABLE DATABASE newpdb1,newpdb2;当连接到PDB进行操作时有一定的限制,下列操作是不能进行的:a)原创 2013-08-06 14:27:14 · 1070 阅读 · 0 评论 -
Oracle 12c 新特性之 table recovery from rman backups
在12c中,我们可以使用RMAN做表级别的恢复,可以一次恢复单个、多个表、表分区。当恢复的数据比较少而备份非常大时,这个特性能减少我们的工作量,逻辑损坏、误删除更新、DROP等操作带来的数据丢失可以使用这种方法找回来。Table recovery时会经历如下过程:a) 检查恢复的表在哪个备份中,并选择合适的备份b) 创建辅助数据库,并把该库恢复到指定时间,需要DBA指定一个路径原创 2013-08-08 13:59:38 · 1226 阅读 · 0 评论 -
Oracle的健康检查--dbms_hm的使用
这是oracle11g推出的一个新特性,利用这个特性我们可以提前预知一些问题,比如一张表上有个长时间未使用的坏块,在检测出来后我们可以提前修复,我们可以针对数据文件、控制文件、重做日志进行检测,当然我们最关心经常是文件是否损坏,关于检查项目如下:SQL>select * from v$version; BANNER----------------------------------原创 2013-08-09 16:52:12 · 2306 阅读 · 0 评论 -
Oracle 12c 新特性之 Multitenant Architecture (一)
1、 Multitenant Environment直译为多租户环境,是12c的一个新特性,是众多新特性中的一个亮点,我们可以使用这个特性创建一个多租户的容器(container database)CDB来管理多个用户创建的数据库(pluggable database)PDB,这个PDB就是直接为用户服务的数据库,包含schemas objects等信息,在12c之前的数据库都是non-C原创 2013-08-03 10:05:18 · 1931 阅读 · 0 评论 -
Oracle bbed的使用(修改表数据)
BBED(blockbrowser and editor)是Oracle的一个使用工具,可以使用它来研究oracleblock的结构,修改数据块的结构来完成特殊场景下的修复,在oracle10g下可以编译生成,如下:[oracle@hadoop1 lib]$ pwd/u02/app/oracle/product/10.2/db_1/rdbms/lib[oracle@hadoop1 li原创 2013-08-12 11:34:41 · 1246 阅读 · 0 评论 -
Oracle 12c 新特性之 Multitenant Architecture (二)
要使用CDB环境,我们首先要创建一个CDB,其实创建起来是非常简单的,和non-CDB差不多,总的来说有两种方式:(1)使用DBCA的方式,这也是Oracle强烈推荐的一种方式 (2)使用SQLPLUS来创建。在一个CDB中,大部分用户数据是放在PDB中的,只有非常少的数据放在root容器中,一个CDB最多包含253个PDB,并且seed也是算在内的。对于每个容器(rootseed pdbs)原创 2013-08-03 16:30:32 · 1202 阅读 · 0 评论 -
Oracle 12c 新特性之 Multitenant Architecture (四)
按照上篇流程创建好CDB后,就可以往里面添加PDB了,可以使用如下几种方式:a) 以SEED为模板创建PDBb) 以一个已经存在的PDB为模板,创建新的PDBc) 导入一个unplugged PDBd) 使用一个non-CDB来创建一个PDB 当然最简单的方式还是用DBCA,点击几下 next 就可以了,这里我们使用SQL来创建,其实也不麻烦。切记一个CDB原创 2013-08-05 17:25:43 · 983 阅读 · 0 评论 -
Oracle bbed的使用(跨归档恢复)
正常情况下,数据库要打开则数据文件头的SCN号要和控制文件记录的一致(数据文件或表空间离线的情况例外),我们可以利用这个特性,通过修改数据文件头上SCN的方式来跨过相应归档实现不完全恢复,这种方法在非常规的恢复中可能会用到,当然最好还是从备份中恢复,提前做好备份方案,这样心里才有底,下面简单演示如果跨归档恢复,仅仅演示而已,希望生产环境中永远不会碰到。 1、 删除一个数据文件,查看相应S原创 2013-08-12 23:48:21 · 867 阅读 · 0 评论 -
Oracle data recover advisor的使用
11g的新功能,能够给我们提供一些恢复策略,感觉ORACLE越来越智能了,工具使用比较简单1、 查看故障RMAN> list failure;数据库故障列表=========================失败 ID 优先级状态 检测时间 概要--------------- --------- ---------- -------48 HIGH原创 2013-08-09 17:55:25 · 906 阅读 · 0 评论 -
mysql8定位被锁语句
线上mysql版本为8.0.11,对于最近的几个版本越来越像Orale了,有了较为丰富的系统字典,也可以查看系统的等待事件,现在线上出现被锁语句的情况也可以通过数据字典直接查询出来了,在此记录下以供参考。首先查看系统锁情况,下面这条语句可以看到持有锁的线程以及线程ID,这里需要注意下,session_id也就是show processlist查询出来的链接ID,在这个表里表现为PID,同时该表...原创 2019-01-28 14:42:16 · 2929 阅读 · 0 评论