Oracle
文章平均质量分 73
kele1121
这个作者很懒,什么都没留下…
展开
-
Oracle 字段类型
字段类型描述字段长度及其缺省值 CHAR (size) 用于保存定长(size)字节的字符串数据。 每行定长(不足部分补为空格);最大长度为每行2000字节,缺省值为每行1字节。设置长度(size)前需考虑字符集为单字节或多字节。VARCHAR2 (size) 用于保存变长的字符转载 2009-10-28 15:18:00 · 578 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (七) 文件
这一章中,我们将分析构成数据库和实例的8 种文件类型。与实例相关的文件只有:参数文件(parameter file):这些文件告诉Oracle 实例在哪里可以找到控制文件,并且指定某些初始化参数,这些参数定义了某种内存结构有多大等设置。我们还会介绍存储数据库参数文件的两种选择。跟踪文件(trace file):这通常是一个服务器进程对某种异常错误条件做出响应时创建的诊断文件。警告文件(ale原创 2009-11-27 13:58:00 · 529 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (四)
1.数据库独立性 将应用从数据库A 移植到数据库B 时,我时常遇到这种问题:应用在数据库A 上原本无懈可击,到了数据库B 上却不能工作,或者表现得很离奇。看到这种情况,我们的第一个想法往往是,数据库B 是一个“不好的”数据库。而真正的原因其实是数据库B 的工作方式完全不同。没有哪个数据库是错的或“不好的”,它们只是有所不同而已。应当了解并理解它们如何工作,这对于处理这些问题有很大的帮助。原创 2009-11-27 10:21:00 · 600 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (十) 锁
1.在Oracle 中,你会了解到:事务是每个数据库的核心,它们是“好东西”。应该延迟到适当的时刻才提交。不要太快提交,以避免对系统带来压力。这是因为,如果事务很长或很大,一般不会对系统有压力。相应的原则是:在必要时才提交,但是此前不要提交。事务的大小只应该根据业务逻辑来定。只要需要,就应该尽可能长时间地保持对数据所加的锁。这些锁是你能利用的工具,而不是让你退避三舍的东西。锁不是稀有资源原创 2009-11-27 15:54:00 · 695 阅读 · 0 评论 -
轉發些ORACLE好文章或好SQL語句和大家共勉!
Standby database 的建立Oracle Standby Database 的建立过程并不复杂,但建立过程的相关设置取决于建立standby database 的目的。例如,如果建立standby database 是为了 disaster protection,standby database 就不能建立在与 primary database 相同服务器上面。如果是为了转载 2009-11-17 17:47:00 · 396 阅读 · 0 评论 -
oracle临时表的用法总结
前段时间,新公司的面试官问了一个问题,临时表的作用,以前我们用缓存中间数据时候,都是自己建一个临时表。其实oracle本身在这方面就已经考虑很全了,除非有些高级应用,我再考虑自己创建临时表。由于本人对临时表的了解不是很多,于是回来搜集下这方面的资料,弥补下这块的不足。1、前言 目前所有使用Oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情转载 2009-11-13 10:37:00 · 499 阅读 · 0 评论 -
使用Oracle的DBMS_SQL包执行动态SQL语句
在某些场合下,存储过程或触发器里的SQL语句需要动态生成。Oracle的DBMS_SQL包可以用来执行动态SQL语句。本文通过一个简单的例子来展示如何利用DBMS_SQL包执行动态SQL语句: DECLARE v_cursor NUMBER; v_stat NUMBER; v_row NUMBER; v_id NUMB转载 2009-11-13 10:21:00 · 497 阅读 · 0 评论 -
Oracle学习笔记摘录10-----ORACLE备份和恢复
逻辑备份 不用去拷贝数据库的物理文件 备份逻辑上的结构 外部的工具:导出和导入的工具 DOS下的命令 cmd下执行 导出exp export缩写形式查看帮助 exp help=y 使用参数文件导出 exp parfile=c:/abc.par >>>abc.par的内容a)scott用户连接导出自己的所有对象转载 2009-10-29 18:10:00 · 455 阅读 · 0 评论 -
Oracle学习笔记摘录9-----ORACLE下应用程序的优化
a)数据库本身的优化 初始化文件 init.ora open_cursors = 150 打开的游标的个数 很多的存储过程的时候 可以把它调大些 processes = 150 并发连接的用户数 同时在线的用户很多 可以把它调大 processes = (在线用户数)/2转载 2009-10-29 18:08:00 · 380 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (八) 内存结构
Oracle 3 个主要的内存结构:系统全局区(System Global Area,SGA):这是一个很大的共享内存段,几乎所有Oracle进程都要访问这个区中的某一点。进程全局区(Process Global Area,PGA):这是一个进程或线程专用的内存,其他进程/线程不能访问。用户全局区(User Global Area,UGA):这个内存区与特定的会话相关联。它可能在SGA中分配,原创 2009-11-27 14:56:00 · 601 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (十三) 索引
1.概述索引是应用设计和开发的一个重要方面。如果有太多的索引,DML 的性能就会受到影响。如果索引太少,又会影响查询(包括插入、更新和删除)的性能。要找到一个合适的平衡点,这对于应用的性能至关重要。我常常发现,人们在应用开发中总是事后才想起索引。我坚持认为这是一种错误的做法。如果你知道数据将如何使用,从一开始就应该能提出应用中要使用怎样的索引,即具有一组代表性的索引。不过,一般的做法却往往原创 2009-12-02 10:05:00 · 642 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (九) 进程
1.Oracle 实例主要有3 类进程Oracle 中的各个进程要完成某个特定的任务或一组任务,每个进程都会分配内部内存(PGA 内存)来完成它的任务。Oracle 实例主要有3 类进程:服务器进程(server process):这些进程根据客户的请求来完成工作。我们已经对专用服务器和共享服务器有了一定的了解。它们就是服务器进程。后台进程(background process):这些进程随数原创 2009-11-27 15:17:00 · 537 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (六) 体系结构
1.数据库和实例作为Oracle 术语,这两个词的定义如下:数据库(database):物理操作系统文件或磁盘( disk)的集合。使用Oracle 10g 的自动存储管理(Automatic Storage Management,ASM)或RAW 分区时,数据库可能不作为操作系统中单独的文件,但定义仍然不变。实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些原创 2009-11-27 10:52:00 · 703 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (五)
1.尽可能地使用绑定变量 不用开关CURSOR_SHARING=FORCE 如果你愿意,这个特性会实现一个自动绑定器(auto-binder)。如果有一个查询编写为SELECT * FROM EMP WHERE EMPNO = 1234,自动绑定器会悄无声息地把它改写成SELECT * FROM EMP WHERE EMPNO = :x。这确实能动态地大大减少硬解析数,并减少前面讨论的库闩原创 2009-11-27 10:36:00 · 615 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (三)
1.多版本:读一致查询 非阻塞查询Oracle 采用了一种多版本、读一致(read-consistent)的并发模型。再次说明,我们将在第7 章更详细地介绍有关的技术。不过,实质上讲,Oracle 利用这种机制提供了以下特性:读一致查询:对于一个时间点(point in time),查询会产生一致的结果。非阻塞查询:查询不会被写入器阻塞,但在其他数据库中可能不是这样。Oracle 数据库中原创 2009-11-27 09:46:00 · 767 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (二)
一.锁数据库使用锁(lock) 来保证任何给定时刻最多只有一个事务在修改给定的一段数据。实质上讲,正是锁机制才使并发控制成为可能。例如,如果没有某种锁定模型来阻止对同一行的并发更新,数据库就不可能提供多用户访问。不过,如果滥用或者使用不当,锁反倒会阻碍并发性。如果你或数据库本身不必要地对数据锁定,能并发地完成操作的人数就会减少。因此,要理解什么是锁定,你的数据库中锁定是怎样工作的,这对于开发原创 2009-11-26 17:07:00 · 596 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (一)
1.位图索引 最近我参与了一个项目。开发人员正饱受性能问题之苦,看上去他们的系统中许多事务在串行进行。他们的做法不是大家并发地工作,而是每个人都要排一个长长的队,苦苦等着前面的人完成后才能继续。应用架构师向我展示了系统的体系结构,这是经典的三层方法。他们想让Web 浏览器与一个运行JSP(JavaServer Pages)的中间层应用服务器通信。JSP 再使用另一个EJB(Enterpri原创 2009-11-26 16:48:00 · 716 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (十二) redo 和undo 如何协作
作为一个例子,我们将分析对于下面这组语句可能发生什么情况:insert into t (x,y) values (1,1);update t set x = x+1 where x = 1;delete from t where x = 2;我们会沿着不同的路径完成这个事务,从而得到以下问题的答案: 如果系统在处理这些语句的不同时间点上失败,会发生什么情况? 如果在某个原创 2009-12-01 09:29:00 · 760 阅读 · 0 评论 -
学习《Oracle 9i10g编程艺术》的笔记 (十一) 事务
1.事务概述事务(Transaction)是数据库区别于文件系统的特性之一。在文件系统中,如果你正把文件写到一半,操作系统突然崩溃了,这个文件就很可能会被破坏。不错,确实还有一些“日报式”(journaled)之类的文件系统,它们能把文件恢复到某个时间点。不过,如果需要保证两个文件同步,这些文件系统就无能为力了。倘若你更新了一个文件,在更新完第二个文件之前,系统突然失败了,你就会有两个不同步原创 2009-11-30 09:30:00 · 890 阅读 · 0 评论 -
Oracle学习笔记摘录8-----ORACLE的使用和开发汇总
ORACLE的使用 启动和关闭 工具操作ORACLE -- sql*plus plsql developer SQL命令 4大类 DDL 数据定义语言 - 建立数据库对象 create /alter/ drop/ truncate转载 2009-10-29 18:07:00 · 439 阅读 · 0 评论 -
Oracle学习笔记摘录7-----ORACLE中的程序包PACKAGE
用途: 模块化 --公司的员工的管理 1.增加一个员工 2.员工离职用存储过程和函数来实现1.增加一个员工create sequence seq1 start with 7935;create or replace function insert_emp( enm emp.ename%type, --员工的名字 e转载 2009-10-29 18:05:00 · 1195 阅读 · 2 评论 -
Windows下ORACLE 10g安装与操作图解
刚刚接触ORACLE的人来说,从那里学,如何学,有那些工具可以使用,应该执行什么操作,一定回感到无助。所以在学习使用ORACLE之前,首先来安装一下ORACLE 10g,在来掌握其基本工具。俗话说的好:工欲善其事,必先利其器。我们开始吧! 首先将ORACLE 10g的安装光盘放入光驱,如果自动运行,一般会出现如图1安装界面:图1 单击“开始安装”,就可以安装ORACLE 10g,一转载 2009-10-27 16:33:00 · 580 阅读 · 0 评论 -
数据库中的Sequence
Sequence是数据库系统按照一定规则自动增加的数字序列。这个序列一般作为代理主键(因为不会重复),没有其他任何意义。Sequence是数据库系统的特性,有的数据库有Sequence,有的没有。比如Oracle、DB2、PostgreSQL数据库有Sequence,MySQL、SQL Server、Sybase等数据库没有Sequence。根据我个人理解,Sequence是数据中一个特殊存放等差转载 2009-10-27 15:39:00 · 819 阅读 · 0 评论 -
Oracle数据库重新启动步骤
本文详细的介绍了Oracle数据库较好的十种重新启动步骤。 1. 停应用层的各种程序。 2. 停oralce的监听进程: $lsnrctl stop 3. 在独占的系统用户下,备份控制文件: SQL>alter database backup controlfile to trace; 4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据原创 2009-10-29 12:30:00 · 566 阅读 · 0 评论 -
完全删除Oracle数据库
很多朋友只用了Oracle的删除,但很多情况下,他会发现重新安装时,点了下一步安装界面就消失了,往往无奈下只好重装系统,其实只是你数据库没删干净,删干净就不会出现这种情况了。 实现方法: 1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务。 2、开始->程序->Oracle - OraHome81->Oracle InstallationProd原创 2009-10-29 12:58:00 · 347 阅读 · 0 评论 -
Oracle使用的hints调整机制
10g数据库介绍:可以使用更多新的optimizer hints来控制优化行为。现在让我们快速解析一下这些强大的新hints: spread_min_analysis 使用这一hint,你可以忽略一些关于如详细的关系依赖图分析等电子表格的编译时间优化规则。其他的一些优化,如创建过滤以有选择性的定位电子表格访问结构并限制修订规则等,得到了继续使用。 由于在规则数非常转载 2009-10-29 12:11:00 · 483 阅读 · 0 评论 -
oracle tnsnames.ora配置小结
listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。检查客户端oracle网络的时候可以先检查sqlnet.ora文件:# SQLNET.ORA Netwo转载 2009-10-28 11:08:00 · 7876 阅读 · 0 评论 -
Oracle数据库的ORA-00257故障解决过程
概述: Oracle数据库是目前业界最常用的大型数据库系统,我在实际项目中遇到出现ORA-00257错误(空间不足错误),通过查找资料,绝大部分说这是由于归档日志太多,占用了全部的硬盘剩余空间导致的,通过简单删除日志或加大存储空间就能够解决。但是我在Oracle 10g上发现,存储空间还有很大,却也报这个错误。原来是Oracle 10g中新的特性,对Flash Recovery的管转载 2009-10-29 13:08:00 · 568 阅读 · 0 评论 -
Oracle基础入门
1.Oracle数据库体系架构概要Oracle数据库系统是一个复杂的软件系统。所谓Oracle的体系架构,是指Oracle数据库管理系统的的组成部分和这些组成部分之间的相互关系,包括内存结构、后台进程、物理与逻辑结构等。 下图为Oracle数据库体系总体图: Oracle数据库的体系很复杂,复杂的原因在于它最大限度的节约内存,从上图可以看出,它在整体转载 2009-10-29 11:25:00 · 533 阅读 · 0 评论 -
Oracle的常用命令
一。Oracle服务器的常用命令行详细讲解1.数据库管理相关 bbed.exe 数据块浏览和编辑工具 dbv.exe 数据文件逻辑检测工具 exp.exe 数据导出工具 imp.exe 数据导入工具 mig.exe 数据库移植工具转载 2009-10-29 11:36:00 · 542 阅读 · 0 评论 -
Oracle数据库的备份及恢复策略研究
1、多工联机重作日志文件 每个数据库实例都有其自己的联机重作日志组,在操作数据库时,Oracle首先将数据库的全部改变保存在重作日志缓冲区中,随后日志记录器进程(LGWR)将数据从系统共用区SGA(System Global Area)的重作日志缓冲区写入联机重作日志文件,在磁盘崩溃或实例失败时,可以通过与之相关的联机重作日志来保护数据库,将损失降至最低,但 Oracle在默认的方式下只转载 2009-10-29 13:16:00 · 483 阅读 · 0 评论 -
Oracle学习笔记摘录6-----PL/SQL块 存储过程 FUNCTION
declare begin --SQL语句 --直接写的SQL语句(DML/TCL) --间接写execute immediate --select 语句 必须带有into子句 select empno into eno from emp where empno =7369;转载 2009-10-29 17:55:00 · 1156 阅读 · 0 评论 -
Oracle学习笔记摘录5-----表 / 序列 /视图 / 索引 / 同义词
数据库对象表(约束)如何自动编号SQLserver --IDENTITY属性 create table test( xh int identity(1,2) primary key, name varchar(20)); insert into test(name) values (mike);ORACLE 一个对象(序列转载 2009-10-29 17:48:00 · 718 阅读 · 0 评论 -
Oracle学习笔记摘录4-----子查询和关联查询
建立表如下:学生基本信息表CREATE Student([Studentid][Int]IDENTITY(1,1)NOT NULL primary key,--主键[StudentName][char]NOT NULL)课程信息表CREATE Subject([SubjectID][char]NOT NULL primary key, -原创 2009-10-29 17:48:00 · 1111 阅读 · 0 评论 -
Oracle学习笔记摘录3-----SQL的语言类型详解
《1》DDL语句(数据定义语言) Data Define Language create alter drop truncate 开头的语句 truncate table 特点:建立和修改数据对象 建立和修改直接存入库中,直接生效 建立表 create table class(--班级表转载 2009-10-29 17:44:00 · 434 阅读 · 0 评论 -
Oracle学习笔记摘录2-----ORALCE的函数
单行函数 返回值只有一个 分组函数 返回值是多条记录 group by sum avg 单行函数 字符函数 concat 连接 || 显示dname和loc中间用-分隔 select deptno,dname||----||loc转载 2009-10-29 17:39:00 · 661 阅读 · 0 评论 -
Oracle学习笔记摘录1-----create alter insert update select等
1.create alter insert update select等如何建表 学生表student create table student( --学生表 xh number(4), --学号 xm varchar2(10), --姓名 sex char(2), --性别原创 2009-10-29 17:34:00 · 1104 阅读 · 0 评论 -
oracle中rownum的用法--主要用于分页中
rownum 真的是很好的东西,现在大多数用于存储过程分页. 但怎么用呢?这就来研究一下。 嘿嘿--- 以下为转载之处,仅供学习对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀。 举例说明:例如表:student(学生转载 2009-10-29 17:03:00 · 563 阅读 · 0 评论 -
oracle数据库文件中的导入/导出———还原与备份
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IM转载 2009-10-29 13:37:00 · 526 阅读 · 0 评论 -
Oracle TRANSLATE用法
语法:TRANSLATE(expr,from,to)expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。举例:select translate(abcbbaadef,ba,#@) from dual (b将被#替代,a将被@替代)select translate(abcbbaadef,bad,#@) from d原创 2010-01-07 10:12:00 · 569 阅读 · 0 评论