【数据库】
文章平均质量分 55
onisland
这个作者很懒,什么都没留下…
展开
-
oracle触发器使用笔记
语法规则:Create [or replace] trigger [模式.]触发器名<br /> Before| after insert|delete|(update of 列名)<br />On 表名<br />[for each row]<br />When 条件<br />PL/SQL块<br />说明:<br />For each row的意义是:在一次操作表的语句中,每操作成功一行就会触发一次;不写的话,表示是表级触发器,则无论操作多少行,都只触发一次;<br />When条件的转载 2010-08-31 15:11:00 · 427 阅读 · 0 评论 -
oracle 的wmsys.wm_concat函数用法
无意中碰到wmsys.wm_concat这个函数很好很强大.怕有天忘了先记下来自己懒得写例子,网上抄来一片 谢谢你了 哥们.原文网址:http://space.itpub.net/?13387766/viewspace-448841今天才发现了wmsys.wm_concat这个有趣有用的函数,它的作用是以','链接字符。例子如下:SQL> create table idtable (id number,name varchar2(30));Table create转载 2010-11-10 15:14:00 · 1913 阅读 · 0 评论 -
Oracle数据导入导出imp/exp-备份恢复
<br />功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份。大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。 Oracle有个好处,虽然你的电脑不是服务器,但是你装了oracle客户端,并建立了连接 (通过net8 assistant中本地——>服务命名 添加正确的服务命名 其实你可以想成是客户端与服务器端修了条路,然后数据就可以被拉过来了)这样你可以把数据导出到本地,虽然可能服务器离你很远。你同样可以把dmp文件从本地导入到远处的转载 2010-11-11 14:15:00 · 764 阅读 · 0 评论 -
ORA-01940: cannot drop a user that is currently connected
<br />问题提出:<br />SQL〉DROP USER USER1 CASCADE<br />ERROR:ORA-01940: cannot drop a user that is currently connected<br />由于当前用户正连接到数据库,所以无法删除<br />解决办法:<br />1、查询此用户的会话进程,<br />SQL〉SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USER1';<br /> SID转载 2011-01-08 15:28:00 · 1254 阅读 · 0 评论 -
PL/SQL Developer实用技巧
<br />Oracle数据库相信已成为很多企业构建自身关键业务的重要后台支撑,也是众多开发人员常常采用的后台。但Oracle自己提供的一套客户端工具不是很好用,极大的影响了工作效率,幸好现在有了PL/SQL Developer这款工具。现在越来越多的开发人员成了它的忠实fans。本文就是立足于实用的基础上,总结了了改工具的常用技巧:<br /> <br />类SQL PLUS窗口:File->New ->Command Window 这个类似于oracle的客户端工具sql plus,但用比它好用多了;<转载 2010-11-21 16:34:00 · 1378 阅读 · 0 评论 -
oracle在unix环境下重启
<br />一,启动<br /> <br />1.#su - oracle 切换到oracle用户且切换到它的环境<br />2.$lsnrctl status 查看监听及数据库状态<br />3.$lsnrctl start 启动监听<br />4.$sqlplus / as sysdba 以DBA身份进入sqlplus<br />5.SQL>startup 启动db<br />转载 2011-02-10 16:42:00 · 3695 阅读 · 0 评论 -
Oracle 加号外连接
<br />对于外连接,Oracle中可以使用“(+)”来表示,标准 sql 可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。 <br /><br />1. LEFT OUTER JOIN:左外关联 <br />SELECT e.last_name, e.department_id, d.department_name <br />FROM employees e <br />LEFT OUTER JOIN departments d <br />ON (e.depar转载 2011-02-14 09:09:00 · 1153 阅读 · 0 评论 -
EXP-00091: Exporting questionable statistics 问题处理方法
<br />在使用EXP工具进行导出备份或迁移数据的时候有时会报很多的“EXP-00091: Exporting questionable statistics”错误,具体的现象和处理方法请观看……<br /><br />1.问题现象<br />[oracle@RH207 exp]$ exp test/test file=test.dmf log=test.log<br />……忽略……<br />EXP-00091: Exporting questionable statistics.<br />EXP-转载 2011-03-03 15:55:00 · 3372 阅读 · 0 评论 -
使用sqlplus Copy 命令从远程数据库读取数据.
需要从9个地市的计费数据库中读取一些表,存储到运营分析系统中.有几个表数据量超过1亿条.对于这么大的数据量,如果用create table as select 或者使用cursor的话,对回滚段的压力肯定非常大.经过同事提示,想到了sqlplus的copy命令.connect o转载 2011-07-12 10:56:57 · 1436 阅读 · 1 评论 -
oracle 权限与角色
<br />权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:<br /><br /> Object 对象级<br /><br /> System 系统级<br /><br /> Role 角色级<br /><br /> 这些权限可以授予给用户、特殊用户public或角色,如果授予一个权限给特殊用户"Public"(用户public是oracle预定义的,每个用户享有这个用户享有的权限),那么就意味作将该权限授予了该数据库的所有用户。<br /><br /> 对管理转载 2010-10-30 12:06:00 · 636 阅读 · 0 评论 -
oracle 行触发器与语句触发器的区别
<br />oracle 行触发与语句触发的区别: 1、行触发器有 for each row子句。语句触发器没有for each row 子句。 2、行触发器,可以有 when 作为触发限制,可以使用new/old。语句触发器不能有when 作为触发限制。 3、行触发器:对应DML语句所影响到的表中的每一行,触发器都要执行一遍。 4、语句触发:对应DML语句所影响到的表中的所有行,触发器只执行一遍。 例子: --测试表 create table wdt_test(test number(20)); --日志转载 2010-09-07 10:31:00 · 2710 阅读 · 0 评论 -
oracle多表创建的视图insert
<br />单表创建的视图是可以增、删、改。多表创建的视图是不能直接进行视图添加等更新。<br /> 解决办法:替代触发器。说道这,大家可能就都知道怎么做了。<br /> create or replace trigger 名称<br /> Instead Of Insert or update or delete<br /> on 视图<br /> for each row<br /> Declare<br /> begin<br /> If Inserting Then<br /> I转载 2010-09-03 11:07:00 · 1254 阅读 · 0 评论 -
oracle 临时表 解决 "表 *** 发生了变化,触发器/函数不能读"的问题
<br />行级的触发器代码中不能操作该表,包括select,所以报错! <br />当然解决方法就是要根据原因了,正因为限定了行级触发器的操作,只能选择表级的触发器了,但是在表级的触发器又不能获得:new和:old的值,那就只能采取两种触发器并用的方法了,并且还要包或者临时表加以辅助.<br />首先在行级触发器中将所需的,:new或者:old的值,写到包或者临时表中<br />然后在表级触发器中处理包或者临时表中已经写入的数据,操作成功后可以按照需求再删除临时表的数据.<br />下面是一个实例:<br转载 2010-09-06 09:51:00 · 1876 阅读 · 0 评论 -
ORA-01591 锁定已被有问题的分配事务处理--解决方法
<br />最近,在webogic中使用两阶段提交事务,遇到了错误java.sql.SQLException: ORA-01591: 锁定已被有问题的分配事务处理8.47.144854挂起<br />注意:8.47.144854是事务编号 <br />在网上找到一个比较详细解释http://www.chinageren.com/jc/HTML/120874.html<br />可在oracle提供的Administrator’s Guide文档中查找ORA-01591,获得相关的错误信息<br />英文原文转载 2010-09-08 09:22:00 · 1619 阅读 · 0 评论 -
oracle中触发器中的after和before
<br />1、oracle中触发器中的after和before有什么区别 <br />一个是在记录操作之前触发,一个是在记录操作之后触发。 <br />2、分别用在什么场合 <br />比如表之间定义的有外键,在删除主键时,必须要先删除外键表,这时就有先后之分。 <br />3、还有语句级触发和行级触发有什么区别? <br />如果定义为语句级,则Delete from t执行时,触发器只运行一次,如果定义为行级,则上面的Delete操作将使触器运行多次(有几条记录就运行几次)。<br /><转载 2010-09-08 17:40:00 · 3637 阅读 · 1 评论 -
oracle数据库定时任务
<br />常要oracle数据库定时的自动执行一些脚本,或做数据库备份,或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作,这时需要用到一个函数dbms_job.submit,来完成Oracle定时器Job时间的处理上。使用dbms_job.submit这个函数,我们只需要考虑两个事情:安排某一任务,和定制一个执行任务的时间点。但最重要也是最棘手的事情,我认为还是确定一个执行任务的时间点。时间点确定了,其他的事情就好办了。下面是函数dbms_job.submit使用方法:Java代码 dbms_转载 2010-09-09 11:16:00 · 13795 阅读 · 0 评论 -
oralce数据库定时任务示例
<br /> 在web系统开发中,某些系统需要定时执行一些数据库操作。如定期删除数据,定期调用某个存储过程进行报表的统计信息处理等等操作。为了解决这个需求,可以参照如下的几个步骤晚上数据库的定时任务的操作。 <br /> 1、创建需要定时执行的存储过程代码。 <br /> 2、创建定时job任务。 <br /> 可以参照如下例子: <br /> CREATE OR REPLACE PROCEDURE drop_create_table <br />IS <br />str_s转载 2010-09-09 11:17:00 · 1213 阅读 · 0 评论 -
oracle定时任务(dbms_job)
<br />今天总结下oracle的任务队列管理器(job queue ),以后也方便查询. <br />我们要做定时任务时,有两种办法 <br />一种是: 操作系统的定时,win的定时任务,unix的crontab <br />一种是: 数据库级的定时,她的效率更高, <br /><br />再有大量的表级操作时,建议用数据库本身的job queue,这样方便,效率高;如果用系统级定时, <br />会增加很多编程工作,成本增加了,还很容易出错,事情越简单出错的几率越小. <br />再使用job qu转载 2010-09-09 14:57:00 · 1008 阅读 · 0 评论 -
用C#通过DatabaseLink连接远程Oracle数据表的错误,及其变通方法
<br />这次做的项目,其中牵扯到跨数据库取数据的问题。<br />大概问题是这样的:<br />在一台服务器上有两个Oracle数据库实例oraOur和oraHR。<br />oraOur是我们自己建立的,里面有一些表,是和我们这个项目相关的。<br />oraHR是另外一套人事系统所用的,其中有4张表是关于确定使用者身份的(包括用户名、密码、电话、部门等信息的)。<br /><br />现在客户要求我们自己开发的系统在登录时采用人事系统中的用户数据,这样方便管理。<br />客户是上帝。<br /><转载 2010-09-03 17:50:00 · 855 阅读 · 0 评论 -
DBA之路:IBM小型机安装架设数据库环境实录
回校做论文期间应Doctor.Fang的邀请加入了他的一个项目组,帮忙安装服务器和数据库。前两天收到他的邮件,希望我能把安装的具体步骤总结以下,以后碰到同类问题的时候好做参考,就在此总结下。 项目是为当地运管局做的实时管理和监控所有机动车的系统,数据从sqlserver原创 2011-07-26 22:19:19 · 2447 阅读 · 2 评论