oracle基础知识大全
文章平均质量分 82
本人多年来使用oracle积累的经验,菜鸟查漏补缺必收藏之文集。
Dave
The important thing in life is to have a great aim and the determination to attain it !
展开
-
Oracle 软件的美学变迁
1999年发售的Oracle 8i是Oracle走向繁荣的重要版本,其中的i意为”internet ready”,在上个世纪90年代互联网业务意气风发,存在这样一种思潮,人们都认为进入网络时代后我们不在需要传统意义上的计算机了,像SUN这样走在时代前沿的公司更提出了”网络就是计算转载 2011-09-01 16:03:54 · 6313 阅读 · 4 评论 -
Oracle 进程 说明
Oracle中的各个进程要完成某个特定的任务或一组任务,每个进程都会分配内部内存(PGA 内存)来完成它的任务。Oracle实例主要有3 类进程: (1)服务器进程(serverprocess):这些进程根据客户的请求来完成工作。我们已经对专用服务器和共享服务器有了一原创 2011-08-23 14:39:29 · 17369 阅读 · 5 评论 -
Oracle 11gR2 中 示例用户 安装说明
在Oracle10g中,如果我们在创建实例时没有选择安装示例,那么在创建实例之后,还可以通过$ORACLE_HOME/demo/schema 下的脚本来创建。关于具体的创建方法,官方文档有详细的说明: SampleSchema Scripts and Object D原创 2011-08-22 10:16:26 · 14688 阅读 · 2 评论 -
Oracle 监听(Listener) 中 services 说明
一. 查看service1.1 先看下一个监听查看的示例:[oracle@db2 ~]$ lsnrctl service LSNRCTL for Linux: Version 10.2.0.1.0 -Production on 19-JUL-2011 01:24:43 Copyr原创 2011-07-19 17:58:18 · 22737 阅读 · 2 评论 -
还原真实的 cache recovery
在maclean blog 上看到的这篇文章,很不错,转贴过来,原文链接如下: http://www.oracledatabase12g.com/archives/whats-smon-enabling-cache-recovery.html 我们在学习Oracle基础知识的时候会了解到实例恢复(Instance Recovery)或者说崩溃恢复(Crash转载 2011-06-16 10:37:00 · 10069 阅读 · 4 评论 -
Oracle session active 和 inactive 状态 说明
一. Session 状态说明 可以通过v$session 视图的status列查看session 的状态。 关于该视图的使用,参考联机文档:V$SESSIONhttp://download.oracle.com/docs/cd/E11882_01/server.112/e17110/dynviews_3016.htm#REFRN30223原创 2011-06-12 13:08:00 · 57745 阅读 · 6 评论 -
Oracle db_files 和 maxdatafiles 说明
一. DB_FILES PropertyDescriptionParameter typeIntegerDefault value200ModifiableNoRange of valuesMinimum: the la原创 2011-06-07 20:57:00 · 8663 阅读 · 1 评论 -
Oracle 外键 说明
一. 外键说明1.1 官网上有关说明如下: Maintaining Data Integrity in Application Development http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14251/adfns_constraints.htm#sthref748 Ma原创 2011-06-04 23:18:00 · 6968 阅读 · 4 评论 -
dba_registry 和 v$option 与 Oracle 特新及组件
一. 先看官网对这2个视图的说明 1.1 V$OPTION This view lists database options and features. Typically, although not always, options must be separately purchased and installed, whereas features come w原创 2011-06-04 03:47:00 · 7196 阅读 · 1 评论 -
Oracle 数据文件 reuse 属性 说明
<br /> <br />有关表空间创建的相关参数,参考:<br /> Oracle 表空间创建参数说明<br /> http://blog.csdn.net/tianlesoftware/archive/2011/01/27/6166928.aspx<br /> <br /> 当我们对表空间添加数据文件的时候,有一个reuse 属性。10g的官网对这个参数的说明如下:<br /> <br />REUSE <br />Specify REUSE to allow Orac原创 2011-06-02 20:47:00 · 14499 阅读 · 3 评论 -
临时表 DML 产生redo 问题说明
<br /> <br />关于Oracle 临时表,参考我的Blog:<br /> Oracle 临时表<br /> http://blog.csdn.net/tianlesoftware/archive/2009/10/20/4705283.aspx<br /> <br />对Oracle 临时表的操作,会产生redo 和undo。<br /> <br />先看一个示例:<br /> <br />SYS@anqing1(rac1)> CREATE GLOBAL原创 2011-05-30 14:57:00 · 5421 阅读 · 1 评论 -
Heap-Organized table 和 Index-Organized table 说明
<br /> <br />官网的两个连接如下:<br /> <br />Tables and Table Clusters<br />http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/tablecls.htm#i20438<br /> <br />Indexes and Index-Organized Tables<br />http://download.oracle.com/docs/cd/E11882_01/server.11原创 2011-05-24 21:29:00 · 7456 阅读 · 1 评论 -
Oracle 用户 对 表空间 配额(quota ) 说明
<br /> <br /> <br />一. 官网的说明<br /> <br />Oracle 官网对quota的定义如下:<br /> A limit on a resource, such as a limit on the amount of database storage used by a database user. A database administrator can set tablespace quotas for each Oracle Database us原创 2011-05-11 20:56:00 · 28275 阅读 · 1 评论 -
alter database datafile offline drop 与 alter tablespace drop datafile 区别
以前整理的: Oracle 表空间基本操作 http://blog.csdn.net/tianlesoftware/archive/2009/10/16/4681973.aspx 这篇Blog里真的是最基本的操作。 其实今天写的内容,也可以放到那里面去。 但是还是打算分开来讲。 引起一个重视吧。 1. alter database datafile 'fil原创 2011-04-06 21:27:00 · 37369 阅读 · 1 评论 -
Oracle SYSAUX 表空间 说明
<br /> <br />一. SYSAUX 说明<br /> 在Oracle 10g 版本中,引入了SYSTEM表空间的一个辅助表空间: SYSAUX表空间。<br /> SYSAUX 表空间存放一些其他的metadata组件,如OEM,Streams 等会默认存放在SYSAUX表空间里。这样也能降低SYSTEM表空间的负载。因此SYSAUX 表空间也是在在DB 创建或者升级时自动创建的。如果在手工使用SQL创建DB时没有指定SYSAUX tablespace,那么创建语句会报错原创 2011-03-31 10:43:00 · 21448 阅读 · 2 评论 -
Oracle 版本号 说明
<br /> <br />Oracle 的版本号很多,先看11g的一个版本号说明:<br /><br /><br /> <br /><br />注意: <br /> 在oracle 9.2 版本之后, oracle 的maintenance release number 是在第二数字位更改。而在之前,是在第三个数字位。<br /> <br />1. Major Database Release Number<br /> 第一个数字位,它代表的是一个新版本软件,也标志着一些新的功能。如原创 2011-03-16 23:09:00 · 11597 阅读 · 1 评论 -
Oracle 用户 profile 属性
在之前的Blog里,讲了Oracle 用户和角色的一些概念,但是没有讲属性profile的信息。 Oracle 用户及角色介绍 http://blog.csdn.net/tianlesoftware/archive/2009/11/08/4786956.aspx 在Profile文件里保存了一些资源的限制信息。如果在创建用户时指定了profile。那么用户就不能超过profile里指定的资源。1. 一些注意事项 (1)创建profile 需要CR原创 2011-03-10 20:04:00 · 19084 阅读 · 1 评论 -
DBID,SID,DB_NAME,DB_DOMAIN,INSTANCE_NAME,DB_UNIQUE_NAME,SERVICE_NAMES 及监听参数的说明
<br /> <br />这篇文章中要讲的几个参数:<br /> DB 相关的:DBID, SID<br /> PFILE中的参数:DB_NAME,DB_DOMAIN, INSTANCE_NAME,<br /> DB_UNIQUE_NAME,SERVICE_NAMES,<br /> GLOBAL_NAME,GLOBAL_NAMES<br /> Listener.o原创 2010-12-20 02:07:00 · 13108 阅读 · 2 评论 -
64位 linux 平台下Oracle 安装文档
安装步骤和32位 基本一样,在一些参数上有些变化。 官网安装文档:http://download.oracle.com/docs/cd/B19306_01/install.102/b15667/pre_install.htm#CIHFICFD 1. 安装操作系统 建议使用英文的。 这样避免以后出现乱码的问题。 2. 检查相关安装包 redhat 5下需要如下包, 这些包原创 2010-12-08 13:30:00 · 14822 阅读 · 5 评论 -
改 主机名 后 虚拟机 不能启动
<br /> <br />昨天对PC修改了主机名,今天启动虚拟机的时候,报错:<br /> <br />Error: <br /> SCSI reservation for virtual device "scsi1:1" cannot be enabled because the disk "F:/VM/racshare/ocr.vmdk" is being used by another virtual machine running on a different host machin原创 2010-09-13 12:49:00 · 5694 阅读 · 0 评论 -
Oracle 修改本地默认的实例名方法
<br /> <br />在机子上装了3个实例,都是做实验用的,但是默认的那个实例用的不多,到时其他的2个实例用的还多一点,因此每次都是要指定ORACLE_SID,很是麻烦,上个星期就想查一下了,放那就忘记了,今天又遇到了,就想起来了。 脑子是不太好使了。<br /><br /><br />1. Linux 平台下<br />这个修改比较简单,在linux 平台下安装过oracle的人都知道怎么修改。<br />Vi 一下.bash_profile文件,把里面的ORACLE_SID 改成相对应的就可以了。<原创 2010-07-05 23:51:00 · 9275 阅读 · 2 评论 -
企业管理器(OEM)介绍: Grid Control 和 Database Control
<br />Oracle 自10g 以后,企业管理器(Oracle Enterprise Manager:OEM)变成了网页形式。 OEM 分两种:Grid Control(网格控制) 和 Database Control(数据库控制)。 <br />Grid Control 是具有完整功能的全企业Oracle 生态系统管理工具。 <br />Database Control是可以只作为数据库管理实用程序部署的OEM 版本。<br /><br />Grid Control 和 Database Contro原创 2010-06-30 13:38:00 · 26758 阅读 · 2 评论 -
dba_tables 和 dba_segments 表中 blocks 的区别
<br /> <br />创建测试表:<br />SQL> create table t5(id int);<br />表已创建。<br />SQL> insert into t5 values(1);<br />已创建 1 行。<br />SQL> inse原创 2010-06-27 12:59:00 · 9272 阅读 · 1 评论 -
Oracle Dedicated server 和 Shared server(专用模式 和 共享模式) 说明
一. 官网说明 在DBCA 建库的时候,有提示让我们选择连接类型,这里有两种类型:专用服务器模式和共享服务器模式。默认使用专用模式。如下图: Oracle 官方文档对这两种文档的说明如下:About Dedicated andShared Server Proce原创 2010-06-26 13:40:00 · 36141 阅读 · 0 评论 -
RMAN 系列(四) ---- RMAN 备份
<br />一. RMAN 备份的一些优点<br />1. RMAN 会检测和报告损坏的数据块。<br />2. 不需要将表空间置入热备份模式,RMAN 就可以连接备份数据库。 热备份期间会额外的生成重做日志。<br />3. RMAN 会自动跟踪新的数据文件和表空间,这样就不再需要在脚本中添加新的表空间和数据文件。<br />4. RMAN 只备份使用过的数据库(直至最高使用标记(High wate mark)),这样RMAN 备份映像通常小于联机备份的备份脚本。<br />5. RMAN 提供备份映像的原创 2010-06-23 00:56:00 · 11375 阅读 · 4 评论 -
Oracle delete truncate drop 的区别
<br />1. delete/truncate 只删除数据不删除表,索引的结构。 drop 将删除表的结构及依赖的 index/constrain/trigger,依赖于该表的 procedure/function 将保留,但是变为 invalid 状态;<br /> <br />2. delete 是 dml,写 rollback segement,可回滚,速度慢,事务提交之后才生效。在 9i 满足 undo_retention 条件下可使用 flashback。一次性大批量数据的 delete 可能导转载 2010-06-19 23:53:00 · 7281 阅读 · 0 评论 -
Oracle 索引的维护
<br />一.查看系统表中的用户索引<br />在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。<br />一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在。<br /><br />/* Formatted on 2010/6/19 13:22:原创 2010-06-19 22:39:00 · 17471 阅读 · 2 评论 -
Oracle 查看 表 存储过程 触发器 函数 等对象定义语句的方法
<br />有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法:<br />1. 查 all_source 表<br />2. 用 DBMS_METADATA 包。 <br /><br />一. 通过 all_source 表<br /><br />先来确认下,通过all_source 表可以查看哪些类型的对象:<br />SQL> SELECT distinct type FROM ALL_SOURCE;<br />TYPE<br />------------<br />PROCEDURE原创 2010-06-19 00:24:00 · 22807 阅读 · 1 评论 -
RMAN 系列(三) ---- 介质管理问题
<br /><br />Oracle 10g中的RMAN 使用程序主要关注的是将磁盘备份作为介质恢复解决方案的最佳方法。 随着磁盘价格的下跌,大量的存储区网络(Storage Area Network:SAN)已经在很多数据中心找到了永久的存储空间。 随着业务向着价格越来越便宜而容量越来越大的磁盘发展,对RMAN的功能(如Flashback)进行了升级,从而可以最有效的利用可用存储空间。<br />RMAN 备份实用程序是按逻辑执行的过程,而写入到磁盘的操作正是Oracle 数据库所擅长的工作。因此,当Or原创 2010-06-18 17:08:00 · 12001 阅读 · 0 评论 -
Oracle 服务器 进程中的 LOCAL=NO 和 LOCAL=YES
<br />1. 先看2个命令执行的结果:<br />[oracle@hfcc-svr-newccsdb1 ~]$ ps -ef | less<br />UID PID PPID C STIME TTY TIME CMD<br />oracle 469 1 0 May28 ? 00:00:05 oraclenewccs (LOCAL=NO)<br />oracle 495 1 1 May28 ? 05:57:原创 2010-06-17 14:09:00 · 21242 阅读 · 2 评论 -
RMAN 系列(二) ---- RMAN 设置和配置
<br />一. 配置数据库以ARCHIVELOG 模式运行<br /> 在ORACLE 10g 之前,在将数据库置入Archivelog 模式后,需要启动arch进程。 设置参数LOG_ARCHIVE_START 为true,也可启动arch进程。在10g以后,不需要使用该方法,当数据库处于archivelog模式时,Oracle 会自动启动arch进程。<br />Arch 进程由LGWR 进程调用,只要一个联机redo log 被填满。LGWR 进程就切换到另一个联机redo 组。 此时如果数据库处于原创 2010-06-16 22:14:00 · 17878 阅读 · 0 评论 -
ORA-01089 immediate shutdown in progress - no operations are permitted 解决方法
<br /><br /> <br /> 上午群里一朋友说在500w的表上建索引,半个小时都没有建完,有点不正常,就讨论如何减少建索引的时间,用了nologging +并行,但是效果不明显,朋友一心急,就自己shutdown immediate了. 但是问题是shutdown 没有结束。 挂住了。 在连接就报错。<br /><br />ORA-01089: immediate shutdown in progress - no operations are permitted<br /> <br /><原创 2010-06-11 14:48:00 · 11097 阅读 · 3 评论 -
如何加快建 index 索引 的时间
<br /><br />朋友在500w的表上建索引,半个小时都没有结束。所以就讨论如何提速。 <br /><br /><br />一. 先来看一下创建索引要做哪些操作:<br />1. 把index key的data 读到内存<br />==>如果data 没在db_cache 中,这时候很容易有大量的db file scatter read wait<br /><br />2. 对index key的data 作排序<br />==>sort_area_size 或者pga_aggregate_targe原创 2010-06-11 14:17:00 · 20038 阅读 · 2 评论 -
分区表 之 Interval分区 和 虚拟列 按星期分区表
<br /><br />今天朋友问我, 说想建一个按星期分区的表,就是按星期几分区,没用过,就搜了下,可以用Oracle 11g 中虚拟列来实现。在11g之前 分区表的partition key必须是物理存在的。 11g开始提供了虚拟列,并且可以作为partition key 。<br /><br />关于分区表,之前也做个整理:<br />Oracle 分区表 <br />http://blog.csdn.net/tianlesoftware/archive/2009/10/24/4717318.aspx原创 2010-06-10 21:07:00 · 15624 阅读 · 5 评论 -
Oracle中 drop user 和 drop user cascade 的区别
<br />drop user : 仅仅是删除用户,<br />drop user ×× cascade :会删除此用户名下的所有表和视图。<br /><br />user<br />Specify the user to be dropped. Oracle Database does not drop users whose schemas<br />contain objects unless you specify CASCADE or unless you first explicitly dro转载 2010-06-08 22:44:00 · 7077 阅读 · 0 评论 -
Oracle 11g Alert log 文件位置的问题
<br />装了oracle 11g的玩了一下,有点问题,想看一下log日志,找了半天才找到,原来11g的alert log 做了变动,从 Oracle 11g 开始,Oracle 数据库以XML与传统的文本两种格式提供 Alert 日志。<br /><br />新的日志位置由 Automatic Diagnostic Repository (ADR) 决定。可以通过新的初始化参数 DIAGNOSTIC_DEST 控制 ADR BASE 的位置。<br /><br />SQL> show parameter原创 2010-06-07 17:03:00 · 48416 阅读 · 2 评论 -
对 Oracle 备份与恢复 的补充说明
之前曾整理过一片文章,来说明Oracle 的备份与恢复的。Oracle 备份 与 恢复 概述http://blog.csdn.net/tianlesoftware/archive/2010/04/16/5490733.aspx今天又看到了一些知识,与上次说明的角度不一样。 所以整理下,算是对上篇的一个补充说明。 Oracle 备份分逻辑备份和物理备份。 一.逻辑备份逻辑备份就是exp/imp, 10g 以后推出了数据泵(Data Pump/ expdp/impdp). 数据泵在效率上要比之前的exp/imp原创 2010-06-04 14:39:00 · 7867 阅读 · 0 评论 -
使用 Tkprof 分析 ORACLE 跟踪文件
Tkprof是一个用于分析Oracle跟踪文件并且产生一个更加清晰合理的输出结果的可执行工具。如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用Tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。一. TKPROF 命令语法:TKPROF filename1, filename2 [ SORT = [ opion][,option] ] [转载 2010-05-28 23:28:00 · 25050 阅读 · 1 评论 -
如何用 SQL Tuning Advisor (STA) 优化SQL语句
在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等。在10g中,Oracle推出了自己的SQL优化辅助工具: SQL优化器(SQL Tuning Advisor :STA),它是新的DBMS_SQLTUNE包。使用STA一定要保证优化器是CBO模式下。执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限:原创 2010-05-28 15:16:00 · 26231 阅读 · 3 评论 -
Oracle 小知识 总结(一)
Oracle 是一个庞大的系统,里面的知识点很多,在学习的时候,看到一些知识点,就贴了下来,尽不知中贴了这么多,就先做个小结吧。 里面有的知识点已经单独拿出来写成单篇的blog(http://blog.csdn.net/tianlesoftware)了。有的还没有进行整理。 好记性不如烂笔头,不过我用的不是笔。 ^_^ ... 这里面大部分内容都是我泡CSDN 论坛的时候整理的,现在要忙其他的原创 2010-05-25 11:30:00 · 15889 阅读 · 9 评论