数据库
文章平均质量分 52
wcf1987
这个作者很懒,什么都没留下…
展开
-
物化视图同步问题
今天使用了下oracle的物化视图同步。过程因为已经使用了expdp,impdp所以表结构已经建立好,而且两个表均没有设置主键所以首先写道在源库上建立view log,由于没有主键,只能靠rowid create materialized view log on t_dns_cache_detection with rowid; 下来再远程库建立 create material...原创 2010-12-13 18:45:19 · 297 阅读 · 0 评论 -
PL sql小技巧
我们在使用pl/sql时有时候不想把变量写死在sql中比如select * from dual t where t.dummy='X',中我们不想把X写死,而是希望在每次运行时可以手动的填入,不用每次修改SQL,pl/sql满足了我们,select * from dual t where t.dummy='&input'采用 & 符号可以完美实现这一功能,...原创 2010-11-30 19:10:16 · 96 阅读 · 0 评论 -
ORA-01555 出错解决
写了段java操作数据库的代码 String getIPList="select t.dns_ip from t_dnscachetotal t where t.locid=0"; String getLocid="select t3.locid from (select max(t2.ipstart) ipstart,max(t2.ipend) ipend from t_GGMAP...原创 2010-11-30 20:59:17 · 276 阅读 · 0 评论 -
关于ip区间查询sql的写法
我们在项目中遇到了这样的一个问题,要查询ip对应的地址,采用的是google的地图库,其中我们把地图库导入了数据库,构造了一个这样的表-- Create tablecreate table T_GGMAP_IP( IPSTART NUMBER not null, IPEND NUMBER not null, LOCID NUMBER, COMPANY...原创 2010-12-02 13:54:24 · 768 阅读 · 0 评论 -
redhat Linux5.2 安装oracle 11G(一)
首先有两个帖子质量非常高很值得一看写道https://www.oratoolkit.ch/knowledge/howto/installation/seSrv-11g-R2-on-RHEL-5.2-x86_64.php http://download.oracle.com/docs/cd/B28359_01/install.111/b32285/toc.htm 第一个是有人开发了一...原创 2010-12-07 11:01:02 · 137 阅读 · 0 评论 -
redhat Linux5.2 安装oracle 11G(二)
上一次我们已经验证过了rpm等问题解决了,下来就是安装了,这里可以有两条路走一条是继续oratools,一条就是写道chown -R oracle:oinstall /u01/app/ chmod -R 775 /u01/app/ 安装 chown -R oracle:oinstall /myapp/oracle chmod -R 775 /myapp/oracle 以oracle登录...原创 2010-12-07 21:59:53 · 94 阅读 · 0 评论 -
oracle impdp ORA-39002处理
由于数据库迁移到了redhat上,在导数据时利用impdp,结果报ora 39002错误,以前在windows上做类似操作时也报过这个错误,当时因为写道create directory dump_dir as '/home/oracle/oracle_tools/yguo_data'; 虽然在数据库中建立了dump_dir,但是因为在实际中没有这个文件夹结果导致了这个错误...原创 2010-12-09 12:57:24 · 2678 阅读 · 0 评论 -
impdp expdp使用小结
最近我们迁移数据库,其中涉及到了数据迁移sql如下写道--建立导出目录,注意一般使用expdp都是在数据库安装机子上运行,虽然可以客户端导出,但是考虑到网络传输速度,我强烈不建议那么做,所以要注意数据库安装的机子上你得自建立对应目录,下面那条sql并不自己主动建立实际物理路径,我使用sys建立的 create directory dump_dir_E as 'E:\OracleBotW...原创 2010-12-10 11:09:41 · 144 阅读 · 0 评论 -
sql 多行合并问题 zt
写道内容引自: 多行一列数据合并成一行一列数据 http://topic.csdn.net/u/20090714/17/5FE6A0F7-CE78-4936-BE31-21D462236059.html 在MySQL和Oracle中实现行合并 http://www.blogjava.net/rain1102/archive/2009/06/24/283867.html SQL Server -...原创 2011-04-02 15:48:56 · 82 阅读 · 0 评论 -
删除自动分区的存储过程
我们设计了一个自动分区的超级大表,分区采用以时间分区的方式,结果数据爆掉了,没办法必须删除其中比较早的分区数据,我设计了一个存储过程完成这个过程, create or replace procedure ICE_Drop_PARTITIONS(dateBefore in Date, tableName in varchar2) as partitionName ...原创 2011-04-12 20:23:29 · 166 阅读 · 0 评论 -
查看索引建立执行进度
SELECT SID, decode(totalwork, 0, 0, round(100 * sofar/totalwork, 2)) "Percent", message "Message", start_time, elapsed_seconds, time_remaining , inst_id from GV$Session_longops t where t.TARGET='S...原创 2011-04-12 20:40:46 · 2211 阅读 · 0 评论 -
oracle 按主键排序
今天又遇到了个问题,我在应用中发现我们的一个web列表显示的特别慢,列表只是简单的将数据单表数据order 下输出,并且是对create table T_ATTACKEVENT( ATTEVNT_ID_N NUMBER not null, ATTEVNT_SIP_C VARCHAR2(15) not null, ATTEVNT_SPORT_N ...原创 2010-11-29 12:07:36 · 1532 阅读 · 0 评论 -
insert or update 的处理
我想大家在用数据库的时候应该都遇到过这种问题,当插入一条记录时判断,一个表中存在这个记录的时候更新它(很多时候应该是数目加一),没有的时候插入, 本来我们遇到这个问题时候我选择了写了个function来解决这个问题create or replace function InsertTJ(day2 in varchar2,domain2 in varchar2, ip2 in va...原创 2010-11-29 00:05:14 · 326 阅读 · 0 评论 -
spool的小技巧以及别的sql取整
在SQLPLUS里: 1.不显示 行头 set heading off pages 0 2.不显示行数信息 set feedback off 3。不在屏幕上显示结果 set termout off 还要 (关键。。。) 把sql存在文件(aa.sql)里用 @aa.sql的方式运行。不显示查询结果的唯一方法 写道取整(向下取整): select floor(5.534) from ...原创 2010-12-15 12:44:09 · 157 阅读 · 0 评论 -
ora 1653 temp不够大问题解决
我们在为一个大约70G的表重建索引的时候发现,会报ora 1653错误,实质就是temp断不够大,因为在建索引的时候需要排序,从而导致了大量的temp段使用,所以我们采用了指定temp段的方法如下:create bigfile temporary tablespace temp_botnet tempfile 'D:/temp_botnet.dbf'size 1024m au...原创 2011-04-13 09:58:03 · 171 阅读 · 0 评论 -
UPDATE GLOBAL INDEXES效果测试
alter table T_RECORD_0510drop partition SYS_P9621UPDATE GLOBAL INDEXES; 这是一段删除自动分区表中某个分区的代码,实际上我们经常遇到这种情况,就是自动分区表满了,要删掉较老的分区,这时候全局索引面临失效问题,这时大概有两个解决方案,一个是重做索引,一个就是采用UPDATE GLOBAL INDEXES;具体性能我...原创 2011-04-13 10:08:55 · 1376 阅读 · 0 评论 -
存储过程使用小结
写道create or replace procedure maomao_1217 as for_date date; for_btntid number; test int; CURSOR cur_date IS select distinct t.thedate from domain_score t; CURSOR cur_btntid IS select distinct t.btnt...原创 2010-12-17 16:45:11 · 90 阅读 · 0 评论 -
linux下oracle备份的一些心的
1.最近在做一个基于j2ee的web项目,这个项目web服务器和数据库都部署在linux服务器上,其中我要实现数据库的备份和恢复功能,实际上就是java调用expdp/impdp,这个想想其实应该蛮简单的,runtime.getruntime.exec(),大概就是这个么回事,但是实际在使用中,发现InputStream istr1 = process.getInputStream();B...原创 2011-05-04 14:16:42 · 109 阅读 · 0 评论 -
oracle 多表update,索引失效
这两天在写一个sql,就是有A,B两个表,要利用b表的字段更新a表对应的字段。形如update A set A.a=(select B.b from B where A.id=B.id); 这是一个非常常见的更新查询,但是在实际使用中,我要更新的a表和b表并不是主键相关,而是一个非唯一键相等,这样在实际中,观察执行计划发现根本不走索引,尽管我在A和B的相关字段上都添加了索引,...原创 2011-08-27 00:19:45 · 566 阅读 · 0 评论 -
(转载)oracle expdp impdp用法举例加介绍
Data Pump 反映了整个导出/导入过程的完全革新。不使用常见的 SQL 命令,而是应用专用 API(direct path api etc) 来以更快得多的速度加载和卸载数据。1.Data Pump 导出 expdp例子:sql>create directory dpdata1 as '/u02/dpdata1';sql>grant read, write on direct...原创 2010-11-05 19:13:09 · 95 阅读 · 0 评论 -
存储过程参数学习心的
今天写了个存储过程,单步调试不报错,但是update始终不成功,后来上网看了下原来是写道今天一个同事写oracle 的存储过程遇到了一个问题, 他在里面update 操作不能完成更新的操作, 但是又不会报错. 如一个表 A(id, code, name, type) 在存储过程中的更新操作的语句: update A x set x.type = 变量A where x.code = 变量B...原创 2010-11-21 18:30:16 · 88 阅读 · 0 评论 -
分区索引问题
select * from user_indexes t where t.status!='VALID' 查看失效索引,但是分区索引在这个中间显示的stuts是N/A,很奇怪, create index DDETAIL_IP3 on T_DDETAIL_N3(DD_IP) nologging parallel 8 local ;创建分区索引,并行8个,不记录日志 cre...原创 2010-11-26 00:50:29 · 96 阅读 · 0 评论 -
oracle 干掉执行线程
我们经常出现执行大数据量sql时,由于各种原因,我们想取消掉,此时在pl/SQL中选择了停止,但是被锁的表始终没有释放,因此我们可以如下操作 --查询锁住的表,以及对应的session状态,当状态为active时,执行"active时初级杀掉死锁线程SQL"可以杀掉正在执行的线程,但是很多时候运行后状态会变为killed,这时数据库在回滚操作,这个时间有时会非常的慢,如果你没有耐心,或者是...原创 2010-11-26 12:07:01 · 383 阅读 · 0 评论 -
pcap包处理程序的一次改进
最近某同学的有个程序跑得好慢,疑似有点问题。程序的核心是读取pcap数据包,然后白名单过滤插入数据库。在实际使用中发现每秒插入数据库条数在1000条每秒左右,而且是在占用了30个左右的数据库连接情况下,效率有点低。 刚开始我以为是数据库插入部分写得有点问题,这里采用的是逐条insert的方式,我经过查阅资料选择了改进为insert all into test(a,b,c) v...原创 2012-04-27 12:26:13 · 130 阅读 · 0 评论