Oracle 基础知识
文章平均质量分 74
leishifei
这个作者很懒,什么都没留下…
展开
-
关于LOG_ARCHIVE_DEST_n参数
PropertyDescriptionParameter typeStringSyntaxLOG_ARCHIVE_DEST_[1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10] ={ null_string | { LOCATION=path_name | SERVICE=service_name } [ { MANDATORY | OPTIONAL } ] [ REOPEN[=seconds] ] [ DELAY[=minutes] ] [ NOREGIST原创 2011-03-13 18:04:00 · 723 阅读 · 0 评论 -
Oracle listener动态注册与静态注册
<br />一.什么是注册<br /> 注册就是将数据库作为一个服务注册到监听程序。客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库。这个服务名可能与实例名一样,也有可能不一样。<br /> 在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务(无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务。)<br /> 相当于是这样:在数据库服务器和客户端之间有一监听程序(Listener),在监听程序中,会记录原创 2011-03-20 15:55:00 · 262 阅读 · 0 评论 -
Oracle 游标(Cursor)
Cursors<br />A cursor is a handle or name for a private SQL area—an area in memory in which a parsed statement and other information for processing the statement are kept.<br />Although most Oracle users rely on the automatic cursor handling of the Oracle原创 2011-05-08 11:00:00 · 238 阅读 · 0 评论 -
Oracle Memory Structures
<br />Oracle Memory Structures<br />oracle 9i<br /><br /><br />oracle 10gR2<br /><br /><br />oracle 11gR1<br /><br /><br />oracle 11gR2<br /><br />原创 2011-05-08 13:07:00 · 271 阅读 · 0 评论 -
Oracle数据库维护常用SQL语句集合--性能相关
<br />Oracle数据库维护常用SQL语句集合--性能相关<br /><br />性能相关<br /><br />1、捕捉运行很久的SQL <br />column username format a12<br />column opname format a16<br />column progress format a8<br />SELECT username,<br /> sid,<br /> opname,<br /> Round(sofar * 100原创 2011-05-08 15:47:00 · 281 阅读 · 0 评论 -
Oracle TX锁 相关的3个SQL语句
<br />查看当前用户TX锁<br />SELECT username,<br /> v$lock.sid,<br /> Trunc(id1 / Power(2, 16)) rbs,<br /> Bitand(id1, To_number('ffff', 'xxxx')) + 0 slot,<br /> id2 seq,<br /> l原创 2011-05-09 15:34:00 · 413 阅读 · 0 评论 -
关系数据库设计范式
<br />关系数据库设计范式简介<br /> 关系数据库中的关系必须满足一定的要求,即满足不同的范式。 <br /> 目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 第一范式(1NF)无重复的列<br /> 所谓第一范式(1NF)是指转载 2011-05-11 22:00:00 · 348 阅读 · 1 评论 -
Oracle中的临时表浅析
<br />Oracle中的临时表<br /> <br />CREATE GLOBAL TEMPORARY TABLE TABLENAME (<br /> COL1 VARCHAR2(10),<br /> COL2 NUMBER<br />) ON COMMIT PRESERVE(DELETE) ROWS ;<br />--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)<br />--------------------------原创 2011-05-12 06:14:00 · 268 阅读 · 0 评论 -
数据库的几个基本概念,数据,对象,实体,属性,数据模型
人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。 一、三个世界 1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。 2、概念世界 概念世界是原创 2011-05-12 22:15:00 · 1803 阅读 · 0 评论 -
Oracle 设置环境变量NLS_LANG(客户端的环境变量)
<br />NLS_LANG格式:<br />NLS_LANG=LANGUAGE_TERRITORY.Client CHARACTERSET<br /><br />1、NLS_LANG 参数组成<br />NLS_LANG参数由以下部分组成:<br />NLS_LANG=<Language>_<Territory>.<Clients Characterset> <br />NLS_LANG各部分含义如下:<br />LANGUAGE指定:<br /> Oracle消息使用的语言<br /> 日期中月份和日显原创 2011-03-24 12:48:00 · 515 阅读 · 0 评论 -
Oracle中的Schema和User浅析
<br />Oracle中的Schema和User浅析<br />在产品detail拆分项目中,由于需要将原来的Product表拆分为Product、Product_detail两个表,数据库采取的方法是新建了一个Schema——alibaba1949。对schema不了解,现在也对其进行了一点学习。<br />Oracle数据库中Schema和User的关系是一一对应的,也就是说一个Schema只对应一个User,一个User对应一个Schema。Oracle中,schema是与拥有此schema的use原创 2011-05-19 06:02:00 · 487 阅读 · 0 评论 -
Oracle 10g RAC Server-Side TAF配置
<br /> <br />使用Server-Side TAF必须配置Service。Service可以在创建数据库时创建,也可以在数据库创建之后修改;既可以通过配置向导也可以通过命令行方式配置。下面演示采用通过命令行手工配置Service的过程。<br /><br />l 用srvctl命令配置Service<br />这种方法对于远程维护尤其有用。无论是创建还是维护都使用一个命令srvctl,先来看看有关srvctl命令的语法。<br />$ srvctl -h --这是我从真实的RAC系统原创 2011-05-19 13:38:00 · 1004 阅读 · 0 评论 -
LOG_ARCHIVE_DEST_1 和 STANDBY_ARCHIVE_DEST
LOG_ARCHIVE_DEST_1 和 STANDBY_ARCHIVE_DESTSTANDBY_ARCHIVE_DEST is used when logs are transmitted automatically from theprimary database. We use this parameter to determine where these logs should be placed.LOG_ARCHIVE_DEST is the location where we look for原创 2011-05-17 11:00:00 · 525 阅读 · 0 评论 -
Oracle RAC Failover 之Client-Side Connect Time Failover 与TAF(Transparent Application Failover) 配置
<br />Oracle RAC Failover 之Client-Side Connect Time Failover 与TAF(Transparent Application Failover) 配置<br /><br /><br />ORCL_CL =<br /> (DESCRIPTION =<br /> (ADDRESS = (PROTOCOL = TCP)(HOST = nodea-vip)(PORT = 1521))<br /> (ADDRESS = (PROTOCOL = TCP原创 2011-05-19 10:28:00 · 422 阅读 · 0 评论 -
数据库启动各阶段监听器状态变化
<br />首先listener.ora配置如下:<br />SID_LIST_LISTENER =<br /> (SID_LIST =<br /> (SID_DESC =<br /> (SID_NAME = PLSExtProc)<br /> (ORACLE_HOME = /orainst/product/10/db_1)<br /> (PROGRAM = extproc)<br /> )<br /> (SID_DESC =<br /> (GLO原创 2011-03-31 15:02:00 · 361 阅读 · 0 评论 -
Oracle RAC 参数文件内容
<br />orcl1.__db_cache_size=4093640704<br />orcl2.__db_cache_size=4160749568<br />orcl1.__java_pool_size=67108864<br />orcl2.__java_pool_size=50331648<br />orcl1.__large_pool_size=16777216<br />orcl2.__large_pool_size=16777216<br />orcl1.__shared_pool_size原创 2011-04-01 22:19:00 · 363 阅读 · 0 评论 -
Oracle RAC listener.ora文件
<br /><br />SID_LIST_LISTENER_RACDB_A =<br /> (SID_LIST =<br /> (SID_DESC =<br /> (SID_NAME = PLSExtProc)<br /> (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)<br /> (PROGRAM = extproc)<br /> )<br /> )<br />LISTENER_RACDB_A =<br原创 2011-04-01 22:22:00 · 557 阅读 · 0 评论 -
Oracle RAC tnsnames.ora文件
<br />LISTENERS_ORCL =<br /> (ADDRESS_LIST =<br /> (ADDRESS = (PROTOCOL = TCP)(HOST = racdb_a-vip)(PORT = 1521))<br /> (ADDRESS = (PROTOCOL = TCP)(HOST = racdb_b-vip)(PORT = 1521))<br /> )<br />ORCL2 =<br /> (DESCRIPTION =<br /> (ADDRESS = (PRO原创 2011-04-01 22:23:00 · 708 阅读 · 0 评论 -
Oracle体系结构之-逻辑结构
<br />一、Oracle 逻辑结构简介<br />oracle的逻辑结构包括表空间(tablespace),段(segment),数据块(data block)以及模式对象(schema)。<br />oracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段。段由区组成,区是磁盘分配的最小单位。段的增大是通过增加区的个数来实现的。每个区的大小是数据块大小的整数倍,区的大小可以不相同;数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空原创 2011-04-02 21:52:00 · 202 阅读 · 0 评论 -
Oracle体系结构之-物理结构
<br />一、物理文件的分类<br />Oracle数据库的物理文件可以分成三类:<br />·数据文件<br />·日志文件<br />·控制文件<br /> <br />二、数据文件<br />数据文件顾名思义是用来存储数据的。例如:表,索引等等。从数据文件中读取出来的数据会首先存放在内存中的SGA,作为缓冲数据。应用对数据的修改也是先保持在SGA中。由DBWR在某一时刻将其写入到数据文件中。<br />那么如何查看数据库中的数据文件呢?我们可以使用以下的SQL语句:<br />SQL>select原创 2011-04-02 21:56:00 · 224 阅读 · 0 评论 -
Oracle体系结构之-内存结构
<br />一、系统全局区(SGA)<br />系统全局区的数据被多个用户共享。当数据库实例启动时,系统全局区内存被自动分配。SGA按作用的不同,又分为:数据缓冲区、日志缓冲区、共享池。<br />1. 数据缓冲区<br />数据缓冲区用于存储从磁盘数据文件中读入的数据,供所有用户共享。修改、插入的数据存储在数据缓冲区中,修改完成或DBWR进程执行时,数据被写入数据文件。对于缓冲区中已经被修改但尚未写入文件的数据,我们称之为“脏数据”。Oracle采用LRU(最近最少用)算法来管理数据缓冲区中的数据。<br原创 2011-04-02 21:59:00 · 225 阅读 · 0 评论 -
Oracle体系结构之-Oracle后台进程
<br />Oracle的实例由内存结构和一组后台的进程组成,Oracle的后台进程比较重要的包括以下几个:<br />·SMON<br />·PMON<br />·DBWR<br />·LGWR<br />·ARCH<br />·CKPT<br />下面我们将逐一介绍各个进程的作用。<br /> <br />一、SMON<br />SMON(System Monitor)-系统监控进程,在实例启动时执行实例恢复,并负责清理不再使用的临时段。<br />SMON进程要完成所有“系统级”任务。PMON感兴趣的原创 2011-04-02 22:01:00 · 200 阅读 · 0 评论 -
Oracle 内存结构-读书小记
Oracle's three major memory structures:• System Global Area (SGA): This is a large, shared memory segment that virtually allOracle processes will access at one point or another.• Process Global Area (PGA): This is memory that is private to a single process原创 2011-04-02 22:23:00 · 225 阅读 · 0 评论 -
About Oracle RESETLOGS
<br />The RESETLOGS option is always required after incomplete media recovery or recovery<br />using a backup control file. Resetting the redo log does the following:<br /> <br />Archives the current online redo logs (if they are accessible) and then erase原创 2011-05-22 12:16:00 · 296 阅读 · 0 评论 -
使用ora_rowscn识别误操作数据时间点
<br />今天,客户说有几个数据表误操作导入了一批新的数据,现在需要把这些数据找出来。<br /><br />如果没有明显的字段可以识别,那么ora_rowscn可以作为一个参考,以下这个查询就可以通过SCN和数据识别,将后来增加的记录找出来:SQL> select gro_id,ora_rowscn from bms_group;<br /><br /> GRO_ID ORA_ROWSCN<br />---------- ----------<br /> 284 584845289<转载 2011-05-26 16:59:00 · 475 阅读 · 0 评论 -
UNDO 表空间浅析
Undo 数据的作用:1. 回退事务通过rollback语句可以取消事务变化2. 读一致性commit提交后3. 事务恢复例程恢复的一部分4. 倒序查询从过去的某个时间点查询配置Undo表空间:n undo_management (auto,manual)n undo_tablespace可以创建多个undo talbespace,但同一时刻只有一个有效(active)undo_management = auto;undo_tables原创 2011-04-04 17:05:00 · 344 阅读 · 0 评论 -
00054:resource busy and acquire with nowait specified
<br />当某个数据库用户在数据库中插入、更新、删除一个表的数据,或者增加一个表的主键时或者表的索引时,<br />常常会出现ora-00054:resource busy and acquire with nowait specified这样的错误。<br />主要是因为有事务正在执行(或者事务已经被锁),所有导致执行不成功。<br /> <br />1、用dba权限的用户查看数据库都有哪些锁<br />select t2.username,t2.sid,t2.serial#,t2.logon_time原创 2011-04-05 22:12:00 · 214 阅读 · 0 评论 -
数据库事务的ACID属性
事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性: · 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标。原子性消原创 2011-04-04 10:07:00 · 232 阅读 · 0 评论 -
Oracle DBWn CKPT LGWR进程之间的合作
<br /><br />DBWn:数据库块写入器(Database Block Writer)负责将脏块写入磁盘的后台进程。 <br />CKPT:检查点进程(Checkpoint Process)只是更新数据文件的文件首部,以辅助建立检查点的进程(DBWn)。 <br />LGWR:日志写入器(Log Writer)负责将SGA中重做日志缓冲区的内容刷新输出到磁盘。 <br /> <br />其实这三个进程都是为了更好地完成一件事:安全高效地实现内存数据块写入数据文件,就是将内存中修改的数据反映到原创 2011-04-08 21:23:00 · 419 阅读 · 0 评论 -
Oracle ASM配置使用FTP和HTML访问ASM
XML Database (XDB)使我们能够使用FTP和HTML协议访问和管理ASM磁盘组中的文件,可以方便的浏览和移入和移出。1. 查看当前的监听端口信息:$ lsnrctl statusLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 04-NOV-2010 10:42:52Copyright (c) 1991, 2007, Oracle. All rights reserved.Connecting to (ADDRESS=(PROTOCO原创 2011-04-06 16:43:00 · 523 阅读 · 0 评论 -
How to map SCN with Timestamp before 10g? [ID 365536.1]
<br />How to map SCN with Timestamp before 10g? [ID 365536.1]<br /> <br />-------------------------------------------------------------------------------<br /> Modified 16-MAY-2006 Type HOWTO Status PUBLISHED<br /> <br />In this Document<br /> Go原创 2011-04-08 14:42:00 · 204 阅读 · 0 评论 -
Oracle redo undo commit rollback剖析
<br />redo-->undo-->datafile <br />insert一条记录时,表跟undo的信息都会放进 redo 中,在commit 或之前,redo 的信息会放进硬盘上。故障时,redo便可恢复那些已经commit了的数据。<br /><br />redo-><br />每次操作都先记录到redo日志中,当出现实例故障(如断电),导致数据未能更新到数据文件,则数据库重启时须redo,重新把数据更新到数据文件。<br /><br />undo-><br />记录更改前的一份copy,但你系原创 2011-04-08 22:29:00 · 384 阅读 · 0 评论 -
Oracle Redo Log Buffer的大小设置
<br /><br />Redo Log Buffer的大小由初始化参数LOG_BUFFER定义,该参数的缺省值为Max(512KB,128KB*CPU_COUNT)。通常这一缺省值是足够的,我们知道,Redo Log Buffer的写出操作是相当频繁的,所以过大的Log Buffer设置通常是没有必要的;如果缺省值不能满足要求,一般来说3MB是一个较为合理的调整开端。<br />log_buffer参数的设置是否需要调整,可以从数据库的等待事件来判断:<br />sys@ORCL> select eve原创 2011-04-08 22:46:00 · 1961 阅读 · 0 评论 -
Oracle的基础问题segment extent block
<br />l extent和segment的关系<br />每个extent 的oracle block 的数目是由extent的大小/DB_BLOCK_SIZE 确定的,extent 大小是由创建或修改segment 的SQL 语句中storage子句中的initial, next, pctincrease等参数确定。<br /><br />每个segment中的extent的数目是一个动态扩展的值, 最大值由创建或修改该segment的SQL语句的storage子句中的maxextents 值确定。<原创 2011-04-06 10:29:00 · 340 阅读 · 0 评论 -
What's the difference between BLOCKS columns in DBA_TABLES & DBA_SEGEMENTS?
<br />The BLOCKS and EMPTY_BLOCKS values in DBA_TABLES are only updated when you analyze your table. BLOCKS indicate the number of used data blocks in the table (below the HWM), while EMPTY_BLOCKS shows the number of empty (never used) data blocks in the t原创 2011-04-06 12:15:00 · 228 阅读 · 0 评论 -
ALTER TABLE的用法 增加列、删除列、改列名、改列约束、改表名
<br />ALTER TABLE<br />名称<br />ALTER TABLE — 更改表属性<br />语法<br />ALTER TABLE table [ * ]<br /> ADD [ COLUMN ] column type<br />ALTER TABLE table [ * ]<br /> ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }<br />ALTER TABLE table [ * ]<br /转载 2011-05-25 15:06:00 · 487 阅读 · 0 评论 -
Oracle的SCN机制浅析
<br />Oracle的SCN机制<br /><br />SCN(System Chang Number)作为oracle中的一个重要机制,在数据恢复、Data Guard、Streams复制、RAC节点间的同步等各个功能中起着重要作用。理解SCN的运作机制,可以帮助你更加深入地了解上述功能。<br /><br />在理解SCN之前,我们先看下oracle事务中的数据变化是如何写入数据文件的:<br /><br />1、事务开始;<br /><br />2、在buffer cache中找到需要的数据块,如原创 2011-05-26 22:08:00 · 357 阅读 · 0 评论 -
Oracle 10g 手动创建scott/tiger schema操作过程
<br />Oracle 10g 手动创建scott/tiger schema操作过程<br /><br />$ sqlplus /nolog<br /><br />SQL*Plus: Release 10.2.0.4.0 - Production on Tue May 24 00:58:29 2011<br /><br />Copyright (c) 1982, 2007, Oracle. All Rights Reserved.<br /><br />idle> conn /as sysdba<br原创 2011-05-24 14:10:00 · 329 阅读 · 0 评论 -
ALTER DATABASE 与 ALTER TABLESPACE OFFLINE的区别
ALTER DATABASE 与 ALTER TABLESPACE OFFLINE的区别 <br />一.DataFile脱机或联机的两种方法:<br /> ① ALTER DATABASE 语句修改单独的DataFile<br /> ② ALTER TABLESPACE 语句修改所有的DataFile<br /> <br /> 1、在ARCHIVRLOG模式下的更改DataFile状态<br /> ALTER DATABASE DATAFILE '/u02/oracle/rbdb1转载 2011-05-25 11:23:00 · 275 阅读 · 0 评论 -
SQLSERVER ORACLE MYSQL高效分页查询
<br />SQLSERVER ORACLE MYSQL高效分页查询<br /><br />如果查询结果需要分页,从效率上讲,下面的效率应该比较高(粉红色表示需要根据实际情况填充的地方)<br />三类数据库中进行分页查询的高效率方法(目前来看):<br /><br />Oracle: SELECT * FROM ( <br /> SELECT MY_TABLE.*,ROWNUM AS MY_ROWNUM FROM ( <br /> /*原创 2011-05-29 08:28:00 · 308 阅读 · 0 评论