![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
wu_wei_jie
这个作者很懒,什么都没留下…
展开
-
分区表中的index 失效及处理
分区表中 local 索引的维护会在oracle 操作表分区的时候自动进行,需要注意的是global 索引,当global索引所在表执行alter table 涉及下列操作时,会导至该索引失效,需要重新建立:———————————————————————- 一、测试环境[oracle@testdb ~]$ sqlplus ‘/as sysdba’SQL*Plus: Release转载 2012-05-02 11:54:36 · 1278 阅读 · 0 评论 -
ORACLE 临时表空间使用率过高的原因及解决方案
在数据库的日常学习中,发现公司生产数据库的默认临时表空间temp使用情况达到了30G,使用率达到了100%; 待调整为32G后,使用率还是为100%,导致磁盘空间使用紧张。根据临时表空间的主要是对临时数据进行排序和缓存临时数据等特性,待重启数据库后, temp会自动释放。于是想通过重启数据库的方式来缓解这种情况,但是重启数据库之后,发现临时表空间temp的使用率还是100%,一点没变。虽然运行 中应用暂时没有报什么错误,但是这在一定程度上存在一定的隐患,有待解决该问题。由于临时表空间主要使用在以下几种情况:转载 2011-05-03 21:54:00 · 593 阅读 · 0 评论 -
Oracle锁、事务相关
<br /> 如果怀疑表被锁了,或者事务未被正常关闭,在Oracle数据库中我们可以通过以下语句进行查询获取相关信息:<br /> Sql代码 select t2.username, t2.sid, t2.serial#, t3.object_name, t2.OSUSER, t2.MACHINE, t2.PROGRAM, t2.LOGON_TIME, t2.C转载 2011-05-02 17:37:00 · 355 阅读 · 0 评论 -
--Oracle 用户、对象权限、系统权限
<br />--================================<br />--Oracle 用户、对象权限、系统权限<br />--================================<br /> <br />一、用户与模式<br /> 用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作<br /> SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象<br /> SYSTEM用户,缺省始终创建,且未被转载 2011-05-03 00:16:00 · 281 阅读 · 0 评论 -
如何删除非当前用户下的JOB
如何删除非当前用户下的JOB =========================================================== 作者: yangtingkun(http://yangtingkun.itpub.net)<br />发表于: 2005.03.31 05:47<br />分类: ORACLE <br />出处: http://yangtingkun.itpub.net/post/468/24348<br />---------------------------------转载 2011-05-01 22:23:00 · 626 阅读 · 0 评论 -
Oracle之列的添加、删除和修改
Oracle之列的添加、删除和修改 2010-10-21 15:47<br />1、添加列<br />语法:ALTER TABLE table_name ADD(new_column_name datatype[DEFAULT value] [NOT NULL]);<br />例子:ALTER TABLE employee ADD(phone VARCHAR2(10),hiredate DATE DEFAULT SYSDATE NOT NULL);<br />注意:为表添加列时应注意,如果表中已经有数据,那转载 2011-05-03 15:46:00 · 1342 阅读 · 0 评论 -
Data Guard涉及到的参数详解
网上有一篇介绍dataguard涉及到参数的文章《配置Data Guard涉及到的参数详解》,工作时也从中学到很多。自己总结,格式因为喜好问题难免雷同特提前声明。搭建一个10g版本DataGuard环境,难点之一是配置数据库名、角色、归档以及diskgroup等相关的参数。以如下环境为例:HostName Role instance_nametnsnames.oradb1Primary node1db1db1,db2,DR1,DR2db2primary node2db2db1,db2,DR1,DR2dr1S转载 2011-05-01 13:39:00 · 596 阅读 · 0 评论 -
RAC环境下SYS密码修改
<br />sys是数据库库中权限最高的用户,在登录时,我们可以用os认证的方式直接登录,也可以利用sqlplus “sys/your_password@your_tnsnames as sysdba”来登录。特别是对于后面的这种远程登录,在第三方的备份备份软件中需要配置。因此这个文件对于使用了第三方备份软件的数据库系统,就比较重要了。<br />在单实例,如果我们在数据库执行了更改密码的命令:alter user sys identified by new_password;这个时候,数据库就会自动的改写原创 2011-05-01 13:26:00 · 563 阅读 · 0 评论 -
监控登陆数据库的trigger
<br />监控登陆数据库的trigger<br />1. 赋予权限<br />SQL> grant select on v_$session to wrj;<br />Grant succeeded.<br />SQL> <br />SQL> grant select on v_$mystat to wrj;<br />Grant succeeded.<br />2. 创建表 <br />create table log_information (login_user varchar2(10),login转载 2011-04-30 20:18:00 · 332 阅读 · 0 评论 -
managed oracle statistics
收集表的统计信息收集索引的统计信息删除表的统计信息删除索引的统计信息导出导入统计信息不同的数据库间统计信息的复制dbms_stats 和 analyze 的优点和缺点对柱状图的理解和常用的统计信息,柱状图的视图常用的 analyze ,dbms_stats 包的使用 dbms_stats.gather_table_stats 的使用 1 统计表名是 wrj 的统计信息,不统计索引的信息,同时,是自动确定histograms size 的转载 2011-04-30 20:16:00 · 312 阅读 · 0 评论 -
消除temp ts暴涨的方法
以下摘自 XZH2000 消除temp ts暴涨的方法消除temp ts暴涨的方法关于消除temp ts暴涨的方法经常有人问temp表空间暴涨的问题,以及如何回收临时表空间,由于版本的不同,方法显然也多种多样,但这些方法显示是治标不治本的办法,只有深刻理解temp表空间快速增加的原因,才能从根本上解决temp ts的问题。是什么操作在使用temp ts?- 索引创建或重创建. - ORDER BY or GROUP BY - DISTINCT 操作. - UN转载 2011-04-30 20:15:00 · 643 阅读 · 0 评论 -
索引是如何定期rebuild的
摘自 xzh2000 博客文章1. 发现哪个index碎片较多,需要对索引进行rebuild的语句2. 对索引进行rebuild的语句,特别对于那些24X7的应用,大家都是如何对大表的索引进行rebuild.oracle 索引重建 何时需要重建 :1.move表以后才考虑重建(索引失效)2.对数据进行大量清理,对经常增删的表需要进行定时重建3.修改索引所在的表空间1.如何确定索引是不是经常频繁的dml 操作删行大于原表的20%-25%需要重建!转载 2011-04-30 20:13:00 · 1559 阅读 · 0 评论 -
OCFS2常见故障及解决方法
<br />现象一:<br />mount -t ocfs2 -o datavolume,nointr /dev/sdb1 /webdata<br />mount.ocfs2: Transport endpoint is not connected while mounting /dev/sdb1 on /webdata. Check 'dmesg' for more information on this error.<br /> <br /> <br />可能问题:<br />1:防火墙打开着,没有关闭转载 2011-04-29 15:25:00 · 3341 阅读 · 0 评论 -
释放UNDO表空间
数据库的维护与数据库的编程实际应用中经常会遇到不解之处,对于大数据量做的DML操作后,我们是的把Oracle undo的表空间扩展到十几个G或是几十个G 但是这些表空间的所占用磁盘的物理空间又不会被Oracle 所释放,如果你用的是PC机很可能会遇到磁盘空间不足的问题。经过个人整理经过如下操作可以重构Oracle undo表空间,同样temp表空间也可能在你查询大数据或则创建索引的时候无限扩大导致磁盘空间不足,同样可以用如下方式解决此问题:查看各表空间名称 select name from v$tables转载 2011-05-03 20:56:00 · 788 阅读 · 0 评论 -
Oracle 分区表 总结
<br />一. 分区表理论知识<br /> Oracle提供了分区技术以支持VLDB(Very Large DataBase)。分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中。分区完全对应用透明。 <br /> Oracle的分区表可以包括多个分区,每个分区都是一个独立的段(SEGMENT),可以存放到不同的表空间中。查询时可以通过查询表来访问各个分区中的数据,也可以通过在查询时直接指定分区的方法来进行查询。 <br /> <br />When to Partiti转载 2011-05-05 00:50:00 · 279 阅读 · 0 评论 -
分区表统计数据收集
http://www.cublog.cn/u/10516/showart_1933890.html今天在看EBS性能调整文档的时候,有这样一段关于分区表统计数据收集的描述:When using the 'Gather Table Statistics' concurrent program, pass only the owner of the table (schema na转载 2012-04-25 09:38:44 · 1021 阅读 · 0 评论 -
详细解读 STATSPACK 报告
详细解读 STATSPACK报告详细解读 STATSPACK报告... 11、报表头信息... 22、实例负载档信息... 23、实例有效性信息... 34、TOP 5及其他等待事件信息... 55、SQL统计信息... 105.1 SQL统计信息-逻辑读... 115.2 SQL统计信息-物理读... 115.3 SQL统计信息-执行次数... 12转载 2012-03-15 13:43:09 · 828 阅读 · 0 评论 -
如何在一个业务繁忙的大表中增加一个并带有默认值的字段
方法来自Piner的新书《构建Oracle高可用环境》1.先增加一个字段sql>Alter TABLE TABLE_NAME ADD field_name NUMBER;2.把该字段修改为有默认值sql>Alter TABLE TABLE_NAME MODIFY field_name DEFAULT 0;该语句并不修改以前的记录,只是标记以后的记录将会有默认值0,所以,转载 2011-05-02 00:34:00 · 651 阅读 · 0 评论 -
How to Recover Datafile Which Deleted Accidentally in Linux
How to Recover Datafile Which Deleted Accidentally in LinuxBy kamus on December 19, 2011今天有客户的数据库意外被删除了整个目录中的数据文件,操作系统级别的删除,然而幸运的是这个数据库没有崩溃,仍然处于open状态的时候,客户就发现了问题,求助到我们,最终完整地恢复了所有数据文件。在Linux转载 2012-01-11 17:45:23 · 360 阅读 · 0 评论 -
计算datafile可以resize收缩的空间.
--计算datafile可以resize收缩的空间. col name for a40 col resizecmd for a80 select a.file#,a.name,a.bytes/1024/1024 CurrentMB, ceil(HWM转载 2011-09-21 15:39:47 · 396 阅读 · 0 评论 -
Get_dll妙用
dbms_metadata包中的get_ddl函数 --GET_DDL: Return the metadata for a single object as DDL. -- This interface is meant for casual browsing (e.g., f转载 2011-07-11 12:17:28 · 377 阅读 · 0 评论 -
Oracle等待事件
<br />等待事件的源起<br />等待事件的概念大概是从ORACLE 7.0.12中引入的,大致有100个等待事件。在ORACLE 8.0中这个数目增大到了大约150个,在ORACLE 8I中大约有220个事件,在ORACLE 9IR2中大约有400个等待事件,而在最近ORACLE 10GR2中,大约有874个等待事件。<br />虽然不同版本和组件安装可能会有不同数目的等待事件,但是这些等待事件都可以通过查询V$EVENT_NAME视图获得:<br />SQL> select * from v$ver转载 2011-05-05 23:39:00 · 502 阅读 · 0 评论 -
ORACLE 中dbms_stats的使用
ORACLE 中dbms_stats的使用<br />dbms_stats能良好地估计统计数据(尤其是针对较大的分区表),并能获得更好的统计结果,最终制定出速度更快的SQL执行计划。exec dbms_stats.gather_schema_stats(<br />ownname => 'SCOTT',<br />options => 'GATHER AUTO',<br />estimate_percent => dbms_stats.auto_sample_size,<转载 2011-05-05 23:19:00 · 544 阅读 · 0 评论 -
Oracle 分区表总结
在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。1.1 分区表PARTITION table在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。1.1.1 分区表的建立: 某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操作如下: 范围分区表:CREATE TABLE sales (invoice_no NUMBER, ... sale_date DATE NOT转载 2011-05-05 22:30:00 · 907 阅读 · 0 评论 -
把表和索引移动到另外的表空间
<br />查看表和索引所在的表空间所用视图:dba_segments,还可能会用dba_lobs;<br /><br />1)移动的表:<br />alter table tb_name move tablespace tbs_name;<br />2)移动带clob,blob的字段:<br />alter table tb_name move tablespace tbs_name lob (col_lob1,col_lob2) store as(tablespace lobs_tbs_name);<b转载 2011-05-07 10:36:00 · 564 阅读 · 0 评论 -
Oracle分析表及动态采样
<br />之前在说Oracle Optimizer中的CBO时讲到,当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息。 获取准确的段对象(表,表分区,索引等)的分析数据,是CBO存在的基石,CBO的机制就是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。 所以对于CBO,数据段的分析就非常重要。<br /> <br />Oracle Optimizer CBO RBO<br />http://blog.csdn.net/tianleso转载 2011-05-05 23:18:00 · 997 阅读 · 0 评论 -
srvctl 命令详解
srvctl 命令周详说明文件(译)简介:srvctl是oracle9i rac集群设置管理的工具。本文是对srvctl的所有命令进行周详说明的一篇参考文件。读者对象:oracle9i rac数据库集群管理员。注:rac: real application clusterssrvm: server management -------------------------------------------------------------------------------l转载 2011-04-29 19:18:00 · 675 阅读 · 0 评论 -
vmware server安装9i rac记录
<br />要点记录:<br />OS: CentOs 4.5<br />虚拟机方面:在两台虚拟机的 .vmx文件中分别添加<br /> <br />disk.locking = FALSE<br />ide1.sharedBus = "virtual"<br />ide1:1.mode = "independent-persistent"<br />diskLib.dataCacheMaxSize = "0"<br />diskLib.dataCacheMaxReadAheadSize = "0"<br原创 2011-04-28 00:22:00 · 344 阅读 · 0 评论 -
ORA-16047: DGID mismatch between destination错误
<br />由于主库上log_archive_dest_?参数设置的db_unique_name和实际备库上设置的db_unique_name不一致引起的,略加检查就可发现原创 2011-04-07 23:58:00 · 603 阅读 · 0 评论 -
Oracle Sql Loader
<br />一:SQL Loader 的特点 <br />oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。 <br />比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样的问题,这个也许是oracle公司自己产品的兼容性的问题吧。 <br />sql l转载 2011-05-29 23:35:00 · 392 阅读 · 0 评论 -
EXPDP和IMPDP使用说明
<br />EXPDP和IMPDP使用说明<br /> Oracle Database 10g引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库 元数据(对象定义)和数据快速移动到另一个oracle数据库 中.<br /> 数据泵导出导入(EXPDP和IMPDP)的作用<br /> 1,实现逻辑备份和逻辑恢复.<br /> 2,在数据库用户之间移动对象.<br /> 3,在数据库之间移动对象<br />原创 2011-04-08 10:58:00 · 303 阅读 · 0 评论 -
使用SQL*PLUS构建完美excel或html输出
<br />通过SQL*PLUS我们可以构建友好的输出,满足多样化用户需求。 <br /> 本例通过简单示例,介绍通过sql*plus输出xls,html两种格式文件.<br /> 首先创建两个脚本:<br /> 1.main.sql<br /> 用以设置环境,调用具体功能脚本<br /> 2.功能脚本-get_tables.sql<br /> 为实现具体功能之脚本<br /> 通过这样两个脚本可以避免spool中的冗余信息.<br /> 示例如下:<br /> 1.ma原创 2011-04-08 10:55:00 · 170 阅读 · 0 评论 -
10g归档日志满处理
<br />昨天进行大批量插入数据时出现了 ORA-00257: archiver error. Connect internal only, until freed错误,经过查找才知道是归档日志满了。原因是:Oracle 10g数据库物理空间管理方式与以前Oracle发生了变化,对归档日志所在的Flash_Recovery_Area空间进行了另外限制Flash_Recovery_Area空间缺省安装时比较小,只有2GB,容易用完。<br />如果Oracle的归档日志满了,应用连接数据库就会出错,这时需要转载 2011-04-06 23:48:00 · 350 阅读 · 0 评论 -
oracle 审计用户连接
<br />为防止恶意用户对系统进行攻击,我们可以监控系统的连接情况。与此同时结合定期检查和分析,便可以迅速的发现那些异常和非法的数据库连接。<br /><br />实现对Oracle系统登录的审计的方法不是唯一的,这里给出使用触发器记录用户登录信息。希望能起到抛砖引玉的目的。<br /><br />1.创建记录审计信息的表<br />conn sec/sec<br />create table audit_user_connect<br />(<br /> user_id varc原创 2011-04-03 21:14:00 · 825 阅读 · 0 评论 -
ORACLE Profile
<br />1.为什么使用profile?<br />oracle中的profile类似于操作系统的profile,是一组资源使用的限制定义,指定给用户就限定了这个用户所能使用的资源。比如你想限制一个用户登录的时候密码输入连续失败六次则锁定该账户,那么使用profile是最好的选择。<br />2.查看profile?<br />数据库中有一个默认的profile:default,默认情况下,数据库中的所有用户(除了DBSNMP)使用的都是这个profile。12345678转载 2011-05-23 13:15:00 · 704 阅读 · 0 评论 -
dbms_metadata.get_grant_ddl 和 dbms_metadata.get_ddl
<br />Oracle的9i增加了DBMS_METADATA包,从此在需要得到对象的创建脚本时,不再需要通过查询多张系统视图去自己拼凑结果了。只需要调用这个包中的GET_DDL过程就可以轻松的获取对象的创建脚步。<br />不过很多人对DBMS_METADATA包的了解仅限与此。当需要获取用户的权限时,往往还是采用通过到数据字典中读取的方式,其实DBMS_METADATA包本身就支持获取权限信息。<br /> <br /> <br /><br />DBMS_METADATA的GET_GRANTED_DDL转载 2011-05-23 12:34:00 · 3517 阅读 · 0 评论 -
ASM 详解
<br />ASM<br />ASM是 Oracle数据库 10g中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件 RAID等服务。ASM可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O以删除“热点”。它还支持直接和异步的 I/O并使用 Oracle9i中引入的 Oracle数据管理器 API(简化的 I/O系统调用接口)。 <br /> <br />,ASM不是一个通用的文件系统<br />ASM不是一个通用的文件系统,并只能用于 Or转载 2011-05-22 00:14:00 · 1086 阅读 · 0 评论 -
Fatal NI connect error 12537的解决
症状描述:listener在oracle未启动前,status,start,stop 正常。 oracle启动后,status,start,stop超慢(近5分钟每个命令)解决:注释掉 /etc/resolve.conf 配置文件中对 DNS 的解析alter.log里报大量的错误 ***********************************************************************Fatal NI connect error 12537, connecting to原创 2011-05-19 19:03:00 · 6521 阅读 · 0 评论 -
本地索引和全局索引区别
<br />表可以按range,hash,list分区,表分区后,其上的索引和普通表上的索引有所不同,oracle对于分区表上的索引分为2类,即局部索引和全局索引,下面分别对这2种索引的特点和局限性做个总结。<br /> <br />局部索引local index<br /> <br />1. 局部索引一定是分区索引,分区键等同于表的分区键,分区数等同于表的分区说,一句话,局部索引的分区机制和表的分区机制一样。<br />2. 如果局部索引的索引列以分区键开头,则称为前缀局部索引转载 2011-05-15 22:22:00 · 785 阅读 · 0 评论 -
SQL*PLUS 环境变量参考
<br />SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设<br />置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。可用SET命令改变这些系统变<br />量,也可用SHOW命令列出它们.<br />使用set命令的语法如下:<br /> SET 系统变量 值<br />其中系统变量及其可选值如下:<br /> ARRAY[SIZE] {20(默认值)|n}<br /> AUTO[COMMIT]原创 2011-04-08 10:44:00 · 412 阅读 · 0 评论