
数据库
ltoper
无
展开
-
游标实现表数据平均分配若干张表
要求将一张用户数据清单表,首先按照分公司进行分开,然后将这些以分公司为单位的集合,再平均分到若干张表中去。 按照分公司分开是很简单的,不管是按照区域列来分类,还是按照HLR码表来匹配,一句话可以解决。关键就是按照分公司分开后,怎么将一张表的数据平均分配到若干张表中去。 思路如下: 如果这若干张表,若干为素数,例如若干为13,增加一列序号,将序号除13取余原创 2009-06-02 02:54:00 · 704 阅读 · 0 评论 -
oracle中new_value的使用
本人来自转载,最开始是英文文档,某人加了注释SQL*PLUS中new_value的作用还是挺大的,多次在写脚本时用到它。使用new_value,可以方便的保存从Oracle表中选择出的数据,存为变量使用。小结了三种使用方法,只是用到的地方不同,调用new_value的方法还是相同的:#!/bin/shexport ORACLE_SID=CMPR1export ORACLE_HOME=/app/oracle/product/9205export PATH=$ORACLE_HOME/bin:$PAT转载 2011-03-10 16:46:00 · 3354 阅读 · 0 评论 -
关于ORACLE COMMIT操作的详解—转
<br />通常对undo有一个误解,认为undo用于数据库物理地恢复到执行语句或事务之前的样子,但实际上并非如此。数据库只是逻辑地恢复到原来的样子,所有修改都被逻辑地取消,但是数据结构以及数据库块本身在回滚后可能大不相同。原因在于:在所有多用户系统中,可能会有数十、数百甚至数千个并发事务。数据库的主要功能之一就是协调对数据的并发访问。也许我们的事务在修改一些块,而一般来讲往往会有许多其他的事务也在修改这些块。因此,不能简单地将一个块放回到我们的事务开始前的样子,这样会撤销其他人(其他事务)的工作!<br转载 2011-03-29 15:53:00 · 6999 阅读 · 0 评论 -
oracle exp 记录
<br />1、建表空间<br />2、建用户<br />3、赋予用户权限<br />exp是建立在上面三点已经完成的基础上。<br /> <br />查看数据库占用了多少空间<br /> <br />查看数据库中表空间占用情况:<br />1、在企业管理器中查看图形直观界面<br />2、在数据库中使用命令查看<br />select <br /> b.file_id 文件ID号, <br /> b.tablespace_name 表空间名, <br /> b.bytes原创 2011-03-29 14:59:00 · 764 阅读 · 0 评论 -
sybase的trunc log on chkpt 选项
该选项表示每当checkpoint检查进程执行时(通常每分钟12次以上),事务日志被载截,即将已提交的事务日志删除。但是,该选项设置成true以后,人工执行checkpoint操作时都不载截事务日志。在开发数据库应用时,防止日志增长太快.可以将该选项设置成true,所以它很有用。原创 2011-03-29 15:54:00 · 4719 阅读 · 0 评论 -
oracle 内存规划
11g 中新增MEMORY_MAX_TARGET 参数,此参数一出现就如在10g 中第一次出现SGA_MAX_SIZE 参数一样给人以耳目一新的感觉。memory_max_target 是设定Oracle能占OS多大的内存空间,一个是Oracle SGA 区最大能占多大内存空间。无疑在11g Oracle 又向自动管理内存更进一步。10g 的sga_max_size 是动态分配 Share翻译 2013-04-11 16:41:13 · 669 阅读 · 0 评论 -
oracle spfile pfile 使用
在做oracle 参数修改前,一定要先备份一个pfile>create pfile='/home/oracle/pfile.time' from spfile;因为修改完数据库全局参数后,很有可能数据库检测参数有冲突,导致数据库无法启动这个时候,就需要制定pfile 启动>startup pfile='/home/oracle/pfile.time'使用pfile启动后,需要将原创 2013-04-11 16:44:41 · 582 阅读 · 0 评论 -
oracle 分区表相关
select * from user_TAB_PARTITIONS where table_name='SMS_SMSC_DETAIL_DOWN' 查看该表的分区信息select orig_addr,dest_addr,recv_time from sms_smsc_detail_down PARTITION (PART_033) //指定分区查询WHERE (RECV_TIME be原创 2013-04-11 16:47:49 · 609 阅读 · 0 评论 -
oracle 日志切换频率分析
整体解决分两步走 目前修改建议: 增大日志文件,同时增加日志组个数。 争取能达到业务高峰期3-5分钟切换一次。 平均15-20分钟切一次。 SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; select * from (select b.recid,b.first_time,a.fir转载 2013-04-11 16:40:07 · 3502 阅读 · 1 评论 -
oracle sqlldr使用
oracle loader我需要将文本文件导入ORACLE,需要建立一个表然后用LOADER导入,以前都是写到SQL里,我觉得那样真的很麻烦了。。Oracle SQL*Loader 使用指南(转载)SQL*Loader是Oracle数据库导入外部数据的一个工具.它和DB2的Load工具相似,但有更多的选择,它支持变化的加载模式,可选的加载及多表加载.如何使用 SQL*Loade转载 2013-04-11 16:39:24 · 1009 阅读 · 0 评论 -
oracle 临时表空间相关记载
刚开始打算把临时表空间的数据文件重新缩小就好了执行:SQL> alter database tempfile2 '/oracle/oms/oradata/temp/temp01.dbf' resize 10240M;数据库报错,重新设置的空间大小不能满足需要。 看来需要重新建立新的临时表空间替换当前的表空间了1、首先查看当前的数据库默认表空间:SQL>select *转载 2013-04-11 16:46:40 · 654 阅读 · 0 评论 -
cpu开销很大,查到对应sql
很多时候我们的服务器可能会经历CPU消耗100%的性能问题。 排除系统的异常,这类问题通常都是因为系统中存在性能低下甚至存在错误的SQL语句, 消耗了大量的CPU所致。 使用top监控数据库进程top - 14:27:12 up 58 days, 13:26, 4 users, load average: 0.27, 0.35, 0.36Tasks: 262 tot转载 2013-04-11 16:46:00 · 919 阅读 · 0 评论 -
使用游标将一张表导入另一张表
<br /><br />declare cursor_test8 cursor KEYSET for<br />select col001 from info<br />open cursor_test8<br />FETCH FIRST from cursor_test8<br />declare @k varchar(40)<br />while (@@fetch_status =0)<br />begin<br />fetch next from cursor_test8 into @k<br原创 2011-02-11 11:16:00 · 1258 阅读 · 0 评论 -
表名作变量
<br /><br />declare @q varchar(10)<br />set @q=(select substring(convert(varchar(10),getdate(),112),1,6)-1)<br /> exec ('select * from ['+@q+'] ')原创 2011-02-11 11:15:00 · 417 阅读 · 0 评论 -
oracle批量提交
<br />create table zdq_up (serial number,usernumber varchar2 (40),spip varchar2 (40),userid varchar2 (40))<br />//serial为递增列<br />declare<br />i int;<br />j int;<br />begin<br />i :=0;<br />j :=0;<br />select count(*) into j from zdq_up;<br />loop<br />upd原创 2011-02-11 11:13:00 · 1865 阅读 · 0 评论 -
时间函数的应用
在统计报表的需求中,经常要用到上月、上星期等时间段,统计条件虽然都是一样的,但是每次时间都在变化,为此,研究了下时间函数在数据库中的应用。getdate()select getdate() 查看当前时间select 当前时间为 + convert(carchar,getdate(),112) 时间存储为datetime等时间格式,和字符串联合,因此需要将时间格式转换成字符格式。原创 2009-06-07 18:47:00 · 340 阅读 · 0 评论 -
日常应用几例
1、需要将YYYY.MM.DD转换成YYYYMMDD 有两种情况,原格式YYYY.MM.DD为datetime;原格式为char 如果原来格式为时间格式:DECLARE @D datetimeSET @DT=2009-11-24SELECT CONVERT(VARCHAR(8),@DT,112)——————————————————————————————200原创 2009-11-24 16:03:00 · 349 阅读 · 0 评论 -
bulk insert 导入文件为时间变量
create proc test1asdeclare @q varchar(100)set @q=convert(varchar(100),getdate(),102)declare @s varchar(8000)set @s=bulk insert colorring..test from + e:/c#/+@q+.txt WITH ( FIELDTERMINATOR =原创 2010-03-12 16:03:00 · 754 阅读 · 0 评论 -
分批操作
分批操作的典型语句set rowcount 2000while(1=1) begin dump transaction master with no_log delete from table1 where xxxxxxxxxxxx if @@rowcount =0 breakend 每次操作数1000,进入死循环,当删除的记录数等于0原创 2010-01-07 16:33:00 · 553 阅读 · 0 评论 -
sql中判断文件是否存在
EXEC master.dbo.xp_fileexist c:/1.txt原创 2010-03-23 09:35:00 · 1619 阅读 · 0 评论 -
v$session和v$process
<br />首先看看v$session跟v$process中主要的字段属性:<br />v$session(sid,serial#,paddr,username,status,machine,terminal,sql_hash_value,sql_address,,,)<br />v$process(addr,spid,,,)<br />可看到v$session中的paddr跟v$process中的addr对应,也即会话session在数据库主机上对应进程的进程地址.<br />这里我们要先定位该sessi转载 2010-07-30 09:45:00 · 1103 阅读 · 0 评论 -
在UNIX裸设备和文件系统之间移动ORACLE [转]
<br />在UNIX裸设备和文件系统之间移动ORACLE [转] <br />一、关于裸设备 <br />1.1 什么是裸设备(RAW DEVICE) <br />裸设备是指未创建文件系统的磁盘分区(raw partition)或逻辑卷(raw logical volume),应用程序直接通过一 <br />个字符设备驱动程序对它进行访问。如何对设备上的数据读写决定于使用它的应用程序。由于对裸设备的操作不通过UNIX的缓冲区,数据在ORACLE的数据缓冲区(BUFFER CACHE)和磁盘之间直接传递,原创 2010-07-30 09:54:00 · 364 阅读 · 0 评论 -
学习动态性能表
学习动态性能表第一篇--v$sysstat <br /> <br /> 按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。<br /> <br />类似于v$sesstat,该视图存储下列的统计信息:<br />1>.事件发生次数的统计(如:user commits)<br />2>.数据产生,存取或者操作的total列(如:redo size)<br />3>.如果TIMED_STATISTICS值为tru原创 2010-07-30 12:50:00 · 1394 阅读 · 0 评论 -
Oracle性能优化之诊断latch竞争
核心提示:1、概念 Latch是简单的、低层次的序列化技术,用以保护SGA中的共享数据结构,比如并发用户列表和buffer cache里的blocks信息。一个 服务器 进程或后台进程在开始操作或寻找一个共享数据结构之前必须获得对应的latch,在完成以后释放latch。不必对latch本身进 <br />1、概念<br /> Latch是简单的、低层次的序列化技术,用以保护SGA中的共享数据结构,比如并发用户列表和buffer cache里的blocks信息。一个服务器进程或后台进程在开始操作或寻找一个原创 2010-07-30 10:14:00 · 547 阅读 · 0 评论 -
oracle—spool—时间变量
<br />ismpsmp1@zxin10[/home/zxin10/task/mazongxiao]more test.sh<br />sqlplus zxdbm_ismp/zxin_smap <<EOF<br />@/home/zxin10/task/mazongxiao/test.sql<br />/<br />column spf new_value spf noprint<br />select '/home/zxin10/task/mazongxiao/'||to_char(sysdate,'原创 2011-02-11 11:14:00 · 2485 阅读 · 0 评论 -
ORACLE多表关联的update语句
<br />为了方便起见,建立了以下简单模型,和构造了部分测试数据:<br /> 在某个业务受理子系统BSS中,<br /> --客户资料表<br /> create table customers<br /> (<br /> customer_id number(8) not null, -- 客户标示<br /> city_name varchar2(10) not null, -- 所在城市<br /> customer_type char(2) not原创 2011-02-11 15:32:00 · 627 阅读 · 0 评论 -
oracle diag trace 路径下产生大量跟踪文件,修改参数进行控制
show parameter tracesql_tracetrace_enabled原创 2013-06-21 14:34:36 · 5392 阅读 · 0 评论