Oracle管理和开发
收藏

从数据库管理和开发两个角度来看待Oracle为数据库平台的应用,记录的文字都是来自日常工作和学习的总结,是不同项目的血与汗的积累。

分享到: Sina Tec

最近更新文章

Oracle分区表的分区交互技术实现数据快速转移

有一个需求,将某业务表的某个时间点之前的记录转移到它的历史表中。如果当前业务表不是基于这个业务时间点的分区表设置,那只能insert再delete操作。这种转移数据的方法非常非常低基础。经常在初级的数据库管理人员和开发人员的程序中出现。不是说这个方法不好,对于转移的记录数量在几十几百条,而转移频率高,转移时间点随机的情况而言,这个方法还是挺管用的。但如果转移的数据量一次数以百万计的话,这种方法就 ...
mikixiyou 评论(2) 有14647人浏览 2013-01-22 11:48

Oracle数据库的SQL性能问题分析

在Oracle 10.2.0.4数据库中,有一个SQL执行缓慢,超过数分钟无结果,等待事件又是空闲的SQL*Net message事件,最后只好强行中断。 这个SQL是一个普通的UPDATE语句,where子句中多张表关联,关联的表都是临时表。 update t_fund_product_info set is_valid = 'N' where prdt_id not ...
mikixiyou 评论(0) 有5213人浏览 2012-12-27 15:31

创建增量同步Oracle物化视图问题

我们采用Oracle的物化视图增量刷新机制定时将数据库A上的某个表的数据同步到另一个数据库B上。 我们常用的最简单的实现步骤是这样。首先在数据库A上确认该表有主键,然后建立在这个表上建立物化视图日志如“CREATE MATERIALIZED VIEW LOG ON T_tablename;”,再到数据库B上创建数据库链接和快速刷新的物化视图如“create materialized view ...
mikixiyou 评论(1) 有15164人浏览 2012-12-25 14:07

Oracle sql loader使用速成

Oracle SQL LOADER是Oracle的数据加载工具,用来将固定格式的文本文件中数据加载到Oracle数据库中。它提供了最快捷的加载途径(direct / parallel),是大数据快速 ...
mikixiyou 评论(1) 有4816人浏览 2012-11-30 14:14

to_char将number转成string的小技巧

很多数据转换处理操作时,会遇到将0.007007040000转换成0.70%的需求,我们使用Oracle 的SQL 函数 to_char可以实现这种转换。 这个函数用来将DATE或NUMBER数据类型转换成可显示的字符串,格式是to_char(number_type, format_mask)。 格式'999.99',9表示对应的某一个指定位数的值,如果是值是0则忽略不显示,如果指定 ...
mikixiyou 评论(0) 有10549人浏览 2012-11-27 14:14

to_date转成字符串时ORA-01843 not a valid month 问题分析

(注,本文三度易稿) 在开发Oracle SQL或PL/SQL程序过程中,我们常常遇到将字符串类型转换成DATE类型的需求。我们会使用to_date来实现这个转换需求。但有时候这种转换会出错,报ORA-01843:not a valid month。有时候这种转换在开发系统上测试时是正常的,部署到生产环境时却出这种错误。 例如,我们需要将字符串类型的字符串'19-JUN-01'转换为时间类型的 ...
mikixiyou 评论(3) 有29115人浏览 2012-11-26 16:38

第三方应用的数据库用户如何创建

在日常管理的Oracle数据库中,会有第三方应用需要操作数据库。第三方应用会要求在数据库中创建一个用户,用于读写自己的对象和其他的对象。 关键 ...
mikixiyou 评论(0) 有3069人浏览 2012-11-05 11:42

oracle限制某IP的连接数

在数据库管理中,会出现限制某个IP访问数据库的连接数或某个用户访问数据库的连接数的需求。 对于用户访问数据库的连接数限制,我们可以从数据库的profile上着手,使用profile的特性实现该需求。 对于IP访问数据库的连接数限制,从数据库上可以使用logon on database触发器来实现。   每一次新会话登录,都将IP记录在vrsession的client_info中,然后coun ...
mikixiyou 评论(0) 有3555人浏览 2012-10-26 11:34

Oracle 11g RAC的常用管理

在Oracle 11g RAC中,主要管理工具是srvctl和crsctl。   srvctl(Server Control)是一个命令行工具,可用于管理定义在Oracle Cluster Registry (OCR)上的资源。 这些资源包括节点应用(nodeapps),它构成Oracle Cluterware,而其包括the Oracle Notification Service (ONS) ...
mikixiyou 评论(0) 有4360人浏览 2012-10-19 14:48

oracle asm实例的aud文件问题

在Oracle 10g数据库服务器上,$ORACLE_HOME/rdbms/audit目录下,生成了大量的以aud为扩展名的文件。 查看一下日志文件内容,记录的都是以sysdba访问数据库实例ASM的操作。   这是因为: 以sysdba身份访问oracle asm 实例,不管你打开或者关闭审计,系统都会在$ORACLE_HOME/rdbms/audit目录下记录访问日志,生成*.aud文件 ...
mikixiyou 评论(0) 有4822人浏览 2012-10-19 10:26

PLSQL表函数实现字符串拆分

在应用程序开发中,会出现单选或多选框条件输入的需求。如输入框的输入值为'sz',或'sz|nj|zj|nt',在SQL中会这样处理。 select * from tab_1 where col_1='sz' ;这是单选框输入。 select * from tab_1 where col_1 ='sz|nj' ;这是多选框输入。 很明显,多选输入值不会查询出结果。   如何解决这个问题? ...
mikixiyou 评论(2) 有5334人浏览 2012-09-19 16:46

关于Oracle执行计划

所谓执行计划 执行计划是指Oracle 运行的一条SQL 语句按照某一顺序操作的动作。 使用explain plan for 语句可以查看执行计划。在plsql developer ...
mikixiyou 评论(0) 有2461人浏览 2012-09-11 15:52

Oracle的pipelined函数实现高性能大数据处理

在plsql开发中,会涉及到一些大数据量表的数据处理,如将某记录数超亿的表的记录经过处理转换插入到另外一张或几张表。 常规的操作方法固然可以实现,但时间、磁盘IO、redo日志等等都非常大。Oracle 提供了一种高级函数,可以将这种数据处理的性能提升到极限。这种函数称为管道函数。 在实际项目中,管道函数会和表函数、数据流函数(即表函数和CURSOR结合)、数据集合、并行度一起使用,达到大数据处 ...
mikixiyou 评论(2) 有20935人浏览 2012-09-07 16:47

Oracle的pipelined函数提升数据输出性能

       从Oracle 8开始,我们就可以从一个collection类型的数据集合中查询出数据,这个集合称之为“虚拟表“。它的方法是“SELECT FROM TABLE(CAST(plsql_functi ...
mikixiyou 评论(0) 有6436人浏览 2012-08-10 15:55

使用bulk collect insert实现大数据快速迁移

在Oracle 数据库中,将一张表的部分字段转换导入到另外一张表的部分字段中,如"insert into t_target(owner,object_name) from t_source;" 。 这也是解决此类数据迁移的的常规操作方法。 如果源表记录数不是很多,操作操作也无妨。 但是若源表记录数一旦超过百万千万,执行时间就长了,占用的回 ...
mikixiyou 评论(2) 有9583人浏览 2012-08-09 16:12

使用plsql实现阿拉伯数字转中文大写

使用pl sql的数组功能、循环机制将小于10的16次方的任意阿拉伯数字转换为中文大写数字。该函数从原来的200多行,优化成现在70行左右。 始终相信,最少的代码实现某个功能才是最优雅的开发方式,代码越少出bug的概率就越低。 从开发、调试、到优化这个函数,我用掉了约5个小时的时间,最后只有短短的70行。顺便膜拜一下,那个解放军美女尖兵:90昼夜主持编写40万行代码     (mik ...
mikixiyou 评论(8) 有4741人浏览 2012-07-27 11:33

PLSQL集合类型的使用总结

在pl sql 中,集合(collection) 是一组有序的元素组成的对象,这些元素的类型必须一致。 pl sql 将collection 分成3 类,分别为Associative arrays (也称index-by tables )、Nested tables 、Varrays 。 Associative arrays ,可以看着是一个数据字典,有key,v ...
mikixiyou 评论(0) 有6011人浏览 2012-07-26 14:06

以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析

在linux 操作系统的数据库服务器上,使用”sqlplus / as sysdba” 登录Oracle 10.2 数据库实例时,登录失败,显示ORA-01031:  权限不足。 在数据库所在服务器上登录的操作,使用的是操作系统认证方式登录数据库实例。在出现“ORA-01031 “ 的错误错误时,首先去检查sqlnet.ora 文件中SQLNET.AUTHENTICA ...
mikixiyou 评论(1) 有39953人浏览 2012-07-11 11:26

RMAN不恰当配置导致Oracle数据库备份死慢

这是一个发生在Oracle数据库上使用RMAN进行数据库操作因在默认配置中使用不合适的配置导致备份性能慢到不能接受的问题。 在整个问题解决过程中,涉及了存储商、网络、操作系统以及Oracle等等。解决过程复杂和艰难,甚至都开始怀疑自己了,到最后峰回路转,在RMAN备份的输出日志发现了关键信息,使得问题得以解决。 这个问题我们想复杂了。如果我们能仔细一点,多看看日志信息,就能节省很 ...
mikixiyou 评论(2) 有12244人浏览 2012-07-04 13:35

hugepages使用出现kswapd导致系统负载突然上升

在运行Oracle 数据库的linux 服务器上,某个时间段的每分钟负载会突然上升到40 以上,在进程队列里看到kswapd0 出现,导致数据库无响应,持续时间数分钟。 对于应用而言,这个时间段有明显的停滞感,像系统已经挂掉了一样。 如果这是发生在Oracle RAC 环境中某一个节点上,那么这个节点就可能会重启。 这属于非常严重和致命的问题。 (miki西游 ...
mikixiyou 评论(0) 有6776人浏览 2012-07-02 10:59
  • 专栏创建者:mikixiyou
  • 创建时间:2012-06-12 15:21:22
  • 专栏文章数:44篇
  • 专栏被浏览:348963 次

本专栏热门文章

最新评论

请问对于“如果非主键字段值发生改变,则不会同步过去”这种情况,有没有什么解决方案?
Simon.Ezer 评论了 创建增量同步Oracle物化视图问题
挺好的,支持一下
dahai639 评论了 Oracle的pipelined函数实现高性能大数据处 ...
不错,原来是用户oracle 的所属组的问题
zealotpz 评论了 以sysdba身份登录oracle报ORA-1031权限不足 ...
zhangyuslam 写道如果担心全局索引失效,可以使用如下语句吧:alter index PK_S ...
mikixiyou 评论了 Oracle分区表的分区交互技术实现数据快速转 ...
...
sea0108 评论了 Oracle sql loader使用速成
如果担心全局索引失效,可以使用如下语句吧:alter index PK_SALE rebuild pa ...
zhangyuslam 评论了 Oracle分区表的分区交互技术实现数据快速转 ...
limit的值与内存使用有关,越大需要运行内存就越多,怎么确定这个值呢?
sunzheng04 评论了 使用bulk collect insert实现大数据快速迁 ...
masuweng 写道楼上写的不错小技巧,不足挂齿。
mikixiyou 评论了 to_date转成字符串时ORA-01843 not a vali ...
楼上写的不错
masuweng 评论了 to_date转成字符串时ORA-01843 not a vali ...
...
caijingbin0207 评论了 to_date转成字符串时ORA-01843 not a vali ...
Global site tag (gtag.js) - Google Analytics