`
mikixiyou
  • 浏览: 1099008 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:353158
社区版块
存档分类
最新评论
文章列表
Oracle shared pool 主要分为library cache 、dictionary cache 和control structure 三个部分。 第一部分library cache 保存已执行的SQL 和PL/SQL 语句,和它们的执行计划等信息。 library cache 管理机制是采用一种hash 算法,实现library cache object 的快速查找和保存。 该hash 算法将library cache  空间定义为hash table 。hash t ...
分析对象Oracle 10.2.0.4 64bit for linux。先声明一下,分析过程和结论都是个人理解,不一定是正确的。 如果有疑问和建议,欢迎一起讨论学习。 SGA 包含fixed sga 、buffer pool(db cache) 、shared pool 、large pool 、java pool 、streams pool  和redo buffers 。 SGA 中的pool 由多个granule ...
『算法有时候很有趣,万物皆是数!此文属于转载,目的是保存一份在这里。』   很 多年前我进入硅谷人才市场,当时是想找一份高级工程师的职位。如果你有一段时间没有面试过,根据经验,有个非常有用的提醒你应该 ...
NSString是一个不可变的字符串对象。这不是表示这个对象声明的变量的值不可变,而是表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间。而NSMutableString是可变的,意味着你可以追加它的内存空间,或者修改它所分配的内存空间中的值。 因为NSMutableString和NSString的差别,所以他们之间的互相转换使用使用合适的方法。 将NSMutableString转换成NSString有下列几种方法。   (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1631106 ...
在Oracle 10g 的性能调优时,可以使用到的工具主要有三个,分别为ASH(active session history) 、AWR(automatic workload repository) 和ADDM(automatic database diagnostic monitor) 。这些工具比9i 中的statspack 有很大提升。 试想,在数据库出现性能问题,慢得要死的时候,最需要知道的就是系统慢在哪里。知道得越快越好。如果等待某个取样时间到了之后才能分析,这不是一个令人满意的解决过程。 以前 遇到这种情况,我们会去手工查动态性能视图,但在10g 中,使用 ...
       从Oracle 8开始,我们就可以从一个collection类型的数据集合中查询出数据,这个集合称之为“虚拟表“。它的方法是“SELECT FROM TABLE(CAST(plsql_function AS collection_type))”,据说该方法在处理大数据量时会有内存方面的限制。 ...
将一个字段的多行记录按照另一个字段值进行分组,组合成一行记录。新组合成的一行记录可以使用特定字符如逗号加以区分。 在以前的文档中,我写好一个方法( http://mikixiyou.iteye.com/blog/1489127 )。使用row_number() over 函数。那是在Oracle 10g中使用到的,在11g中提供一个新函数listagg来实现该功能,简单易用。   在Oracle 10g中,如果将scott.emp中字段deptno相同的不同ename的记录,从多行记录聚合转换成一行。这是需要自己开发才能完成的。 scott.emp表中原始记录如下:    DE ...
在Oracle 数据库中,将一张表的部分字段转换导入到另外一张表的部分字段中,如"insert into t_target(owner,object_name) from t_source;" 。 这也是解决此类数据迁移的的常规操作方法。 如果源表记录数不是很多,操作操作也无妨。 但是若源表记录数一旦超过百万千万,执行时间就长了,占用的回滚段也大。不小心执行失败,又要全部回滚。 有没有更好的方法,加hint 如nologging append, 甚至parallel 。 这些我认为都不是很好的方法 ...
在MAC OS/iOS 开发时,我们会遇到这类情况。如何将输入的符合数字格式的字符串,转换成NSNumber 类型的对象。 我首先写了这个方法:   id result; NSString * ss; ss=@"124"; result=[NSNumber numberWithFloat:[ss floatValue]]; NSLog(@"%f",[ss floatValue]); NSLog(@&qu ...
在objective-c中,如何去掉一个string 的前后的空格字符或某个特定字符呢? 如@ “ abc 123 ”字符串前后有空格,该如何去掉? 使用nsstring 的实例方法stringByTrimmingCharactersInSet :可以解决该问题。 方法如下: [@" abc 123 " stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; NSString *newString = [oldString stringBy ...
使用pl sql的数组功能、循环机制将小于10的16次方的任意阿拉伯数字转换为中文大写数字。该函数从原来的200多行,优化成现在70行左右。 始终相信,最少的代码实现某个功能才是最优雅的开发方式,代码越少出bug的概率就越低。 从开发、调试、到优化这个函数,我用掉了约5个小时的时间,最后只有短短的70行。顺便膜拜一下,那个解放军美女尖兵:90昼夜主持编写40万行代码     (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1608834 )   附上函数代码: create or replace funct ...
在pl sql 中,集合(collection) 是一组有序的元素组成的对象,这些元素的类型必须一致。 pl sql 将collection 分成3 类,分别为Associative arrays (也称index-by tables )、Nested tables 、Varrays 。 Associative arrays ,可以看着是一个数据字典,有key,value 两列。key 值可以是任意数字和字符串,value 值可以是任意对象包括collection 类型的对象。 Nested tables ,可以看着是一个一维数组,可使用数字编 ...
这是一个使用PL SQL开发的计算器程序,实现基本的数学运算。根据提供的数组,展现输入过程,计算出结果。 这个在stanford iphone2011教程的作业的另外一种实现方法。但那个是需要用obj-c实现,我这个是用pl sql实现。   这个存储过程中,使用了collection的复杂操作实现计算数据和计算符号的处理,使用递归实现计算的反复调用。 实现 加减程序正弦余弦N次方和N次方根的计算,和输入过程描述。   Version 1.1   create or replace PROCEDURE run_science_program_v2 AS type typ_p ...
      从Oracle 9i 开始,Oracle 数据库就提供一种表的数据压缩特性。它可以显著地减少磁盘空间占用,并且在表的数据查询时也会减少该表内存读的量,该机制也会提升查询性能。   这种特性通常在数据仓库类应用中广泛使用。   (miki 西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1600337 )   1 、表的压缩原理 Oracle 的压缩特性是在一个数据块中通过消除相同值而实现。一个数据块中任何重复出现的值会被同一个块中“ s ...
数据库Oracle 10.2.0.4 for linux x86 64bit,正常运行430天。在今天早上10点钟,Oracle监听器进程突然宕机。 在操作系统的message中显示错误信息为”tnslsnr segfault error 4”,监听器日志文件因为体积达到4GB,没有记录下这次出错日志。 根据错误关键字“tnslsnr segfault error 4”,搜索发现该问题是在负载比较大时,物理内存不足出现页面换入换出触发了bug  6139856 ,从而导致了监听器进程宕机。 说明一点,监听器进程宕机,不会影响已有的连接,只是新建连接不可以了。对于使用连接池的WEB应用影 ...
Global site tag (gtag.js) - Google Analytics