2008年3月3日
摘要: ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额.   因此,在创建对象之前,首先要分配存储空间.   分配存储,就要创建表空间:   创建表空间示例如下: CREATE TABLESPACE "SAMPLE" LOGGING DATAFILE D:\ORACLE\ORADATA\ORA92\LUNTAN.ora SIZE 5M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO 阅读全文
posted @ 2008-03-03 23:29 一江水 阅读(1552) 评论(0) 推荐(0) 编辑
摘要: 序列的创建 create sequence seq_newsId increment by 1 start with 1 maxvalue 999999999; 得到序列的SQL语句 select seq_newsid.nextval from sys.dual; 删除序列的SQL DROP SEQUENCE seq_newsId; 阅读全文
posted @ 2008-03-03 23:28 一江水 阅读(64005) 评论(1) 推荐(1) 编辑
摘要: //创建临时表空间 create temporary tablespace test_temp tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; 阅读全文
posted @ 2008-03-03 23:24 一江水 阅读(1018) 评论(0) 推荐(0) 编辑
摘要:   建议PCTINCREASE参数设置为0,可使碎片最小化,使每一个Extent都相同(等于NEXT值)      一旦建立了某个对象,它的INITIAL和MINEXTENTS参数不能修改(Oracle 816中可修改MINEXTENTS参数)      对于NEXT和PCTINCREASE的任何修改都只影响后来分配的那些Extent 阅读全文
posted @ 2008-03-03 23:16 一江水 阅读(6512) 评论(0) 推荐(2) 编辑
摘要: 第一章 oracle 的体系结构 1.2 oracle 数据库中的常用术语 进程: (process) 后台进程: (background process) 缓冲区: (buffer) 主机: (host) 服务器: (server) 客户机: (client) 阅读全文
posted @ 2008-03-03 23:10 一江水 阅读(3543) 评论(0) 推荐(0) 编辑
摘要: 经验总结: 联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题。 损坏非当前联机日志: 1、启动数据库,遇到ORA-00312 or ORA-00313错误,如: ORA-00313: open failed for members of log group 4 of thread 1 ORA-00312: online log 3 thread 1: '/opt/oracle/db04/oradata/ORCL/redo03.log' 从这里我们知道日志组1的数据文件损坏或丢失了 从报警文件可以看到更详细的信息 阅读全文
posted @ 2008-03-03 23:05 一江水 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 一、修改共享池的大小: SQLalter system set shared_pool_size=32M scope=spfile; 二、修改数据库高速缓冲区的大小: SQLalter system set db_cache_size=400M scope=spfile; 阅读全文
posted @ 2008-03-03 22:59 一江水 阅读(408) 评论(0) 推荐(1) 编辑
摘要: 1、取得存储过程返回的值 CallableStatement cs = conn.prepareCall( "{call proc_fbquery(?,?,?)}"); //调用存储过程 cs.setString(1,mem); cs.setInt(2,n); cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR); cs.execute(); rs=(ResultSet)cs.getObject(3); 阅读全文
posted @ 2008-03-03 22:18 一江水 阅读(1476) 评论(0) 推荐(0) 编辑
摘要: 建立一个登录系统,要求达到以下目的。 1、用户通过Bean来认证以及得到得到用户信息。 2、记录用户登录信息,如用户登录次数,最后登录时间。 3、记录操作日志。 未解决及疑惑的问题: 1、用户登录后的Session是否可以通过Bean来判断。 2、通过Bean调用ORACLE存储过程,返回select后的记录集。 阅读全文
posted @ 2008-03-03 22:12 一江水 阅读(364) 评论(0) 推荐(0) 编辑
摘要: create or replace procedure proc_person_data_clear( usercode in varchar,unitcode in varchar,newDate in varchar) /*usercode 删除人员的账号 unitcode 删除人员所在的单位代码 newDate 当前日期 */ as begin /*删除备忘录内当前人员的所有事项*/ delete from pending_affairs where useraccount=usercode and systemcode=unitcode; /*删除文档管理内创建人为当前人员的且为个人文档*/ delete from document_manager where doctype='0' and useraccount=usercode and systemcode=unitcode; /*删除当前人员的所有签到信息*/ delet 阅读全文
posted @ 2008-03-03 22:11 一江水 阅读(4010) 评论(0) 推荐(0) 编辑
摘要: 1.基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 ( 参数1 IN NUMBER, 参数2 IN NUMBER ) IS 变量1 INTEGER :=0; 变量2 DATE; BEGIN END 存储过程名字 阅读全文
posted @ 2008-03-03 22:07 一江水 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 一. 导出工具 exp 1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HOME/bin exp导出工具将数据库中数据备份压缩成一个二进制系统文件.可以在不同OS间迁移 它有三种模式: a. 用户模式: 导出用户所有对象以及对象中的数据; b. 表模式: 导出用户所有表或者指定的表; c. 整个数据库: 导出数据库中所有对象。 阅读全文
posted @ 2008-03-03 22:05 一江水 阅读(339) 评论(0) 推荐(0) 编辑
摘要: Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。 阅读全文
posted @ 2008-03-03 22:03 一江水 阅读(1692) 评论(0) 推荐(0) 编辑
摘要: 关联在Oracle数据查询时会经常用到,灵活的应用关联可以解决很多实际应用的问题.下面给出一些示例: 阅读全文
posted @ 2008-03-03 21:49 一江水 阅读(6427) 评论(0) 推荐(0) 编辑
摘要: 说在前面,很容易被忽略的几个点:在读报告的时候,我们首先需要看清楚,留意3个内容,这份报告所对应的数据库版本,cluster方式,以及报告的时间段。尤其需要注意的就是时间段,脱离了时间段的statspck将是毫无意义的,甚至会得出错误的结果。 阅读全文
posted @ 2008-03-03 21:33 一江水 阅读(3540) 评论(0) 推荐(0) 编辑
摘要: 回滚段管理一直是ORACLE数据库管理的一个难题,本文通过实例介绍ORACLE回滚段的概念,用法和规划及问题的解决。 回滚段概述 回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的信息。一个事务只能使用一个回滚段来存放它的回滚信息,而一个回滚段可以存放多个事务的回滚信息。 回滚段的作用 事务回滚:当事务修改表中数据的时候,该数据修改前的值(即前影像)会存放在回滚段中,当用户回滚事务(ROLLBACK)时,ORACLE将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值。 阅读全文
posted @ 2008-03-03 21:30 一江水 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 语法描述: CREATE [UNDO] TABLESPACE tablespace_name [DATAFILE datefile_spec1 [,datefile_spec2] ...... [ { MININUM EXTENT integer [k|m] | BLOCKSIZE integer [k] |logging clause |FORCE LOGGING |DEFAULT {data_segment_compression} storage_clause |[online|offline] |[PERMANENT|TEMPORARY] |extent_manager_clause |segment_manager_clause}] 阅读全文
posted @ 2008-03-03 21:23 一江水 阅读(680) 评论(0) 推荐(0) 编辑
摘要: Oracle 数据库系统总是将系统用的回滚取名为SYSTEM(不要与SYSTEM用户相混),而且该回滚段都建立在 SYSTEM表空间内。比如可以从下面查询中看到系统的所有回滚段的基本信息: SQL select segment_name,tablespace_name,bytes,next_extent 2 from dba_segments where segment_type='ROLLBACK'; SEGMENT_NAME TABLESPACE_NAME BYTES NEXT_EXTENT ---------------- ----------------- ---------- ------------ SYSTEM SYSTEM 409600 57344 RBS0 RBS 4194304 2097152 RBS1 阅读全文
posted @ 2008-03-03 21:22 一江水 阅读(2768) 评论(0) 推荐(0) 编辑
摘要: ANALYZE { TABLE [ schema. ]table [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ] | INDEX [ schema. ]index [ PARTITION ( partition ) | SUBPARTITION ( subpartition ) ] | CLUSTER [ schema. ]cluster } { compute_statistics_clause | estimate_statistics_clause | validation_clauses | LIST CHAINED ROWS [ into_clause ] | DELETE [ SYSTEM ] STATISTICS } ; 阅读全文
posted @ 2008-03-03 21:12 一江水 阅读(3380) 评论(0) 推荐(0) 编辑
摘要: 之前在测试传输表空间时感受了一下跨平台的移值,当时只测试了通过传输表空间的特性复制某个指定表空间,或者是通过RMAN中的CONVERT或TTS复制数据库,测试结束之后,感觉ORACLE10G之后对不同平台(相同字节顺序)的数据文件相互兼容性方面得到大大提升,下意识认为不通过传输表空间直接复制数据文件应该也可以,今天在本地测试了一下,确实相当好使,通过这种方式使得跨平台的移植更加高效,也易于管理和操作,下面记录的为操作过程。 注意:源平台与目标平台的字节顺序(endian format)需要相同。更多概念可以参考我的笔记"使用可传输表空间的特性复制数据" 阅读全文
posted @ 2008-03-03 16:23 一江水 阅读(385) 评论(0) 推荐(0) 编辑