Oracle 体系结构
文章平均质量分 78
李-磊
这个作者很懒,什么都没留下…
展开
-
Oracle数据库中索引的维护
一. 查看系统表中的用户索引 在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。 一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用原创 2012-08-21 10:01:16 · 199 阅读 · 0 评论 -
升级GLIBC,导致库文件出错
上周在debian下安装winrar,要求升级glibc到2.4,而deiban4.0自带的glibc是2.3.6版本的(可是/lib/libc.so.6 查看版本).就按着提示直接用apt-get安装glibc,没装成功反而导致无法进入系统。开机的时候加载一半时候,提示/lib/tls/i686/cmov/libc.so.6共 享链接文件无法加载。可能是之前升级库文件没有成功的原因.后来用ubu原创 2012-10-29 10:28:07 · 828 阅读 · 0 评论 -
oracle中如何移动控制文件,数据文件,日志文件
ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。windows环境中用: host copy 或 host move 其它均相同。以下是unix或linux环境中,一.移动数据文件:ALTER TABLESPACE方法(联机状态):用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。$ sqlplus原创 2012-10-19 13:23:59 · 468 阅读 · 0 评论 -
oracle坏块检测工具:DBV
1 定义 oracle的坏块可分为物理坏块和逻辑坏块。坏块损坏信息类似为: ORA-01578: ORACLE data block corrupted (file # 6, block # 11) ORA-01110: data file 6: '/u01/app/oracle/oradata/orcl/tbs01.dbf'原创 2012-10-18 10:50:01 · 503 阅读 · 0 评论 -
Oracle怎样标记坏块及一次数据恢复
Oracle数据文件的坏块,可分为物理坏块和逻辑坏块。物理坏块(也可以称为介质坏块)指的是块格式本身是坏的,块内的数据没有任何意义。而逻辑坏块,指的是块内的数据在逻辑是存在问题。比如说索引块的索引值没有按从小到大排列。物理坏块一般是由于内存问题、OS问题、IO子系统问题和硬件引起,逻辑坏块一般是是由于Oracle Bug等原因引起。Oracle数据文件的每个块,其块头为20字节。其定义如下原创 2012-10-18 11:02:56 · 365 阅读 · 0 评论 -
据库运维原则
一、数据库运维工作总原则 1、能不给数据库做的事情不要给数据库,数据库只做数据容器。2、对于数据库的变更必须有记录,可以回滚。二、权限相关总原则,以最低粒度控制权限。SELECT权限:所有开发人员均可拥有自己业务范围内的表权限。INSERT/UPDATE/DELETE权限:所有项目经理可以拥有自己业务范围内的表权限。Structure权限:数据库管理员可以拥有。原创 2012-10-10 14:29:02 · 598 阅读 · 0 评论 -
分表处理设计思想和实现
一、概述分表是个目前算是比较炒的比较流行的概念,特别是在大负载的情况下,分表是一个良好分散数据库压力的好方法。首先要了解为什么要分表,分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程:接收到SQL --> 放入SQL执行队列 --> 使用分析器分解SQL --> 按照分析结果进行数据的提取或者修改 --> 返回处理结果当然,这个流程图不一定正确,这只原创 2012-10-10 10:10:49 · 270 阅读 · 0 评论 -
分布式设计与开发 memcached分布式
memcached是应用最广的开源cache产品,它本身不提供分布式的解决方案,我猜想一方面它想尽量保持产品简单高效,另一方面cache的 key-value的特性使得让memcached分布式起来比较简单。memcached的分布式主要在于客户端,通过客户端的路由处理来搭建 memcached集群环境,因此在服务端,memcached集群环境实际上就是一个个memcached服务器的堆积品,环境原创 2012-09-10 11:25:24 · 331 阅读 · 0 评论 -
Oracle 基于用户管理的不完全恢复
Oracle 数据恢复从恢复类型来说,抛开具体的文件,总共可分为两大类型的恢复,一是完全恢复,一个是不完全恢复。其实,熟悉了Oracle体系结构之后,对于Oracle恢复就会有一个总体的概念。因为Oracle组成的外围部分,主要由不同的文件来组成,每种不同类型的文件有不同的作用,因此只要了解了其作用,更利于了解与掌握Oralce数据库的备份与恢复。言归正传,完全恢复即是把数据库恢复到最新的原创 2012-08-28 14:30:44 · 524 阅读 · 0 评论 -
11g密码过期问题
11g密码过期问题开发反映,应用帐号即将过期,提示修改密码,登录数据库查看用户状态为LOCKED(TIMED)sys@TYOLAP1(dtydb3)>select * from dba_profiles order by 1;PROFILE RESOURCE_NAME RESOURCE LIMI原创 2012-08-28 14:26:31 · 201 阅读 · 0 评论 -
Oracle经典面试题
1、对数据库SQL2005、ORACLE熟悉吗? SQL2005是微软公司的数据库产品。是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。 ORACLE是ORACLE公司的数据产品,支持海量数据存储,支持分布式布暑,支持多用户,跨平台,数据安全完整性控制性能优越,是一个ORDBMS,一般用在大型公司。 2、能不能设计数据库?如何实现数据库导入与导出的原创 2012-09-06 10:25:52 · 181 阅读 · 0 评论 -
11gR2 基于ASM磁盘组的数据库恢复
这篇文章使用最简单的备份恢复的例子讨论11gR2中基于ASM磁盘组的数据库恢复内容。i&eEn6e,Y}(d}0ITPUB个人空间'A4Y)s'w:rS@H+oQ#C%mC[root@redhat6 ~]# su - grid[grid@redhat6 ~]$ sqlplus / as sysdbaITPUB个人空间9P$`x9i6r7[SQL*Plus原创 2012-08-27 16:39:18 · 614 阅读 · 0 评论 -
全球级的分布式数据库 Google Spanner原理
Google Spanner简介Spanner 是Google的全球级的分布式数据库 (Globally-Distributed Database) 。Spanner的扩展性达到了令人咋舌的全球级,可以扩展到数百万的机器,数已百计的数据中心,上万亿的行。更给力的是,除了夸张的扩展性之外,他还能 同时通过同步复制和多版本来满足外部一致性,可用性也是很好的。冲破CAP的枷锁,在三者之间完美平衡原创 2012-11-28 14:38:24 · 184 阅读 · 0 评论 -
哈希技术在广东电信公话200话单处理中的应用
哈希技术在广东电信公话200话单处理中的应用马根峰 (广东电信公用电话管理中心 广州 510635) 摘要 在电信领域,处理上亿条记录的大型话单文件是经常的。如何对大型文件按照一些指标(如电话号码,卡号)进行统计,这是一件相当复杂的工作。而哈希表是数据结构中的重要概念之一,由于它在记录查找时一次存取便能得到所查记录,所以在电信领域中对大型话单文件进行原创 2012-11-15 13:14:09 · 319 阅读 · 0 评论 -
统一数据库互联(UDBC)的设计和实现
一、传统DB访问接口缺点 众所周知,数据库的类型很多,常见的有Oracle、DB2、SQL Server、MySQL、Informix等等,但是不同的数据库拥有着不同的访问方式。如:可通过PRO*C、OCI访问Oracle;可通过ESQL访问DB2和Informix;可通过MySQL API访问MySQL等等。 可是,往往完成基于某一种数据库的程序开发后,要切换至其他数原创 2012-11-16 15:19:15 · 544 阅读 · 1 评论 -
Oracle轻松取得建表和索引的DDL语句
我们都知道在9i之前,要想获得建表和索引的语句是一件很麻烦的事。我们可以通过export with rows=no来得到,但它的输出因为格式的问题并不能直接拿来用。而另一种方法就是写复杂的脚本来查询数据字典,但这对于一稍微复杂的对象,如IOT和嵌套表等,还是无法查到。从数据字典中获得DDL语句是经常要用的,特别是在系统升级/重建的时候。在Oracle 9i中,我们可以直接通过执行dbms_原创 2013-09-24 13:19:05 · 326 阅读 · 0 评论 -
Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
一. 什么时候需要实例恢复 在shutdown normal or shutdown immediate下,也就是所谓的clean shutdown,checkpoint也会自动触发,并且把SCN纪录写回。 当发生checkpoint时,会把SCN写到四个地方: 三个地方于control file内:(1)SYSTEM CHECKPOINT SCN(2)Datafi原创 2013-09-13 20:08:10 · 240 阅读 · 0 评论 -
Oracle DDL锁介绍
在DDL操作中会自动为对象加DDL锁(DDL Lock),从而保护这些对象不会被其他会话所修改。例如,如果我执行一个DDL操作ALTERTABLE T,表T上就会加一个排他DDL锁,以防止其他会话得到这个表的DDL锁和TM锁。在DDL语句执行期间会一直持有DDL锁,一旦操作执行就立即释放DDL锁。实际上,通常会把DDL语句包装在隐式提交(或提交/回滚对)中来执行这些工作。由于这个原因,在Oracl原创 2013-09-10 10:56:20 · 335 阅读 · 0 评论 -
Oracle DML锁介绍
DML锁(DML Lock)用于确保一次只有一个人能修改某一行,而且你正在处理一个表时别人不能删除这个表。在你工作时,Oracle会透明程度不一地为你加这些锁。 首先说第一种DML锁,事务锁。 事务发起第一个修改时会得到TX锁(事务锁),而且会一直持有这个锁,直至事务执行提交(COMMIT)或回滚(ROLLBACK)。 TX锁用作一种排队机制,使得其他会话可以等原创 2013-09-10 10:55:29 · 251 阅读 · 0 评论 -
Oracle 分区表 总结
一. 分区表理论知识 Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指原创 2013-07-04 09:46:36 · 184 阅读 · 0 评论 -
日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)
--==================================================-- 日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)--================================================== 一、日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)转载 2013-07-03 09:14:43 · 204 阅读 · 0 评论 -
丢失的修改、不可重复读、读脏数据、幻影读
常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。丢失修改下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。考虑飞机订票系统中的一个活动序列:甲售票点(甲事务)读出某航班的机票余额A,设A=16.乙售票点(乙事务)读出同一航班的机票余额A,也为16.甲售票点卖出一张机票,修改余额A←A-1原创 2013-07-01 08:52:15 · 243 阅读 · 0 评论 -
oracle 中的CR块详解+
1、概述Cr块consistent read块也就是用来维护oracle的读一致性的数据块。当查询某些数据的时候,发现数据块的版本比我们要查询的新,例如session1执行了dml操作并没有提交,session2此时查找跟session1相关的dml操作的数据信息,此时查询的数据却是原来的数据信息。查询的过程会在undo段中查找该数据块的前映像后,然后把前映像和cu原创 2013-06-28 13:01:32 · 174 阅读 · 0 评论 -
O7_DICTIONARY_ACCESSIBILITY&REMOTE_OS_AUTHENT
O7_DICTIONARY_ACCESSIBILITY 控制具有ANY OBJECT权限的用户 对SYS模式下的OBJECT是否具有访问,修改权限。这个参数默认为FALSE,如果这个参数为TRUE,那么SYS也不需要 写 as sysdba 就可以登录 数据库 SQL> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=原创 2013-06-28 23:17:50 · 179 阅读 · 0 评论 -
Oracle常用系统表
1.系统表 ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。几个重要的表或者视图如下: v$controlfile:控制文件的信息; v$datafile:数据文件的信息; v$log:日志文件的信息; v$process:处理器的信息; v$session:会话信息; v$transaction:事务信息;原创 2013-01-23 15:20:35 · 168 阅读 · 0 评论 -
列式数据库
概述 列式数据库是以列相关存储架构进行数据存储的数据库,主要适合与批量数据处理和即席查询。相对应的是行式数据库,数据以行相关的存储体系架构进行空间分配,主要适合与小批量的数据处理,常用于联机事务型数据处理。描述 数据库以行、列的二维表的形式存储数据,但是却以一维字符串的方式存储,例如以下的一个表: EmpIdLastname原创 2012-12-14 15:35:14 · 316 阅读 · 0 评论 -
Oracle-Flashback使用 -01
记录级别 :Flashback version query , flashback transaction query表级别 :flashbackup drop , flashback table数据块级别:flashback database (只有这个需要DBA介入) 1.flashback database(RVWR)à这个依赖于fla转载 2012-08-14 14:00:27 · 284 阅读 · 0 评论 -
RMAN 命令整理
1、SHOW命令:显示rman配置: RMAN> show all;2、REPORT命令:2.1、RMAN> report schema 报告目标数据库的物理结构;2.2、RMAN>report need backup days=3; 报告最近3天没有被备份的数据文件;2.3、RMAN> report need backup days 3 tablespace users; 在原创 2012-08-27 10:54:56 · 200 阅读 · 0 评论 -
创建数据库链接(dblink)步骤
1.CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘数据库连接字符串’; 可以像这样: create database link orcl2 connect to user identified by pwd using '(DESCRIPTION = (ADDRESS_LIST原创 2012-09-05 09:59:22 · 228 阅读 · 0 评论 -
ORACLE LOGMINER 日志分析使用简单步骤
本身这个步骤很多高手都已经贴过了,只是我在使用中发现大体上大家写的都有些复杂,于是,我总结了个超级简化版的,方便大家使用:1.安装LOGMNR包,需要本步骤没什么可多说的,只是需要注意在连接数据库的时候默认最好使用本地验证方式C:\>sqlplus /nologSQL> conn / as sysdbaSQL> @D:\oracle\product\10.2.0\db_2\RD原创 2012-08-17 14:14:19 · 238 阅读 · 0 评论 -
Windows平台下Oracle重建控制文件不能运行的解决方法
在Windows下面重建控制文件之后,跑脚本跑不起来SQL> startup nomount;ORACLE 例程已经启动。Total System Global Area 612368384 bytesFixed Size 1292036 bytesVariable Size原创 2012-08-17 14:13:40 · 279 阅读 · 0 评论 -
Mysql命令
一、表的连接:连接:---->内连接(相当于取交集)mysql> select *from users;+------+------+| uid | name |+------+------+| 500 | u1 | | 501 | u2 | | 503 | u3 | | 504 | u4 |原创 2012-08-17 14:11:05 · 180 阅读 · 0 评论 -
ora-3136报错
最近收到一个告警,用户说数据库无法连接,但是从监控上看,oracle的后台进程已经侦听进程还是在的,没有任何的alert。登录数据库,已经恢复正常,但是在数据库的alertlog中发现大量的ora-3136的报错:Thu Feb 17 09:07:31 2011WARNING: inbound connection timed out (ORA-3136)Thu原创 2012-08-17 14:15:29 · 427 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,InsertINTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO原创 2012-08-17 14:14:58 · 203 阅读 · 0 评论 -
Oracle存储过程创建及调用
在大型数据库系统中,有两个很重要作用的功能,那就是存储过程和触发器。在数据库系统中无论是存储过程还是触发器,都是通过SQL 语句和控制流程语句的集合来完成的。相对来说,数据库系统中的触发器也是一种存储过程。存储过程在数据库中运算时自动生成各种执行方式,因此,大大提高了对其运行时的执行速度。在大型数据库系统如Oracle、SQL Server中都不仅提供了用户自定义存储过程的功能,同时也提供了许原创 2012-08-17 14:16:32 · 260 阅读 · 0 评论 -
使用sqlplus/mysql 导出数据为excel或html
通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求。本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件.首先创建两个脚本:1.main.sql 用以设置环境,主要调用具体脚本2.get_tables.sql 为获取具体数据之脚本get_table.sql脚本内容:select owner,table_name,tablespa原创 2012-08-16 09:41:20 · 506 阅读 · 0 评论 -
OSC实现原理剖析-更改大数据量的表的结构
一 、背景在我们的数据库操作中,更改表结构是一个常见的操作,而当我们的表数据量非常大时,我们更改表结构的时间是非常的长,并且在跟改期间,会生成一个互斥锁,阻塞对整个表的所有操作,这样,对于我们线上数据来说是无法容忍的,而我们怎么能在线修改表结构而不影响线上业务呢?这就本文所要介绍的Online Schema Change(简称:OSC)在我们的以前做法中,为了不影响线上业务,我原创 2012-08-16 09:45:26 · 259 阅读 · 0 评论 -
使用oracle发送电子邮件
使用oracle的存储过程,调用oracle的相关包,进行电子邮件的发送。实现将有关的信息发送给相关人员的目的。SQL> exec procsendemail('hello','hello test oracle email','huangxc@hthorizon.com','hxcqu3000@hotmail.com','mail.hthorizon.com',25,1,'huangxc原创 2012-08-16 09:43:34 · 194 阅读 · 0 评论 -
DBMS_CRYPTO包对Oracle加密
在Oracle10g之前,只能使用DBMS_OBFUSCATION_TOOLKIT包来实现数据加密解密。从10g开始可以使用dbms_crypto来实现加密和解密,并且此方法更为方便快捷。通过建立一个包CRYPT_PKG来实现数据的加密解密:SQL> CREATE OR REPLACE PACKAGE crypt_pkg IS 2 typ PLS_INTEGER原创 2012-08-15 10:47:07 · 310 阅读 · 0 评论 -
Oracle数据库文件迁移步骤
(1)首先确认需要迁移的数据库文件SQL> select name from v$controlfile; NAME----------------------------------------- D:\ORACLE\ORADATA\XSFREE\CONTROL01.CTLD:\ORACLE\ORADATA\XSFREE\CONTROL02原创 2012-08-15 10:46:39 · 319 阅读 · 0 评论