Oracle基础
文章平均质量分 66
cunxiyuan108
这个作者很懒,什么都没留下…
展开
-
Oracle Sequence Cache 参数说明
之前整理的一篇文章: ORACLE SEQUENCE 介绍http://blog.csdn.net/tianlesoftware/archive/2009/10/30/4745039.aspx 之前整理的一篇文章。 那是还是写blog初期的作品。 2009年10月份的。 转眼一年,写Blog 也比以前成熟了很多。 一. 理论知识先看一个创建Sequence的转载 2015-03-03 10:43:03 · 13823 阅读 · 0 评论 -
oracle 数据格式化
在写Oracle的时候,经常做一些日期,字符串或者数字的格式化: 格式化函数函数返回类型描述例子to_char(timestamp, text)text把时间戳转换成字串to_char(current_timestamp, 'HH12:MI:SS')to_char(interval, text)te转载 2012-11-26 17:00:29 · 661 阅读 · 0 评论 -
ORACLE的几种启动方式
1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。 2、startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档、 数据库介质恢复、 使数据文件联机或脱机, 重新定位数转载 2012-04-19 13:09:26 · 678 阅读 · 0 评论 -
oracle nomount/mount/open的区别
nomount:读初始化参数文件,启动实例。mount:打开控制文件open: 打开数据文件,日志文件建立实例ORADIM NEW SID TEST-INTPWD 口令 -STARTMODE AUTO-PFILE %ORACLE_HOME%\DATABASE\INITTEST.ORA自动建立特权用户sys自动建立NT服务:oracleservicetest自动建转载 2012-04-19 13:07:18 · 1472 阅读 · 0 评论 -
oracle 索引失效原因及解决方法
一、以下的方法会引起索引失效1,2,单独的>,3,like "%_" 百分号在前.4,表没分析.5,单独引用复合索引里非第一位置的索引列.6,字符型字段为数字时在where条件里不添加引号.7,对索引列进行运算.需要建立函数索引.8,not in ,not exist.9,当变量采用的是times变量,而表的字段采用的是date变量时.或相反情况。10,原创 2012-04-19 00:47:06 · 846 阅读 · 0 评论 -
由在EBS中收集分区表统计信息引发的思考
今天在看EBS性能调整文档的时候,有这样一段关于分区表统计数据收集的描述:When using the 'Gather Table Statistics' concurrent program, pass only the owner of the table (schema name) and the table name. Let all other parameters defaul转载 2012-04-19 00:41:02 · 1632 阅读 · 0 评论 -
收集oracle统计信息
优化器统计范围:表统计; --行数,块数,行平均长度;all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN;列统计; --列中唯一值的数量(NDV),NULL值的数量,数据分布;--DBA_TAB_COLUMNS:NUM_DISTINCT,NUM_NULLS,HISTOGRAM;索引统计;--叶块数量,等级,聚簇因子;--DBA_INDEXES:LEAF转载 2012-04-19 00:33:15 · 2292 阅读 · 0 评论 -
ORACLE数据库索引失效
数据库中有一个表,用PL/SQL查看该表的索引没有被DROP掉, 但是表上的数据查询起来很慢(查询时间大概是原来的3倍),后来重建了一下索引就好了, 请问这是为什么, 在什么情况下会出现类似的索引丢失的情况?可能是你的表经常被更新,碎片太多,索引占用空间太大,优化器觉得没有必要用索引了 就直接全表扫描了啊,你重新建立索引,就整理了碎片了啊,当然就又用索引了索引失效的情况很多,比转载 2012-04-19 00:50:33 · 1580 阅读 · 0 评论 -
ORACLE SQL Performance Tuning
Oracle Database上的设置对Performance的影响很大,如Shared Pool Size、Buffer Cache Size、SGA Structures、Database I/O Configuration、Rollback Segments等等,这些是DBA要更据实际状况取Tunning的部分,我们暂不详细讨论,DBA可对这块进行补充;这份文档我们将重点放在影响SQL执转载 2012-04-19 00:23:01 · 1171 阅读 · 0 评论 -
ORACLE 常用脚本(3)
用户的管理一、ORACLE的安全域1、TABLESPACE QUOTAS:表空间的使用定额2、DEFAULT TABLESPACE:默认表空间3、TEMPORARY TABLESPACE:指定临时表空间。4、ACCOUNT LOCKING:用户锁5、RESOURCE LIMITE:资源限制6、DIRECT PRIVILEGES:直接授权7、ROLE PRIVILEG原创 2012-04-13 01:11:51 · 986 阅读 · 0 评论 -
ORACLE 常用脚本(2)
一、ORACLE的表的分类:1、REGULAR TABLE:普通表,ORACLE推荐的表,使用很方便,人为控制少。2、PARTITIONED TABLE:分区表,人为控制记录的分布,将表的存储空间分为若干独立的分区,记录按一定的规则存储在分区里。适用于大型的表。二、建表1 CREATE TABLE 表名 (EMPNO NUMBER(2),NAME VARCHAR2(20)) PCT原创 2012-04-13 01:11:06 · 855 阅读 · 0 评论 -
ORACLE 常用脚本(1)
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tabl原创 2012-04-13 01:09:59 · 967 阅读 · 0 评论 -
Oracle Sql Loader中文字符导入乱码的解决方案
Oracle Sql Loader中文字符导入乱码的解决方案服务器端字符集NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK控制文件ctl:LOAD DATACHARACTERSET ZHS16GBKINFILE 'c:\testfile.txt'id name desc FIELDS TERMINATED BY ","(id,na原创 2012-03-23 13:32:03 · 11100 阅读 · 1 评论 -
Oracle SQL*Loader
GeneralNote: This page consists of a series of demonstrations of various SQL*Loader capabilities. It is by no means complete. For the Oracle doc: http://download-west.ora原创 2012-03-16 10:53:40 · 1759 阅读 · 0 评论 -
使用SQL Loader导入大量数据,避免使用SQL频繁写库
目前所做的项目需要从一个按行记录的数据文件取出部分字段,再将这些字段的按行存储到Oracle数据库。这些数据大约有2 700 000条,原始数据文件有450M左右。至少有两种方法可以实现: 一.将原始数据文件读进内存流中,每读一行解析一条数据,接着执行一条SQL语句,将解析到的数据插入数据库表; 二..将原始数据文件读进内存流中,每读一行解析一条数据,接着将解析到的数据按行转载 2012-03-16 11:01:22 · 960 阅读 · 0 评论 -
Oracle 中表的修改笔记
主要讲述Alter table语句的用法,对表进行修改,alter table语句可以执行以下任务:1、添加、修改或删除列2、添加或删除约束3、启用或禁用约束一、添加列(alter table table_name add列名类型)⑴、向表order_status2添加一个名为modified_by的列,类型为integerSQL>alter table order转载 2011-11-16 13:46:20 · 813 阅读 · 0 评论 -
ORACLE触发器语法
触发器是特定事件出现的时候,自动执行的代码块。类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用程序显式调用的,而触发器是不能被直接调用的。功能:1、 允许/限制对表的修改2、 自动生成派生列,比如自增字段3、 强制数据一致性4、 提供审计和日转载 2011-08-10 17:02:08 · 1766 阅读 · 0 评论 -
ORACLE 错误编号表一
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进转载 2011-08-09 13:18:48 · 1725 阅读 · 0 评论 -
ORACLE EXP/IMP的使用详解
导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IM转载 2012-11-18 23:15:10 · 970 阅读 · 0 评论 -
Oracle expdp impdp dump参数介绍
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。 create directory dpdata as '/opt';二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * from dba_directories;三、给scott用户赋予在指定转载 2012-11-19 09:58:30 · 652 阅读 · 0 评论 -
ORACLE expdp-impdp使用
EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:Expdp scott/tiger ATTA转载 2012-11-19 10:07:04 · 1200 阅读 · 0 评论 -
超级牛皮的oracle的分析函数over(Partition by...) 及开窗函数
http://zonghl8006.blog.163.com/blog/static/4528311520083995931317/ over(Partition by...) 一个超级牛皮的ORACLE特有函数。天天都用ORACLE,用了快2年了。最近才接触到这个功能强大而灵活的函数。真实惭愧啊!oracle的分析函数over 及开窗函数一:分析函数over转载 2015-02-03 12:31:49 · 1580 阅读 · 0 评论 -
Oracle 物化视图 说明
一. 物化视图概述Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。 物化视图可以用于预先计算并保存表连接或聚集等耗时较多的操作的结果,这样,在执行查询时,就可以避免进行这些耗时的操作,而从快速的得到结果。物化视图有很多方面和索引很相似:使用物化视图的目的是转载 2014-08-21 11:09:19 · 1338 阅读 · 0 评论 -
如何从 PL/SQL 存储函数返回数组
简介 本文档演示如何从 PL/SQL 函数返回数组并从 java 应用程序访问它。数组是一组有序的数据元素。 VARRAY 是大小可变的数组。它具有数据元素的排列集,并且所有元素属于同一数据类型。每个元素都具有索引,它是与元素在 VARRAY 中的位置相对应的一个数字。 VARRAY 中元素的数量是 VARRAY 的“大小”。在声明 VARRAY 类型时,必须指定其最大值。 在此方转载 2014-06-10 15:34:51 · 1671 阅读 · 0 评论 -
oracle xmltype 创建 、插入、更新、查找
[文章摘要]介绍了oracle9i的xmltype数据类型的基本使用包括:建立含有xmltype数据类型的表插入(insert)数据查询(select)数据更新(update)数据添加超过4k字节的xml文档到xmltype型字段适合初学者。 关键词: oracle9i xmltypeoracle从9i开始支持一种新的数据类型---- xmltype,用于存转载 2014-05-06 17:19:36 · 4675 阅读 · 0 评论 -
ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝
ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝需要先使用 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL 创建访问控制列表(ACL),再使用 DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL 将此 ACL 与邮件服务器相关联,最后使用 DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE 在此 ACL 为用户转载 2014-05-06 10:13:19 · 7877 阅读 · 0 评论 -
ORACLE GROUPING_ID函数
可以使用GROUPING_ID函数借助HAVING子句对记录进行过滤,将不包含小计或者总计的记录除去。GROUPING_ID()函数可以接受一列或多列,返回GROUPING位向量的十进制值。GROUPING位向量的计算方法是将按照顺序对每一列调用GROUPING函数的结果组合起来。 关于GROUPING函数的使用方法可以参见我前面写的一篇文章http://blog.csdn转载 2014-03-20 17:12:35 · 681 阅读 · 0 评论 -
Oracle ROLLUP和CUBE、grouping_id() 用法
Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY CUBE(A, B, C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、转载 2014-03-20 13:38:14 · 1421 阅读 · 0 评论 -
ORACLE批量绑定FORALL与BULK COLLECT
FORALL与BULK COLLECT的使用方法: 1.使用FORALL比FOR效率高,因为前者只切换一次上下文,而后者将是在循环次数一样多个上下文间切换。 2.使用BLUK COLLECT一次取出一个数据集合,比用游标条取数据效率高,尤其是在网络不大好的情况下。但BLUK COLLECT需要大量内存。 例子: Sql代码 create tab转载 2013-09-07 18:04:42 · 1285 阅读 · 0 评论 -
学习PLS_INTEGER,BINARY_INTEGER,INTEGER,NUMBER的概念及性能差异
学习PLS_INTEGER,BINARY_INTEGER,INTEGER,NUMBER的概念及区别;以及在性能方面的差异 1,各个概念 类型 是否可用于表列定义 概念 存储情况 ----------转载 2014-01-06 15:59:14 · 2995 阅读 · 0 评论 -
Oracle重置序列(不删除重建方式)
DECLARE CURSOR cur_sequence IS SELECT do.OWNER||'.'||Do.OBJECT_NAME sequence_name FROM dba_objects do WHERE do.object_type = 'SEQUENCE' AND do.owner IN ('XX'); l_start_num NUMBE原创 2013-12-30 13:05:26 · 1290 阅读 · 0 评论 -
listener.ora、sqlnet.ora、tnsnames.ora 作用
oracle网络配置三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora,都是放在$ORACLE_HOME\network\admin目录下。1. sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。例如我们客户端输入sqlplus sys/o转载 2013-11-15 21:23:30 · 1325 阅读 · 0 评论 -
Oracle SET命令参数详解
SQL*PLUS维护系统变量,也称SET变量,利用它可为SQL*PLUS交互建立一个特殊的环境,如:设置NUMBER数据的显示宽度;设置每页的行数;设置列的宽度等。可用SET命令改变这些系统变量,也可用SHOW命令列出它们.使用set命令的语法如下: SET 系统变量 值其中系统变量及其可选值如下: ARRAY[SIZE] {20(默认值)|转载 2013-10-04 16:49:27 · 1935 阅读 · 0 评论 -
利用dbms_metadata.get_ddl查看DDL语句(原创)
当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看。dbms_metadata包中的get_ddl函数详细参数GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下-- object_type ---需要返回原数据的DDL语句的对象类型-- name --- 对象名称-- schema ---对象所在的Sch转载 2013-10-04 15:33:28 · 7166 阅读 · 0 评论 -
写了个存储过程获得table的完整定义
包括create table, comment, index, trigger, object grant.不知道还缺啥?我放在了自己常用的一个package里(dbms_ut 包,包括常用脚本)。过程如下: PROCEDURE get_table_ddl( p_table_name IN VARCHAR2, p_owner IN VARCHA转载 2013-10-04 15:32:28 · 1248 阅读 · 0 评论 -
oracle forall 介绍
oracle forallFORALL语句的一个关键性改进,它可大大简化代码,并且对于那些要在PL/SQL程序中更新很多行数据的程序来说,它可显著提高其性能。1:用FORALL来增强DML的处理能力Oracle为Oracle8i中的PL/SQL引入了两个新的数据操纵语言(DML)语句:BULK COLLECT和FORALL。这两个语句在PL/SQL内部进行一种数组处理转载 2013-09-07 18:03:23 · 839 阅读 · 0 评论 -
oracle sequence cache 机制
声明 本文转自 http://space.itpub.net/17203031/viewspace-717042 感谢作者的辛苦劳动,谢谢 在Oracle中,我们没有MYSQL和SQLServer可以使用的自增数据类型。大部分场景下,如果我们需要生成业务无关的(Business-Independent)主键列,序列Sequenc转载 2013-04-08 21:46:20 · 4665 阅读 · 1 评论 -
ORACLE SEQUENCE 介绍 .
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加几个 START转载 2013-04-08 21:30:24 · 602 阅读 · 0 评论 -
查找oracle的标准错误代码以及描述
注意:1.oracle 标准的错误信息的代码范围是-20000 到 -000012.自定义的Oracle错误代码范围是简单的SQL语句BEGIN dbms_output.enable(1000000); FOR i IN 0..10000 L原创 2011-08-09 13:30:56 · 1130 阅读 · 0 评论 -
ORACLE 错误编号表二
ORA-01171: 数据文件因高级检查点错误而将脱机 ORA-01172: 线程的恢复停止在块(在文件中) ORA-01173: 数据字典指明从系统表空间丢失的数据文件 ORA-01174: DB_FILES 为 ,但需要为 才能兼容 ORA-01175: 例程转载 2011-08-09 13:19:44 · 1399 阅读 · 0 评论