
oracle
文章平均质量分 60
lzhw1985
这个作者很懒,什么都没留下…
展开
-
linux下启动oracle
启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。 一、如何启动数据库实例 1.进入到sqlplus启动实例[oracle@redhat ~]$ su - oracle --“切换到oracle用户”Password:[oracle@redhat ~]$ lsnrctl start ...原创 2014-03-10 15:44:41 · 102 阅读 · 0 评论 -
MSSQL内外连接(INNER JOIN)语句详解
有两个表A和表B。表A结构如下:Aid:int;标识种子,主键,自增IDAname:varchar数据情况,即用select * from A出来的记录情况如下图1所示:图1:A表数据表B结构如下:Bid:int;标识种子,主键,自增IDBnameid:int数据情况,即用select * from B出来的记录情况如下图2所示:图2:B表数据为了把Bid和Aid加以区分,不让大家有误解,所以把B...原创 2012-12-29 14:41:23 · 146 阅读 · 0 评论 -
Java中使用hql,sql查询返回的list<Object> 转成需要的实体对象--方法讲解!
需要将Query对象setResultTransformer: List list = session.createSQLQuery(sql).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();//此时,每个Object可以转换成一个MapMap map = (Map) list.get(i);...原创 2012-12-26 08:56:42 · 285 阅读 · 0 评论 -
SQL字段值合并 同表同字段不同值合并
例 id name 1 A 1 B 1 C 2 a 2 b不用修改就用查询能成这样吗?id 别名1 A,B,C2 a,bselect id,group_concat(name) from 原表 group by id2012-12-25 14:30:28 · 516 阅读 · 0 评论 -
hibernate 中createQuery与createSQLQuery(转载)
原来的查询语句:String sql = "select a.* from tb_doc_catalog a where a.cat_code like '"+catCode+"%'";Session session = this.getSession();try {List catNameList = session.createSQLQuery(sql).list();return ...原创 2012-12-25 14:26:12 · 170 阅读 · 0 评论 -
行转列和列转行
行列互转,是一个经常遇到的需求。实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现。在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和总结过。为了加深认识,再总结一次。行列互转,可以分为静态互转,即事先就知道要处理多少行(列);动态互转,事先不知道处理多少行(列)。--创建测试环境USE tempdb;...原创 2012-12-25 14:24:22 · 162 阅读 · 0 评论 -
oracle数据库删除数据Delete语句和Truncate语句的对比
当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。一、delete语句(1)有条件删除 语法格式:delete [from] table_name [where condition];如:删除users表中的userid为‘001’的数据:delete from users wher...原创 2012-12-21 16:44:04 · 173 阅读 · 0 评论 -
修改Oracle最大连接数
1、修改Oracle最大连接数的方法 a、以sysdba身份登陆PL/SQL 或者 Worksheet b、查询目前连接数 show parameter processes; c、更改系统连接数 alter system set processes=1000 scope=spfile; d、创建pfile create pfile from...原创 2012-12-21 16:43:15 · 82 阅读 · 0 评论 -
ORACLE死锁的解决
死锁是数据库经常发生的问题,数据库一般不会无缘无故产生死锁,死锁通常都是由于我们应用程序的设计本身造成的。产生死锁时,如何解决呢,下面是常规的解决办法:1)执行下面SQL,先查看哪些表被锁住了: select b.owner,b.object_name,a.session_id,a.locked_modefrom v$locked_object a,dba_objects bwhere b.obj...原创 2012-12-21 16:42:53 · 215 阅读 · 0 评论 -
hibernate 3.2 jar包讲解
包 作用 说明jta.jar JTA规范,当Hibernate使用JTA的时候需要,不过App Server都会带上,所以也是多余的。 必要commons-logging.jar Apache Commons包中的一个,包含了日志功能,必须使用的jar包。这个包本身包含了一个Simple Logger,但是功能很弱。在运行的时候它会先在CLASSPATH找l...原创 2013-07-03 14:02:03 · 140 阅读 · 0 评论 -
java.lang.OutOfMemoryError: Java heap space错误及处理办法
以下是从网上找到的关于堆空间溢出的错误解决办法:java.lang.OutOfMemoryError: Java heap space ===================================================使用Java程序从数据库中查询大量的数据时出现异常:java.lang.OutOfMemoryError: Java heap space在JVM中如果...原创 2013-12-17 13:08:31 · 155 阅读 · 0 评论 -
ora-01654:unable to extend index xx.PK_PRICE_ID by 1024 in tablespace users
在网上查询了发现是空间不足导致。那么则需要增大表空间1、首先需查询表空间的位置 oracle查询表空间的datafile存放位置select file_name from dba_data_files根据查询发现目前使用的表空间已经有7G了2、增大表空间,增大到20GALTER DATABASE DATAFILE '/oracle/oradata/db/user01...原创 2014-03-10 15:37:44 · 392 阅读 · 0 评论 -
oracle的启动和关闭
一、sql*plus方式: 用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA身份连接到oracle . 启动 ...原创 2013-09-16 13:17:29 · 128 阅读 · 0 评论 -
Oracle创建删除用户、角色、表空间、导入导出
//创建临时表空间 create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf' size 32m autoextend on next 32m maxsize 2048m extent management local; //tempfile参数必须有 //创建数据表空间 create ...原创 2014-02-27 10:32:35 · 116 阅读 · 0 评论 -
ora-01654:unable to extend index xx.PK_PRICE_ID by 1024 in tablespace users
在网上查询了发现是空间不足导致。那么则需要增大表空间1、首先需查询表空间的位置 oracle查询表空间的datafile存放位置select file_name from dba_data_files根据查询发现目前使用的表空间已经有7G了2、增大表空间,增大到20GALTER DATABASE DATAFILE '/oracle/oradata/db/user0...原创 2014-02-27 10:00:22 · 1390 阅读 · 0 评论 -
ORA-01000: maximum open cursors exceeded
在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。 实际上,这个错误的原因,主要还是代码问题引起的。 ora-01000: maximum open cursors exceeded. 表示已经达到一个进程打开的最大游标数。 这样的错误很容易出现在Java代码中的主要原因是:Java...原创 2013-02-26 14:22:31 · 91 阅读 · 0 评论 -
ORA-00947: Not enough values 没有足够的值
执行insert的时候出现这个错误。insert into 表1 values (123,2423,12);表1的结构有4个column,显然插入的值只有三个,因此才会出现这个问题。再加个column 的值执行后,ok。倘若只想插入三个数值的话:insert into 表1(a,b,c) values (123,2423,12);用这个语句就可以了。create or...原创 2013-02-26 14:21:55 · 2116 阅读 · 0 评论 -
ORA-12899: value too large for column
昨天,同事导数据,本来一直好用的文件,就一直在报错:ORA-12899: value too large for column,本来以为程序修改导致字段长度变了,就改了一张表的结构。结果可好,导下一张表依然报错。。报错也好,也就确定了不是程序问题,是DB做的有问题。后来靠着强大的google找到了答案,才觉得Oracle error code也很强大! 通常会查询NLS_CHARACTE...原创 2013-02-26 14:21:05 · 531 阅读 · 0 评论 -
linux下启动oracle
启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。 一、如何启动数据库实例 1.进入到sqlplus启动实例[oracle@redhat ~]$ su - oracle --“切换到oracle用户”Password:[oracle@redhat ~]$ lsnrctl start ...原创 2013-08-08 10:55:04 · 93 阅读 · 0 评论 -
查看oracle当前连接数
怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了。select * from v$session where username is not nullselect username,count(username) from v$session where username is not null group by username #查看不同用户的连接数selec...原创 2013-06-05 17:38:41 · 106 阅读 · 0 评论 -
javax.persistence.OneToMany.orphanRemoval()Z的另一种原因及解决办法
hibernate javax.persistence.OneToMany.orphanRemove()Z。。。这个错误。后来经过查阅网上资料,才知道3.5这个版本和j2ee里边的javaee.jar有冲突。Fuck!估计3.6版本应该修复了这个bug。我手边有个3.2版本的。对hibernate需要的jar包进行了总结:Hibernate3.5必须的jar包 ...原创 2013-06-03 10:26:15 · 156 阅读 · 0 评论 -
javax.persistence.OneToMany.orphanRemoval()Z
Spring3.0 + Hibernate3.5: 启动服务器报: Caused by: java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z at org.hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder...原创 2013-06-03 10:25:04 · 159 阅读 · 0 评论 -
java调用oracle存储过程总结
一:无返回值的存储过程存储过程为:CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGIN INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA;然后呢,在java里调用时就用下面的代码...原创 2013-03-17 14:42:59 · 66 阅读 · 0 评论 -
【Oracle】存储过程(Procedure)与(自定义)函数(Function)的区别
存储过程Procedure(自定义)函数Function存储过程需要单独执行,不一定有返回值;函数可以随处调用,一定有返回值,不一定是变量,也可以是表。用于在数据库中完成特定的操作或任务用于特定的数据程序头部声明时不需描述返回类型程序头部声明时必须返回类型可以作为一个独立的语句执行不能独立执行,必须作为表达式的一部分调用可以通过out/in out返回零...原创 2013-03-17 14:42:42 · 263 阅读 · 0 评论 -
Oracle存储过程测试总结
Oracle存储过程测试总结存储过程创建语法:•create [or replace] procedure procedure_name• [ (argment [ { in| in out }] type,• argment [ { in | out | in out } ] type• { is | as }• <类型.变量的说明&...原创 2013-03-17 14:42:27 · 282 阅读 · 0 评论 -
ARRAY、TABLE类型批量入库
java操作Oracle数据库——ARRAY、TABLE类型批量入库 首先是我的数据库表(PLSQL操作) create table TEST_TABLE ( yid NUMBER, ytel VARCHAR2(50), yanumber VARCHAR2(50) ); 这里记录两种方式:不管哪种方式、一定要...原创 2013-03-15 16:39:52 · 121 阅读 · 0 评论 -
如何在JAVA程序中使用Struct一次传入多条数据给Oracle的存储过程。
为了减少连接Oracle数据库的数量,需要将多条数据作为变量一次传入Oracle的存储过程中。方法如下: 步骤一:定义对象类型。 CREATE TYPE department_type AS OBJECT ( DNO NUMBER (10), NAME VARCHAR2 (50), LOCATION VARCHAR2 (50) ); 步骤二:定义一个对象类型的数组对象。 CREATE TYPE d...原创 2013-03-15 16:38:04 · 123 阅读 · 0 评论 -
使用db link 把ORACLE 数据库中的表复制到另外一个数据库,也可以把表中的数据从一个库复制到另外一个库的表...
数据库1:db1数据库2:db2一、下面把db1里面的表,复制到到db2: 1.在db2里面创建db link create public database link mydblink connect to scott identified by tigger using 'db1'; 2.只复制一个表和数据。 create table product as select *...原创 2013-03-15 16:36:58 · 344 阅读 · 0 评论 -
Oracle存储过程基本语法
存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它;行2: IS关键词表明后面将跟随一...原创 2013-03-15 16:35:55 · 101 阅读 · 0 评论 -
Oracle 跨库 查询 复制表数据
方法一:在目前绝大部分数据库有分布式查询的需要。下面简单的介绍如何在oracle中配置实现跨库访问。比如现在有2个数据库服务器,安装了2个数据库。数据库server A和B。现在来实现在A库中访问B的数据库。第一步、配置A服务器端的tnsnames.ora文件(TNSNAMES.ORA Network Configuration File),该文件存放的位置为:$ORACLE_H...原创 2013-03-15 16:34:35 · 129 阅读 · 0 评论 -
java.sql.SQLException: 无效的列索引
ava.sql.SQLException: 无效的列索引 “无效的列索引”其实是个低级的错误,原因无非几个: 1、sql串的?号数目和提供的变量数目不一致:例如:jdbcTemplate.update(sql, new Object[] {newState,oldState});如果sql里面有1个?号,Object[]送了2个,就会报错。 2、sql串里的?号...原创 2013-03-17 14:43:10 · 153 阅读 · 0 评论 -
Java调用Oracle函数的两种情况
下面为您介绍的Java调用Oracle函数方法,共两种情况,一种调用无入参的Oracle函数,一种则是调用有一个入参,一个输出参数以及一个字符串返回值的Oracle函数。调用无入参的函数函数定义CREATE OR REPLACE Function f_getstring Return Varchar2 Is Begin Return ''String value...原创 2013-03-17 14:43:21 · 152 阅读 · 0 评论 -
JDBC执行Oracle传入参数为集合对象的存储过程
当需要把插入多条数据的行为合并为一个事务时,可以考虑把一个list型数据作为参数传入存储过程,可以调用jdbc内部实现类来实现,这些类在classes12.zip(oracle 8,别的版本可能是其他名字的zip包)。 如:(一) 需要将一个list传入存储过程。 具体操作如下: 1,建立数据库对象来映射list数据类型。 --定义一个与list中各元素的数据类型相同的数据库对象 ...原创 2012-12-17 16:11:50 · 389 阅读 · 0 评论 -
Hibernate中DetachedCriteria的使用
Criteria對SQL進行封裝,讓開發人員可以用物件的方式來對資料庫進行操作,例如下面的查詢User表格中的所有資料:Criteria criteria = session.createCriteria(User.class);// 查詢user所有欄位List users = criteria.list();Iterator iterator = users.iterator();Sys...原创 2012-12-17 16:11:07 · 102 阅读 · 0 评论 -
Oracle定时执行存储过程
Oracle定时执行存储过程 包含以下子过程:Broken()过程。change()过程。Interval()过程。Isubmit()过程。Next_Date()过程。Remove()过程。Run()过程。Submit()过程。User_Export()过程。What()过程。1、Broken()过程更新一个已提交的工作的状态,典型地是用来...原创 2012-12-17 16:09:03 · 97 阅读 · 0 评论 -
createCriteria用法
Session session= this.getSession(); List list=session.createCriteria(MeterUser.class).add(Restrictions.eq("name", "11")).addOrder(Order.desc("userid")).list();Restrictions的用法: 方法说明...原创 2012-12-17 16:06:51 · 374 阅读 · 0 评论 -
ORA-00257: archiver error. Connect internal only, until freed
ORA-00257: archiver error. Connect internal only, until freed 登录oracle显示上面的错误 以下是公司大师给出的步骤,谨记录备用: 1、手工删除归档日志的文件夹(按日期那种) 2、在oracle用户下以rman target / 3、crosscheck archivelog all; 4、delete expired archive...原创 2012-11-09 13:43:02 · 90 阅读 · 0 评论 -
Oracle删除表的几种方法
删除表(记录和结构)的语名delete ———— truncate ———— drop DELETE (删除数据表里记录的语句) DELETE FROM表名 WHERE 条件; 注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused. 如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, ...原创 2012-11-09 13:42:15 · 106 阅读 · 0 评论 -
Linux下oracle数据库常用命令
Oracle用户下执行:$ sqlplus system/manager @ file.sql 执行sql脚本文件$ sqlplus system/manager 登录sqlplus,使用system用户$ sqlplus /nolog 以不连接数据库的方式启动sqlplus,启动数据时会用到$ ...原创 2013-03-26 15:07:36 · 336 阅读 · 0 评论 -
找回sys和system系統管理員的密碼
C:\>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期三 3月 24 11:21:06 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdba已连接。SQL> alter ...原创 2013-03-26 15:06:10 · 106 阅读 · 0 评论