今天碰到一个非常奇怪的问题问题,一条SQL语句在PL/SQL developer中很慢,需要9s,问题SQL: SELECT * FROM GG_function_location f WHERE f.parent_id =‘03000000000001‘; 表GG_function_location有5千万的数据,parent_id上是有索引的。 诊断第一步:就在PL/SQL developer中按F5,看到的执行计划是走索引的,应该不会慢啊。 第二步:在sqlplus中用autotrace看,非常快,0.06s。 第三部:我想要重现这种慢,于是在PL/SQ...
1. 选用适合的ORACLE优化器 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须经常运行analyze 命令,以增加数据库中的对象统计信息...
SQL>set autotrace traceonly statistics; SQL>insertinto big_table_dir_test1 select*from big_table_dir_test;2853792 rows created.Statistics----------------------------------------------------------148 recursive calls358348 db block gets111261 consistent gets2 physical reads333542568 redo size832 bytes sent via SQL*Net to client817 bytes received via SQL*Net from client3 SQL*Net roundtrips to...
在win7 2009 旗舰版中安装VirtualBox版本高于4.3.12时候会报安装错误:创建COM对象失败.应用程序将被中断.明细:被召者 RC:E_INVALIDARG(0x80070057)->点击确定后:不能为虚拟电脑xp打开一个新任务.The virtual machine‘xp‘ has terminated unexpectedly during startup with exit code 1 (0x1). More details may be available in ‘c:\User\Admininstrator\VirtualBox VMs\xp\Logs\VBoxStartup.log‘ 原文:http://www.cnblogs...
Oracle 获取当前日期及日期格式获取系统日期: SYSDATE() 格式化日期: TO_CHAR(SYSDATE(),‘YY/MM/DD HH24:MI:SS) 或 TO_DATE(SYSDATE(),‘YY/MM/DD HH24:MI:SS) 格式化数字: TO_NUMBER注: TO_CHAR 把日期或数字转换为字符串 TO_CHAR(number, ‘格式‘) TO_CHAR(salary, ‘$99,999.99‘) TO_CHAR(date, ‘格式‘) TO_DATE 把字符串转换为数据库中的日期类型 TO_DATE(cha...
背景:在同一台Linux服务器上,有两个数据库用户,分别为:database1,database2,如何把database1用户下面的所有的表和数据,导入到database2数据库(database2为新创建的用户,没有创建任何表,是一个空的数据库) 操作步骤:1、创建数据库用户database2(注:这里只创建新的数据库用户database2,database1数据库用户已经存在,并且database1用户已有表和数据)登录数据库linux服务器,切换成oracle用户(这里说的oracle指的是数...
to_char()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法1.to_char()函数分析 1)SQL中不区分大小写,MM和mm被认为是相同的格式代码 先看以下3个sql语句:12345select to_char(sysdate,‘yyyy-MM-dd HH24:mm:ss‘) from dual; select to_char(sysdate,‘yyyy-mm-dd HH24:mm:ss‘) from dual; select to_char(sysdate,‘yyyy-MM-dd HH24:mi:ss‘) from dual; 查询结果:1232017-02-22 13:02:42<br><br>...
脚本需要一个参数,即实例的名称,生成配置相关文件后,还会生成一个创建数据库的供sqlplus下运行的脚本语句。语句会放在运行脚本目录下的一个文件,文件名为: create_database_${sid}.sql。最后要把create_database_${sid}.sql中的语句拿到sqlplus中运行。注意: 运行之前请把ORACLE_HOME, ORACLE_BASE这两个环境变量设置正确注释没怎么写,因为我也不懂有些语句是什么意思 ,只是网上的东西整理了。有问题请指正素材来自网络,...
1、环境OS:SUSE Linux Enterprise 12 SP3 X86_64 (Kernel: 4.4.162-94.69.2) DB:12.2.0.1 两节点RAC2、节点1 root.shWWJD-DB1:/root #/oracle/app/12.2.0/grid/root.sh Performing root user operation.The following environment variables are set as:ORACLE_OWNER= gridORACLE_HOME= /oracle/app/12.2.0/gridEnter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ...Copy...
oracle 中数据库完全导入导出:cmd命令行模式 oracle数据库cmdfile数据库服务器constraints Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行时由于 在ora...
--游标的使用步骤1、声明游标 2、打开游标 3、获取数据 4、关闭游标 declarecursor cur isselect*from emp; t_sal cur%rowtype; beginopen cur; loop fetch cur into t_sal; exitwhen cur%notfound; dbms_output.put_line(t_sal.ename ||‘:‘|| t_sal.sal); end loop; close cur; end; 原文:https://www.cnblogs.com/hkdpp/p/8301940.html
oracle 数据导入时imp 用户名/密码@服务名 file =文件路径.dmp fromuser= touser=执行命令之前应将数据库里面 myobject下的所有view 索引 存储过程 等删除掉 在执行命令 不然会报错原文:http://www.cnblogs.com/Small-Life/p/3722077.html
oracle Plsql 执行update或者delete时 遇到过Plsql卡死问题或者导致代码执行sql的时候就卡死。在开发中遇到此问题的时候,本来把sql复制出来,在plsql中执行,Sql本身拼写无误,但是出现plsql卡死的情况,在代码中,执行sql的地方打断点debug,发现执行sql,仍然没有响应。经过网上查资料,猜测导致这种情况的原因是 可能在PLSQL Developer执行update时没有commit,oracle将该条记录锁住了。 可以通过以下办法解决: 先查询锁定记...
varchar2(byte) 存储的是字节。varchar2(char) 存储的是字符。 varchar2(2 byte) 最多可以存储2个字节,varchar2(2 char) 最多可以存储2个字符。 当数据库字符集分别:1.为 AL32UTF8 时,1个汉字是1个字符,1个汉字占3个字节,varchar2(2 byte) 一个汉字也不能存,varchar2(2 char) 能存2个汉字。2.为 ZHS16GBK时,1个汉字是1个字符,1个汉字占2个字节,varchar2(2 byte) 能存1个汉字,varchar2(2 char) 能存2个汉字。 默认情况下,...
一、介绍角色就是相关权限的命令集合,使用角色的主要目的就是为了简化权限的管理。假定有用户a,b,c为了让他们都拥有如下权限1. 连接数据库2. 在scott.emp表上select,insert,update。如果采用直接授权操作,则需要进行12次授权。因为要进行12次授权操作,所以比较麻烦喔!怎么办?如果我们采用角色就可以简化:首先将creat session,select on scott.emp, insert on scott.emp, update on scott.emp 授予角色,然后将该角色授予...