`
mikixiyou
  • 浏览: 1098983 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:353152
社区版块
存档分类
最新评论
文章列表
在Oracle 10g数据库服务器上,$ORACLE_HOME/rdbms/audit目录下,生成了大量的以aud为扩展名的文件。 查看一下日志文件内容,记录的都是以sysdba访问数据库实例ASM的操作。   这是因为: 以sysdba身份访问oracle asm 实例,不管你打开或者关闭审计,系统都会在$ORACLE_HOME/rdbms/audit目录下记录访问日志,生成*.aud文件。 Audit file /u01/app/oracle/product/10.2.0/db/rdbms/audit/ora_2998.aud Oracle Database 10g Enterpr ...
使用数组对象创建的数组功能非常强大,在Java语言或者C语言中定义的数组必须满足数组中的每一个元素必须是同样的类型。 而Objective-C语言可以在Array数组中放任意类型的objective-c的对象。有两点值得注意,一是只能放指向这个对象的指针,而不能直接放int ,char,double 等等;二是不能放nil。 使用NSArray关键字创建一个不可变的数组,一旦初始化完毕后这个数组的元素是不可以再动态地添加和删除。 [array count] : 得到这个对象数组的长度。 [array objectAtIndex:0]: 传入数组脚标的id 得到数据对象。 ...
NSSting的对象在使用@"xx"直接初始化赋值时,它会在内存"stack segment"中分配一个空间,用于保存该变量。 相同赋值的对象,会采用相同的内存空间,表现为内存地址相同。 可以理解为NSString的isa的值是一样的。     NSString *str2=@"e中国2";     NSString *str3=@"e中国2";       // %p for pointers to show the memory address     NSLog(@"str2'a ...
在objective-c中定义两个类,用于测试对象的定义操作。 首先定义两个类Vehicle和Ship。 @interface Vehicle - (void)move; @end @interface Ship : Vehicle - (void)shoot; @end   对象定义操作的方法会有很多,下面罗列一些典型的操作方法。如下所示: Ship *s = [[Ship alloc] init]; [s shoot]; 编译器不会报警,因为向s对象发送消息shoot,其类可以使用shoot方法处理这个消息; [s move]; 编译器不会报警,因为向s对象发送消 ...
         在11g R2 的clusterware 和asm环境下,我们出于升级或者迁移数据的目的,会运行10g的rdbms环境。在使用10g 的rdbms 创建数据库时,需要事先做一些调整,否则会出现这样那样的问题。 错误一:在选定ASM 存储时,dbca 不能启动已经配置好的asm 实例; 具体错误信息如下: "DBCA could not startup the ASM instance configured on this node. To proceed with the databa ...
在即将发布的oracle 12c中,有一个新特性非常值得期待,这就是翻页查询优化。 在应用中有很多翻页查询功能,以前我们都是使用rownum来实现。 如查询1-10条记录,使用的查询语句就是这样:   select * from (select row_.*, rownum rownum_ from (select doc_id, title, title_color, title_striking, ...
在oracle数据库操作中,经常会有不小心误删除数据、drop表的情况出现。以前,这种情况发生后,开发人员通常会去求助DBA或管理者,使用数据库备份恢复去找回这些数据。 从oracle 9i、10g开始,你可以不必去用备份来恢复了。有一种快速恢复方法,称之为flashback。你可以flashback query,也可以flashback table。   (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1682086 )   一、FLASHBACK QUERY 适应范围:表中的数据持续变化,需要看到某个时间点错误 ...
在应用程序开发中,会出现单选或多选框条件输入的需求。如输入框的输入值为'sz',或'sz|nj|zj|nt',在SQL中会这样处理。 select * from tab_1 where col_1='sz' ;这是单选框输入。 select * from tab_1 where col_1 ='sz|nj' ;这是多选框输入。 很明显,多选输入值不会查询出结果。   如何解决这个问题?   方法一,使用动态SQL实现的方法,如拼装成这样的SQL语句:select * from tab_1 where col_1 in ('sz','nj') ;动态SQL调试麻烦。   方法二, ...
  根据一份规范文档,写了一个用于日后项目开发的示例用途的存储过程。   这篇文档对数据库开发的初学者有帮助。严格执行的规范有利于程序代码的阅读和扩展。   规范 变量类型 前缀 范例 说明 数值型 i_
在obj-c中,字符串使用NSString定义成一个用于保存字符串的对象变量,而数字则使用原始类型float、int定义成一个变量,这是一个原生态的变量。 这两种变量之间在开发时会需要相互转化。 下面是常用的转化方法: NSString *tempA = @"123"; NSString *tempB = @"456";   (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1615984 ) 1、字符串拼接  NSString *newString = [NSString ...
在oracle中,将一张表的数据复制到另外一个对象中。通常会有这两种方法:insert into select  和 select into from。 前者可以将select 出来的N行(0到任意数)结果集复制一个新表中,后者只能将"一行"结果复制到一个变量中。这样说吧,select into是PL/SQL language 的赋值语句。而前者是标准的SQL语句。 做一个简单测试,我们就可以很容易地看出两者的差别。   (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1676733 ) 首先,我们 ...
所谓执行计划 执行计划是指Oracle 运行的一条SQL 语句按照某一顺序操作的动作。 使用explain plan for 语句可以查看执行计划。在plsql developer 工具中,可以直接使用explain plan window 查看SQL 语句的执行计划。   SQ ...
在plsql开发中,会涉及到一些大数据量表的数据处理,如将某记录数超亿的表的记录经过处理转换插入到另外一张或几张表。 常规的操作方法固然可以实现,但时间、磁盘IO、redo日志等等都非常大。Oracle 提供了一种高级函数,可以将这种数据处理的性能提升到极限。这种函数称为管道函数。 在实际项目中,管道函数会和表函数、数据流函数(即表函数和CURSOR结合)、数据集合、并行度一起使用,达到大数据处理的性能顶峰。   (miki西游 @mikixiyou 原文链接: http://mikixiyou.iteye.com/blog/1673672 )   下面是一个例子,将表t_ss_n ...
在非sys,system用户的存储过程中,查询v$开头的视图,如v$mystat,v$statname等。这些视图查询是需要在sys下显示授权后才能在存储过程中使用。 但是,如果我们使用grant on v$view to username,则会收到ORA-02030错误。 如下所示: SQL> grant select on v$mystat to scott;   grant select on v$mystat to scott   ORA-02030: 只能从固定的表/视图查询 这是因为v$mystat不是一个视图,其实它是一个同义词。   因此,需要将同义词对 ...
从物理角度上看Oracle shared pool ,它是由多个内存块组成。这里的内存块相当于数据文件中的数据块,是最小的分配单位。这个最小分配单位称为chunk ,它里面的内存字节是连续的。但每个chunk 的大小是不固定的。 shared pool 的内存分配由heap (堆)来实现。heap 的个数由隐含参数”_kghdsidx_count “ 来决定。 每个heap 下又有多个sub-heap ,他们之间的关系称为高级堆和副堆。他们的结构大致相同。 heap 由一个或多个extent 和hea ...
Global site tag (gtag.js) - Google Analytics