Oracle Migration Workbench - Part Two(转载)
http://www.databasejournal.com/features/oracle/article.php/10893_3429771_1http://www.databasejournal.com/features/oracle/article.php/10893_3429771_2http://www.databasejournal.com/features/oracle/article.php/10893_3429771_3Mysql部分Starting Oracle Migration Workbench[@more@]
在 RHEL3 上配置 Oracle 10g Data Guard(转)
一、 环境配置primary:IP:192.168.0.120 CPU:2个Intel(R) Xeon(TM) CPU 2.80GHz (HT) Mem:2GSwap:4GDisk:130GDB:Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - ProdOS:Linux oracle 2.4.21-20.ELsmp #1 SMPstandby:IP:192.168.0.101 Cup:2个Intel(R) Xeon(TM) CPU 2.40GHz (HT) Mem:2GSwap:2GDisk:66GDB:Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - ProdOS:Linux boss-3 2.4.21-15.ELsmp #1 SMP [@more@]Primary为正在使用的生产数据库,standby安装oracle软件,但不建立数据库。二
教你使用智能优化器提高Oracle性能极限
教你使用智能优化器提高Oracle性能极限[@more@]消耗在准备新的SQL语句的时间是Oracle SQL语句执行时间的最重要的组成部分。但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能。 准备执行SQL语句 当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 1) 语法检查:检查SQL语句拼写是否正确和词序。 2) 语义分析:核实所有的与数据字典不一致的表和列的名字。 3) 轮廓存储检查:检查数据字典,以确定该SQL语句的轮廓是否已经存在。 4) 生成执行计划
oracle体系结构必须先了解的两个基本的概念
要了解oracle体系结构必须先了解两个基本的概念: 数据库和实例.[@more@]一: 数据库 数据库(database)是一个数据集合. 无论数据库是采用关系结构还是面向对象结构, oracle数据库都将 其数据存放在数据文件中. 在其内部, 数据库结构数据对文件的逻辑 映射, 使不同的数据分开存储, 这些逻辑划分称为表空间. 表空间和文件介绍: 1: 表空间 表空间(tablespace)是数据库的逻辑划分, 每个数据库至少有一个 表空间,叫做系统表空间(system 表空间). 一个表空间只能属于
Oracle体系结构:内存结构和进程结构(转)
http://bbs.cnw.cn/viewthread.php?tid=52707(一)内存结构和进程结构 Oracle数据库的总体结构如下图:[@more@] screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new windownCTRL+Mouse wheel to zoom in/out';}" style="WIDTH: 424px; HEIGHT: 278px" onclick="if(!this.resized) {return true;} else {window.open('http://oracle.chinaitlab.com/UploadFiles_7269/200704/20070428112353143.jpg');}" height="278" src="http://oracle.chinaitlab.com/U
Oracle 9i中表的在线重定义(转)
今天遇到要把数据库中的某张表改成分区表,而且该表在别的地方还有其他的注册信息,如果自己手工建一个分区表的替代该表的话,那就得要手工地去执行该表在其他地方的注册,所以不想删除该表再手工创建同名的分区表。想到了Oracle 9i中可以使用在线重定义的功能,就用了该功能来实现。[@more@]1.首先对要在线重定义的表自行验证,看该表是否可以重定义,如果不可以则会提示错误信息。SQL> execute dbms_redefinition.can_redef_table('ofsa','pft_party_profit_detail');begin dbms_redefinition.can_redef_table('ofsa','pft_party_pr
9i新特性之——在线表格重定义研究在(转)
在Oracle9i出现之前,你只能通过MOVE或导出和导入的方式来进行表格重定义,因此表格重定义的过程可能相当漫长或者说是一个离线过程,在此期间应用程序对该表的操作将失败,特别是大型的分区表上的操作(上次coolyl)就问到了这个问题,我们当时是建议他用move partition的办法解决,但是move可能很耗时并可能引起全局索引的失效(不过9i已经有了update global indexes)。除了这个,如果用exp,我们也不能保证exp的时候该表的数据没有改变(除非单用户),而imp更是一个漫长的过程。[@more@]为了解决这个问题,Oracle9i在其DBMS_REDEFINIT
Oracle安全性管理采取的基本措施简介
数据安全性是指保护数据以防止非法的使用,避免造成数据有意或无意的丢失、泄露或破坏。由于数据库系统中集中存放有大量的数据,这些数据又为众多用户所共享,所以安全约束是一个极为突出的问题。[@more@]Oracle数据库系统在实现数据库安全性管理方面采取的基本措施有: 通过验证用户名称和口令,防止非Oracle用户注册到Oracle数据库,对数据库进行非法存取操作。 授予用户一定的权限,例如connect,resource等,限制用户操纵数据库的权力。 授予用户对数据库实体(如表、表空间、过程等)的存取执行权限,阻止用户访问非授权
在 Red Hat Linux 9 上安装 Oracle9i Database(转)
http://www.oracle.com/technology/global/cn/sample_code/tutorials/idclinux/Oracle9iR2onredhat9.html在 Red Hat Linux 9 上安装 Oracle9i Database作者:Abhijeet Kulkarni 数据库版本:Oracle9i R2 (9.2.0.1.0)[@more@]1. 创建用户与组:-------------------------切换为 Root 用户并执行下列命令$ su -# groupadd oinstall# groupadd dba# useradd -g oinstall -G dba oracle# passwd oracle2. 创建目录。--------------------------我们将把所有东西都安装到在 /opt/ora9 目录下:# mkdir -p /opt/ora9/product/9.2# mkdir /var/op
业余DBA
前言 这篇文章介绍了DBA每天在监控Oracle数据库方面的职责,讲述了如何通过shell脚本来完成这些重复的监控工作。本文首先回顾了一些DBA常用的Unix命令,以及解释了如何通过Unix Cron来定时执行DBA脚本。同时文章还介绍了8个重要的脚本来监控Oracle数据库:[@more@]检查实例的可用性 检查监听器的可用性 检查alert日志文件中的错误信息 在存放log文件的地方满以前清空旧的log文件 分析table和index以获得更好的性能 检查表空间的使用情况 找出无效的对象 监控用户和事务 DBA需要的Unix基本知
推荐:深入研究ITL阻塞与ITL死锁(转载)
作者:piner (转载请注明本文出处:Ixdba.com) 永久链接:http://www.ixdba.com/html/y2007/m05/101-oracle-itl-deadlock.html[@more@]首先要说的是,这个问题当初我是真遇到过,然后,就有了汪海的这篇文章:itl deadlock:http://www.orawh.com/80.html但是NinGoo 在下面回复说,10g模拟不到这样的情况了,开始我没有太在意,后来再想想,9i这么做的确是不对的,因为还有其它的进程可以释放资源,根本还没有达到死锁的条件。那么,10g就没有itl死锁了吗?也不是的,10g也有,不过是改进了一下,需要把所有的进程阻塞住的时候,才能爆发出
Unix环境下的Oracle调优
很多DBA在发现系统很慢的时候,有的时候无从下手,下面我分享下我的工作经验。本文主要针对UNIX环境,希望对大家会有些帮助。 首先通过操作系统的一些工具检查系统的状态,比如CPU、内存、交换、磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲这也可能不是一个正常的状态,因为cpu可能正等待IO的完成。除此之外我们还应观注那些占用系统资源(cpu、内存)的进程。[@more@]$ sar -u 1 10 HP-UX bilut42 B.11.11 U 9000/800 10/31/06 09:50:02 %usr %sys %wio %idle09:50:03 4 1 30 6509:50:04 7 1 27 65
找出最耗资源的sql
select * from v$process where spid='2796';select sql_hash_value,machine,username,program from v$session where PAddr='63B7A584';[@more@]select * from v$sqltext where hash_value='833203018';select * from v$sql where hash_value='833203018';select * from v$sqlarea where hash_value='833203018';SELECT a.username,a.machine,a.program,a.sid,a.serial#,a.status,c.piece,c.sql_text FROM v$session a,v$process b,v$sqltext c WHERE b.spid='2796' AND b.addr=a.paddr AND a.sql_address=c.address(+) ORDER BY c.piece
索引在ORACLE中的应用分析
正确的索引可能使效率提高10000倍,而无效的索引可能是浪费了空间,甚至大大降低查询性能。索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使 效率提高10000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。[@more@]索引的管理成本1、存储索引的磁盘空间2、执行数据修改操作(INSERT、UPDATE、DELETE)产生的索引维护3、在数据处理时回需额外的回退空间。实际数据修改测试:一个表有字段A、B、C,同时进行插入10000行记录测试在没有建索引时平均完成时间是2.9秒在对A字段建索引后平均完成时
在Oracle层次查询中给SIBLINGS排序
Oracle SELECT语句中的START WITH和CONNECT BY子句自动阻断一个层次。缺少这项特性,就需要一个复杂的自联接来确定行之间的逻辑联系。START WITH子句指定被认为是层次起点,或“根”的一行或几行。然后CONNECT BY PRIOR子句指明哪些行彼此关联。[@more@]例如,列表A中的查询从Oracle HR样本模式的EMPLOYEES表中生成一个“Reports To”列表。 column "Reports To" format a30 set pagesize 9999 SELECT LPAD(' ', 2*(LEVEL-1))||last_name "Reports To", employee_id FROM employees START WITH employee_id IN
数据库表——EXPERT ONE-ON-ONE ORACLE
Tom从表的基本存储参数:FREELISTS、PCTFREE、PCTUSED、INITIAL、NEXT、PCTINCREASE、MINEXTENTS、MAXEXTENTS、LOGGING、NOLOGGING、INITRANS和MAXTRANS开始介绍,然后依次对堆表、索引组织表、聚簇表、散列聚簇表、嵌套表、临时表和对象表进行了讲解和说明。[@more@]堆表:最常使用的普通表,数据的存储没有顺序,当增加数据时会使用Oracle找到的第一个合适空间。索引组织表:按照主键的顺序存储数据。对于可以通过主键访问的表特别有效。但是由于索引组织表要维护主键的顺序,因此DML操作对索引组织表来说代价比堆表要大,对于频繁修改的
日常监测分析数据库的DBA_Monitor.sql程序
日常监测分析数据库的DBA_Monitor.sql程序[@more@]rem 日常监测分析数据库的DBA_Monitor.sql程序 rem 我两年前的实际经验总结,以笔记奉献于众。 rem 主要参考《Oracle8 DBA Handbook》,《Oracle8 Tuning》。 rem 作者:丁聚岗 dingju@eastday.com rem 参考 http://www.linuxeden.com/edu/doctext.php?docid=2754 set echo on spool user_DBA_report.txt set pages 333 lin 96 rem --------------------------------------------------- rem 执行说明:本程序第一部分需要DBA权限, rem 第二
全面剖析Oracle数据库中的分区功能
Oracle 分区功能可以提高许多应用程序的可管理性、性能与可用性。通过分区功能,可以将表、索引和索引组织表进一步细分为段,从而能够更精确地管理和访问这些数据库对象。Oracle 提供了种类繁多的分区方案以满足每种业务要求。而且,因为在 SQL 语句中分区是完全透明的,所以该功能几乎可应用于任何应用程序[@more@]分区功能的优势 分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务。通过分区,数据库设计人员和
ORACLE锁的管理
ORACLE里锁有以下几种模式: 0:none 1:null 空 2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4:Share 共享锁(S):阻止其他DML操作,share 5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive 6:exclusive 独占(X):独立访问使用,exclusive [@more@]数字越大锁级别越高, 影响的操作越多。 1级锁有:Select,有时会在v$locked_object出现。 2级锁有:Select for update,Lock For Update,Lock Row Share select for update当对话使用for update子串打开一个游标时,所有
OTN 发布的技术文章的链接地址
OTN 发布的技术文章的链接地址:http://www.oracle.com/technology/global/cn/pub/articles/index.htmloracle 考试http://www.examda.com/Oracle/[@more@]