随笔分类 -  oracle学习笔记

1 2 3 4 5 下一页
验证表统计信息是否不对
摘要:表统计信息的收集时间可以从user_table的analylize_time中得知,但是统计信息是否准确,还是不好判断,上课中郭老师提出了采用dbms_xplan.display_cursor查看收集的信息可以帮助我们判断统计信息是否陈旧。如下是具体的操作方式:SQL> set linesize 1000SQL> Set pagesize 100SQL> drop table test1 purge;表已删除。SQL> drop table test2 purge;表已删除。SQL> create table test1 as select * from dba_ 阅读全文
posted @ 2013-12-11 17:38 蓝紫 阅读(1505) 评论(2) 推荐(0) 编辑
sqlplus命令说明
摘要:column修改列宽度 column c1 format a20 --将列c1(字符型)显示最大宽度调整为20个字符 column c1 format 9999999 --将列c1(num型)显示最大宽度调整为7个字符 修改列标题 column c1 heading c2 --将c1的列名输出为c2 set colsep' ' --行的标题列的分隔符set linesize(line) --设置sqlplus输出的最大行宽 set pagesize --设置页面的最大行数 缺省为 24,为了避免分页,可设定为 0set serveroutput on|offset echo o 阅读全文
posted @ 2013-06-08 20:57 蓝紫 阅读(4153) 评论(0) 推荐(1) 编辑
blob字段存储文件并读取
摘要:文档或图片等文件在数据库表中以blob字段存储并读取的方法:1、将文件以blob形式存放到数据库:参考 http://bbs.csdn.net/topics/330265813CREATE TABLE yuser (ID number,photo BLOB);--首先要创建目录将需要存放到数据库的文件放到该目录中create or replace directory images as 'D:\images';SELECT *FROM dba_directories--然后将这些文件读取存放到数据库declare l_bfile bfile; l_blob blob;begin 阅读全文
posted @ 2013-04-22 22:32 蓝紫 阅读(5915) 评论(0) 推荐(0) 编辑
oracle实现数据行级控制-dbms_rls包的应用
摘要:dbms_rls包的应用——实现数据库表行级安全控制rls即row LEVEL security以kgis用户登录创建rls实验数据表并创建rls函数应用于某表进行测试C:\Windows\system32>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期三 1月 30 10:19:59 2013Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> conn kgis/kgis已连接。--创建表并插入数据SQL> CREATE TABLE xx 阅读全文
posted @ 2013-01-31 10:28 蓝紫 阅读(4131) 评论(0) 推荐(0) 编辑
分区表的本地索引竟然失效了——ORA-01502
摘要:由于昨天对一个千万级别的分区表做了分区数据交换的操作,因为本表操作太慢,所以将其移出普通表操作后才移回分区表,但是今天又反馈该表的某字段为条件查询速度很慢,自己试了下果真如此,我看了查询语句的执行计划发现根本没用上索引(该字段是一个本地索引),因此就想用hint强制使用该索引,结果报错了ora-01502.本地索引失效了?我很纳闷,什么原因导致的呢,难不成是我昨晚的操作导致的?因此网上一查,看到该博文http://diegoball.iteye.com/blog/575786,终于明白了,因为操作时该表具有主键,因此没法加上INCLUDING INDEXES这个子句,尽管后来因为主键被别的表引 阅读全文
posted @ 2013-01-25 16:52 蓝紫 阅读(1767) 评论(0) 推荐(0) 编辑
分区表的分区与普通表交换的一些问题
摘要:该文主要介绍分区表如何与一般表进行交换数据,在交换中遇到的几个问题及解决。实验需要的表及数据create table t_addr( id NUMBER(18) PRIMARY KEY, name VARCHAR2(300), tag NUMBER)partition by list (tag)( partition P_AREA1 values (1), partition P_AREA2 values (2), partition P_AREA3 values (3), partition P_AREA_DEFAULT values (DEFAULT)); INSERT INTO t_ad 阅读全文
posted @ 2013-01-24 23:09 蓝紫 阅读(5295) 评论(0) 推荐(1) 编辑
oracle中trim,ltrim,rtrim函数用法
摘要:oracle中trim,ltrim,rtrim函数用法该函数共有两种作用:第一种,即大家都比较熟悉的去除空格。例子:--TRIM去除指定字符的前后空格SQL> SELECT TRIM(' dd df ') FROM dual;TRIM('DDDF')------------dd df--LTRIM去除指定字符的前面空格SQL> SELECT LTRIM(' dd df ') FROM dual;LTRIM('DDDF')-------------dd df--RTRIM去除指定字符后面后空格 SQL> SELEC 阅读全文
posted @ 2013-01-14 14:33 蓝紫 阅读(114015) 评论(0) 推荐(3) 编辑
事务与事务隔离级别
摘要:oracle事务事务含义:组成单个逻辑单元的一系列操作。事务特征:第一、原子性,即不可分割性;第二、一致性,保证数据更新前后与业务的一致性;第三、隔离性,多个事务不相影响;第四、持久性,事务提交后数据将永久存储杂数据库。隔离级别:1.未提交读(read uncommitted):会出现脏读、不可重复读和幻读。脏读的设计只是为了提供非阻塞读,但是对于oracle来说,默认就提供非阻塞读, 即查询不会受到任何增删改操作的影像,因为oracle提供了undo来存放更新前的数据。2.提交读(read committed):会出现不可重复读和幻读。oracle的默认事务隔离级别。3.重复读(repeat 阅读全文
posted @ 2012-12-07 17:30 蓝紫 阅读(13027) 评论(0) 推荐(1) 编辑
dbms_scheduler介绍
摘要:dbms_scheduler介绍10g引入的这个dbms_scheduler包,替代了之前的dbms_job包,该包功能更强大,可以将job需要的各种资源分开再进行组合。1.program1.1 create_program参数说明: program_name——程序名称 program_type——程序类型(STORED_PROCEDURE,PLSQL_BLOCK,EXECUTABLE) STORED_PROCEDURE——ORACLE 中定义好的存储过程 PLSQL_BLOCK——是一段标准的pl/sql 代码 EXECUTABLE——指定外部命令的命令行信息(含路径信息) program 阅读全文
posted @ 2012-11-23 17:35 蓝紫 阅读(23508) 评论(2) 推荐(0) 编辑
oracle10g新特性-sql profile
摘要:如果因为sql语句执行计划不稳定导致查询速度慢,可以考虑使用sql profile。具体的就不多写了,直接查看该链接http://chenxy.blog.51cto.com/729966/747014 阅读全文
posted @ 2012-09-14 14:53 蓝紫 阅读(749) 评论(0) 推荐(0) 编辑
按字段将该字段值一样的行的另一个字段值合并到一行
摘要:转http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php得到如下结果的方式:DEPTNO EMPLOYEES------ -------------------------------------------------------------------------------- 10 CLARK,MILLER,KING 20 SMITH,FORD,ADAMS,SCOTT,JONES 30 ALLEN,JAMES,TURNER,BLAKE,MARTIN,WARD--1.第一种方式(采用wm_conc 阅读全文
posted @ 2012-09-13 15:48 蓝紫 阅读(4128) 评论(0) 推荐(0) 编辑
采用oracle过程发邮件
摘要:这个网上有好多人已经做了解释,相关代码也很多,代码参考http://hi.baidu.com/bailang3106/item/c80b0fed8a08dbd1ea34c952http://baser.blog.51cto.com/4153192/871086收件人只有一个的过程如下: CREATE OR REPLACE PROCEDURE p_mail_sina(sender IN VARCHAR2,--发送人 recipient IN VARCHAR2,--接收人 subject IN VARCHAR2,--邮件主题 message IN VARCHAR2) I... 阅读全文
posted @ 2012-08-22 18:09 蓝紫 阅读(4192) 评论(0) 推荐(0) 编辑
采用oracle存储过程读取excel文件更新表
摘要:如下所示:CREATE OR REPLACE PROCEDURE p_xlstooracle IS v_file utl_file.file_type; out_v VARCHAR2(4000); v_id NUMBER; v_service_competition NUMBER; v_cu_market_share NUMBER(6, 4); v_ct_market_share NUMBER(6, 4); v_cm_market_share NUMBER(6, 4); v_other_market_share NUMBER(6, 4);BEGIN IF utl_file.is_open(v_ 阅读全文
posted @ 2012-08-06 18:20 蓝紫 阅读(7065) 评论(1) 推荐(1) 编辑
oracle中chr含义
摘要:CHR(10)和 CHR(13)——在oracle都为换行chr(32)——表示空格CHR(9)——不知道是啥含义,以下说明了不是空格也不是tab键DECLARE v_a VARCHAR2(255); v_b VARCHAR2(255);BEGIN SELECT 'a' || chr(9) || 'b' INTO v_b FROM dual; v_a := 'a b'; --a和b之间是tab键 dbms_output.put_line(v_b); dbms_output.put_line(v_a); IF v_a = v_b THEN dbms 阅读全文
posted @ 2012-08-06 18:07 蓝紫 阅读(4734) 评论(0) 推荐(0) 编辑
sql跟踪方法相关介绍
摘要:oracle sql跟踪方法:1、sql_trace打开跟踪:alter session set sql_trace=true;为跟踪文件做标记:alter session set tracefile_identifier='look_for_me';停止跟踪:alter session set sql_trace=false;最后生成的跟踪文件可以采用tkprof工具生成来查看。2、10046跟踪代码跟踪界别介绍:Level 0 停用SQL跟踪,相当于SQL_TRACE=FALSELevel 1 标准SQL跟踪,相当于SQL_TRACE=TRUELevel 4 在level 阅读全文
posted @ 2012-07-31 11:58 蓝紫 阅读(4682) 评论(0) 推荐(0) 编辑
logminer的使用
摘要:关于这个的使用网上有很多,如http://qinry.blog.163.com/blog/static/9383504720118810658115/或http://hi.baidu.com/52hack/item/2e31f1f65a0b6848922af239。补充自己在使用时遇到的问题。问题:执行‘bEGIN dbms_logmnr_d.build( 'dictionary.ora', 'D:\dir');END;’该语句时提示:ORA-01308:未设置初始化参数utl_file_dir前提:已经采用create directory语句创建了utl_fi 阅读全文
posted @ 2012-07-30 17:22 蓝紫 阅读(600) 评论(1) 推荐(0) 编辑
oracle表数据导出为文本形式
摘要:oracle表数据导出文本数据(xls或txt)今天试验了两种方法,记录如下1.第一种方法:采用utl_file包如下过程即可实现某表数据的导出CREATE OR REPLACE PROCEDURE p_tabletoxls IS v_file utl_file.file_type; CURSOR cur_emp IS SELECT ename, deptno FROM emp;BEGIN IF utl_file.is_open(v_file) THEN utl_file.fclose(v_file); END IF; v_file := utl_file.fopen('UTL_FIL 阅读全文
posted @ 2012-07-27 13:20 蓝紫 阅读(6424) 评论(0) 推荐(0) 编辑
SQLNET.AUTHENTICATION_SERVICES值在不同操作系统下的含义
摘要:环境:oracle11gSQL> show parameter remote_login_passwordfileNAME TYPE VALUE------------------------------------ ----------- -----------remote_login_passwordfile string EXCLUSIVEwin7系统:当SQLNET.AUTHENTICATION_SERVICES= (NTS),登录成功C:\Users\thinkpad>sqlplus " / as sysdba"SQL*Plus: Release 11 阅读全文
posted @ 2012-04-15 22:30 蓝紫 阅读(13468) 评论(0) 推荐(0) 编辑
采用dbstart脚本启动的一些错误——解决
摘要:在linux系统下,用root用户采用dbstart脚本直接启动oracle服务或监听 第一个问题:启动服务的同时没有启动监听[root@localhost ~]# su - oracle -c "dbstart"ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net ListenerUsage: /oradata/oracle/112/bin/dbstart ORACLE_HOMEProcessing Database instance "orcl": log file /orad 阅读全文
posted @ 2012-04-15 22:30 蓝紫 阅读(7354) 评论(0) 推荐(0) 编辑

1 2 3 4 5 下一页