Oracle ACE,腾讯云TVP,墨天轮MVP,Oracle 10g/11g OCP,11g OCM,Exin DevOps Master,OCMU成员,Oracle YEP成员,微信公众号:bisal的个人杂货铺
续上篇:http://blog.csdn.net/bisal/article/details/39225373 4. 10046事件 通过10046事件也可以查看目标SQL的执行计划。
最近做一个天信达货运接口的项目,碰到这么个诡异的问题。 背景: 使用proc写的应用,向数据库插入记录。表中有三个VARCHAR2(4000)类型的字段。
使用SQLPLUS执行SQL时,像SELECT语句通常返回结果可以带有“已返回XX行”这样的提示,但最近打开一个库发现没有这样的提示。经@黄玮 @乔晓阳大师指点,有个feedback的参数设置,现总结如下。
续上篇:http://blog.csdn.net/bisal/article/details/38919181 3. AUTOTRACE开关 SQLPLUS中打开AUTOTRACE开关可以得到SQL的执行计划。
这两天执行导入dump文件时总碰到一个问题。 问题现象: 1. 执行:imp xyz/xxx file=test.dmp log=imp_test.log fromuser=test1 touser=test2 ignore=y commit=y buffer=300000000 feedback=10000 注:这个文件dump>200G容量。
最近负责搭建某系统的用户环境,其中涉及从测试环境导入数据,由于受客观因素制约,不能使用传输表空间方法同步,因此需要用imp/exp或数据泵的方法,这里采用的是imp/exp。
SQL的执行计划实际代表了目标SQL在Oracle数据库内部的具体执行步骤,作为调优,只有知道了优化器选择的执行计划是否为当前情形下最优的执行计划,才能够知道下一步往什么方向。
今天同事反映一个问题,某个测试库修改了密码,并改了相关应用使用的密码后,仍出现一会账户就被锁住,报ORA-28000: the account is locked的错误。
表空间状态-READ ONLY、READ WRITE 1. 只读表空间的主要用途就是为了消除对数据库大部分静态数据的备份和恢复的需要。Oracle不会更新只读表空间爱你的文件,因此这部分文件可以存储于只读介质中,例如CD-ROM或WORM drives。
前几天问一个表空间状态的问题,也暴露了自己基础知识的薄弱,之所以总结如下两篇博文,主要还是让自己静下心来,补一下相关知识点,并通过实践强化自己的理解。
1. 创建用户: SQL> create user user01 identified by user01; User created. 但登录提示01045的错误,缺少CREATE SESSION权限。
11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大。
安装Oracle可能有些人认为是一件很简单的事情,但其实是在安装的过程中蕴含着丰富的知识点,尤其安装在Linux平台,可能会碰到这样或那样各种诡异的问题,透过问题看到本质,这才是从深处理解Oracle的精髓,至少我是这样认为的,欢迎拍砖。
一段业务逻辑,需要先判断一条记录在数据库中是否有存在,若存在则更新该记录,若不存在则插入记录。 应用之前的做法是: 1、先用条件判断记录在数据库中的个数。
今天建库时选择了OMF方式,结果文件名称采用Oracle自动命名的方式,看不懂啊,于是乎决定删除再重建。 Oracle提供了删除数据库的指令:drop database。
总是对Oracle的左连接、右连接以及(+)对应的外连接类型糊涂,通过实验加深对连接类型语法的理解。外连接分为三种: 1. 左外连接,对应SQL关键字:LEFT (OUTER) JOIN 2. 右外连接,对应SQL关键字:RIGHT (OUTER) JOIN 3. 全外连接,对应SQL关键字:FULL (OUTER) JOIN 左右外连接都是以一张表为基表,在显示基表所有记录外,加上另外一张表中匹配的记录。
LGWR进程按照顺序写在线日志,中间不会跳跃,而且LGWR进程不会在同一个日志快写2次,即使一次写入的日志快只占几个字节,下次不会再用了,这就造成日志空间的浪费。
前两天有位朋友在QQ群问了一个问题,背景如下: 继续问后,有如下回复: 1、对方服务器连接无问题。 2、从client可以telnet服务器的1521端口。
Oracle 11g之前,当数据库出现问题时,往往第一时间需要看alert日志,看看里面记录了哪些错误,可以给我们提示。alert文件名则 是alert_.
今天同事问了一个问题:“创建用户分配的权限是:grant connect,resource to user;,但是建立view的时候失败了,错误是权限不够,后来我给这个用户分配了创建view的权限,然后创建view才可以成功。
自从Oracle 10g开始支持AWR以后,相比于Statspack,除了有更多新的内容可供参考,HTML保存格式也是为查看文档提供了很多便利。 最近在看尼米克,尼大师的著作,从AWR这一章节开始看,虽然没看完,但看过的内容当中,精辟地说明了AWR使用上的一些常用方法,个人感觉非常实用,至少没有废话,所以在这里也汇总下,方便以后检索。
视图可以屏蔽某些基表的信息,或是join多个基表组成一个复杂查询,视图本身也是可以进行DML操作,但受一些条件的限制。 首先我们看下官方文档对视图进行DML操作的要求说明: The following notes apply to updata...
database linke是建立一个数据库到另一个数据库的路径的对象,通过database link可以允许查询远程表,我理解可以算作一种分布式数据库的用法。
Oracle的sequence通常可以用来作自增列,例如主键,因为他可以自动累加并且唯一。创建sequence时有几个参数,MAXVALUE、MINVALUE、CYCLE、NOCYCLE、NOMAXVALUE等,这几个参数我们日常使用的时候可能不会太在意,但有些细节问题碰到的时候就需要明确下。
问题: 为表空间添加一个100M的数据文件,产生的数据文件直接就是100M,还是开始为0,逐渐增大的? 实验: 为OPEN_TBS表空间增加一个数据文件: alter tablespace OPEN_TBS add datafile '/oracle/oradata_petest/petest/open_tbs02.
16、一路安装后,会提示以下界面,此时需要用root登录以下目录,然后执行这两个脚本。 至此,Oracle软件的安装就已经完成了,接下来就可以创建数据库了。
12、命令行启动 由于我是用VM进行安装的,所以首先需要修改默认启动为命令行的方式。 使用root登录,编辑/etc/inittab文件,将d:5:initdefault:改为d:3:initdefault: 知识点6:Linux的运行级别 #...
今天同事说申请了一个从生产导出的dump文件,需要导入测试库进行测试。 之前做的基本都是本库导出,本库导入的操作,例如:imp test/***@test tables=tbl_fuel file=H:\dev\data\tbl_fuel.dmp ignore=y这样的指令操作。
在上一章介绍expdp/impdp时曾使用过DIRECTORY这个概念,下面再简单说明下DIRECTORY的点点滴滴。 MOS上对DIRECTORY的解释(266875.1): (1)、基于服务端 vs 基于客户端 DIRECTORY变量指出了expdp导出数据泵或impdp导入数据泵将dump文件、log文件以及SQL文件(仅适用于impdp)写到什么路径。
之前在http://blog.csdn.net/bisal/article/details/19067515写过一篇关于expdp和impdp的实践的帖子,今天碰到个问题,有些内容没有介绍全,这里再补充下。
10、使用rpm安装包 如果本地有现成的相关包,可以直接使用rpm安装。rpm rpm包名,但有时会出现它需要其它包的支持,这时若需要忽略此提示,强行安装,执行rpm -i --force --nodeps +rpm包名。
4、磁盘空间 11g R2要求/tmp空间不能少于1G,若不满足要求,可以做以下两件事情之一: (1)、删除/tmp的空间,以满足磁盘要求。 (2)、设置TMP和TMPDIR环境变量。
安装前的准备工作: 1、下载oracle安装包 官方下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 需要说明的是当前官方网站仅提供Oracle 11g R2以后的安装文件,若是需要之前的版本,可以利用MOS提交SR的方式让Oracle提供下载链接。
Linux下安装Oracle的经历也许在很多人眼里就是一个日常的再普通不过的操作,但实际其中蕴含着大量的操作系统、Oracle、Linux指令操作等知识点。
测试库两张表,数据一致,(表有复合主键A+B),但同样执行DELETE TABLE FROM T1/T2 WHERE A='1' AND ROWNUM
昨天同事说有个应用执行某个特殊操作时会报:ORA-01455: converting column overflows integer datatype 网上包括MOS上对1455报错介绍更多的是在做exp导出时可能出现这个问题。
SQL>select * from test; 1 2 一、按照SCN进行恢复 SQL>select * from sys.smon_scn_time order by time_dp desc; 30970780 scn 与时间的对应关系:每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.
主外键关联,当删除的是父表数据,参照这些要删除的数据,Oracle有三种处理方式: 1、禁止删除,也是Oracle默认方法。 2、将参照要删除数据的子表对应数据置空。
LOBs,或Large Objects字段,是Oracle中用于处理存储非字符数据推荐的一种字段类型,例如mp3,video,图片,和long字符串数据。
[转自http://www.cnblogs.com/gulvzhe/archive/2012/08/24/2653867.html] JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘。
测试机总是断电,导致重启后Oracle不自动重启,需要手工操作,因此可以设置成自启动模式。 操作系统:Linux 数据库:Oracle 10g 1、vi /etc/oratab 找到bisal:/opt/oracle/102:N,将N设为Y。
昨天同事说有个测试库无法登录了,用PLSQL Developer登陆后提示: ERROR: ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.
导入导出我们经常用的是exp/imp命令,确实比较方便,但也有局限,例如需要导入导出的表空间名相同、schema名需要相同。 最近就碰到了这么个问题,此时expdp和impdp这种数据泵的导入导出工具就起了作用。
今天同事说有台机器由于假期停电,重启机器后,用PLSQL登录报: ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux_x86_64 Error: 2: No such file or directory 的错误。
收集统计信息可以用dbms_stats包,通常用这样的语法:exec dbms_stat.gather_table_stats(ownname=>'xxx', tabname=>'xxx', estimate_percent=>xxx, method_opt=>'xxx', cascade=>xxx); 其中estimate_percent表示选择的采样比例,如果太低,收集速度会快,但可能不会很准确,如果太高,收集速度会慢,但比较准确,各有利弊。
今天测试库有个账户的密码忘了,试了十几次就开始提示: ERROR: ORA-28000: the account is locked 意思明显就是账户被锁了,可能是用户的资源设置中对密码重试次数做了限制。
在写这篇博客的时候,2013还剩一分钟了,外面众人倒数计时的喧闹声,持续的汽车喇叭声,这一年经历了很多,有顺的,也有不顺的,有骄傲,也有挫败,些许感想只有自己才能体会到。
第二章:Oracle里的执行计划 2.1 什么是执行计划 Oracle用来执行目标SQL语句的这些步骤的组合就被称为执行计划。 执行计划可以分为如下三个部分: 1、目标SQL的正文、SQL ID和其执行计划所对应的的PLAN HASH VALUE。
前几天有位同事问到exp/imp是否涉及到版本问题,我认为,只要是软件,都会涉及到高低版本的兼容性问题,Oracle也是软件,自然也是这样。 简单的实验: exp工具版本:10g 导出的source数据库版本:9i bash-4.