Oracle相关
文章平均质量分 63
qq_22472921
这个作者很懒,什么都没留下…
展开
-
WM_CONCAT字符超过4000的处理办法 (ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小)
在进行使用WM_CONCAT或者自定义的聚合函数,进行拼串的时候,可能遇到拼串形成的结果集大于4000,这时候,系统会提示,超过系统限制。所以,在这个时候,最好的处理办法就是将结果集处理成CLOB格式,下面共有两种处理方式:1、使用函数类型: create or replace type str2tblType as table of varchar2(4000)函数: CREATE OR REP...原创 2018-05-03 16:47:14 · 6061 阅读 · 0 评论 -
Oracle 多个查询结果的交集、差集和并集
union/union all运算:将查询的返回组合成一个结果, union all不过滤重复。SELECT product_id FROM order_itemsUNIONSELECT product_id FROM inventories; SELECT location_id FROM locations UNION ALL SELECT location_id FRO...转载 2018-12-17 11:35:48 · 244 阅读 · 0 评论 -
ORACLE数据库增加表空间大小或给表空间增加数据文件
ORACLE数据库增加表空间大小或给表空间增加数据文件----查询表空间使用情况--- SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((...转载 2018-08-24 16:40:50 · 1598 阅读 · 1 评论 -
如何查看Oracle数据库的字符编码
如何查看Oracle数据库的字符编码1、查询Oracle Server端的字符集:有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:SQL>select userenv(‘language’) from dual;结果如下:AMERICAN _ AMERICA. ZHS16GBK。2、查询dmp文件的字符集:用Oracle的exp工具导出的d...转载 2018-08-24 16:21:14 · 38690 阅读 · 2 评论 -
oracle 修改字符集 修改为ZHS16GBK
oracle11g 修改字符集 修改为ZHS16GBK有时候因为数据库的字符集的问题,导致dmp文件不能正常导入到其他数据库。可以用下面的方法将数据库的字符集修改一下(改成跟你导出时的字符一样)。注:设置环境变量是用来处理PL/SQL字符问题的,不要吴会是已经将数据库的字符集修改了。1.cmd2.输入set ORACLE_SID=你想进入的数据库的那个sid3.输入 sql...原创 2018-08-24 16:18:56 · 72053 阅读 · 8 评论 -
PL/SQL 报错:A query with LOB's requires OCI8 mode, but OCI7 mode is used
PL/SQL 报错:A query with LOB's requires OCI8 mode, but OCI7 mode is used 在用pl/sql对客户的数据进行查询时,pl/sql给我报了如下的错误 : 我使用的pl/sql的版本号为:9.0.0.1601.解决办法:1. 换个更高版本的pl/sql2.更改pl/sql的配置a) tools --...转载 2018-08-23 09:19:53 · 1092 阅读 · 0 评论 -
PL/SQL报无效的窗口句柄的解决办法
PL/SQL报无效的窗口句柄的解决办法在远程服务器上使用pl sql developer查询oralce数据库的时候,遇到很长的文本变量想点开小窗口看下具体内容, 但系统弹窗提示“无效的窗口句柄”,后来查了一下资料,原来是需要开启一个windows服务【print spooler】。 然后就正常了。...原创 2018-08-23 09:18:13 · 1749 阅读 · 0 评论 -
Oracle定时器(Job)各时间段写法汇总
对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。但是,Oracle定时器Job时间的处理上,千变万化,今天我把比较常用写法汇总如下:在总结之前,先把Job的参数一一说明一下:job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;wha...原创 2018-07-17 10:10:35 · 3117 阅读 · 0 评论 -
恢复oracle10g误删除的表
查看回收站中的表 select object_name,original_name,createtime,droptime from recyclebin where type='TABLE'; OBJECT_NAME ORIGINAL_NAME CREATETIME DROPTIME ------------------------------ ----------...转载 2018-07-17 10:08:02 · 154 阅读 · 0 评论 -
在oracle中恢复一个表的数据到某个时点
下面给大家简单介绍一下在oracle中恢复一个表的数据到某个时点,供大家学习参考。 select * from sys.smon_scn_time order by time_dp desc; --scn 与时间的对应关系www.examw.com 每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.smon_scn_time表。 select * from c...转载 2018-07-17 10:00:50 · 2267 阅读 · 0 评论 -
查看表空间情况
--查询表空间 数据文件select tablespace_name, file_id,file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;--查询表空间 数据文件大小SELECT a.tablespace_name "表空间名", total "表空间大小",...原创 2018-06-01 16:38:25 · 555 阅读 · 0 评论 -
oracle创建表,序列,触发器,自动生成唯一主键
那么如何让oracle数据库插入数据像mysql一样实现主键自增呢?解决方法是:序列+触发器案例:plsql图示:1.创建表:2.创建序列:3.创建触发器:sql实现:1.创建表[sql] view plain copy-- Create table create table SJK_BAR_CODE ( id NUMBER(12) not null, rule ...转载 2018-05-23 18:23:52 · 906 阅读 · 0 评论 -
Oracle 查询优化的基本准则详解
1:在进行多表关联时,多用 Where 语句把单个表的结果集最小化,多用聚合函数汇总结果集后再与其它表做关联,以使结果集数据量最小化2:在两张表进行关联时,应考虑可否使用右连接。以提高查询速度3:使用 where 而不是 having ,where是用于过滤行的,而having是用来过滤组的,因为行被分组后,having 才能过滤组,所以尽量用户 WHERE 过滤4:使用 exists 而不用 I...转载 2018-05-14 17:07:51 · 214 阅读 · 0 评论 -
Oracle日常性能查看
判断回滚段竞争的SQL语句:(当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段)select rn.name, rs.GETS, rs.WAITS, (rs.WAITS / rs.GETS) * 100 ratiofrom v$rollstat rs, v$rollname rnwhere rs.USN = rn.usn 判断恢复日志竞争的SQL语句:(immediate_contenti...转载 2018-05-14 16:40:05 · 7239 阅读 · 1 评论 -
检测分析SQL语句慢的原因
select *from (select sa.SQL_TEXT,sa.SQL_FULLTEXT,sa.EXECUTIONS "执行次数",round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间",round(sa.ELAPSED_TIME / 1000000 / sa.EXECUTIONS, 2) "平均执行时间",sa.COMMAND_TYPE,sa.PARSIN...原创 2018-05-14 16:30:54 · 872 阅读 · 0 评论 -
增加表空间数据文件语句
--增加表空间数据文件alter tablespace "WEBSITE" add datafile'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\WEBSITE_1.dbf' size 1024Mautoextend on next 200Mmaxsize 30720M--查询表空间 数据文件select tablespace_name, file_id,file...原创 2018-05-14 14:53:36 · 8283 阅读 · 0 评论 -
优化 : Select 语句执行顺序以及如何提高Oracle 基本查询效率
今天把这几天做的练习复习了一下,不知道自己写得代码执行的效率如何以及要如何提高,于是乎上网开始研究一些材料,现整理如下: 首先,要了解在Oracle中Sql语句运行的机制。以下是sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有...转载 2018-05-14 14:32:44 · 273 阅读 · 0 评论 -
优化 : Oracle数据库Where条件执行顺序 及Where子句的条件顺序对性能的影响
1、Oracle数据库Where条件执行顺序:由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾. 例如: (低效) SELECT … FROM EMP E WHER...转载 2018-05-14 14:31:07 · 12745 阅读 · 1 评论 -
oracle中的exists 和not exists 用法详解
exists表示()内子查询语句返回结果不为空说明where条件成立就会执行主sql语句,如果为空就表示where条件不成立,sql语句就不会执行。not exists和exists相反,子查询语句结果为空,则表示where条件成立,执行sql语句。负责不执行。之前在学Oracle数据库的时候,接触过exists,做过几个简单的例子,,如1.如果部门名称中含有字母A,则查询所有员工信息(使...转载 2018-12-17 14:50:43 · 4840 阅读 · 1 评论