2008-06-19 18:47
我们的应用程序经常会做一些报表。SUM 函数和 NVL 函数在 SQL 中经常被一起使用,以保证数据的准确。今天发现一个小问题:
|
SQL> create table test_yct(a number);
表已创建。
| |
2008-06-17 16:42
当你要做多个报表时,为了构造一致的数据,避免由于制作报表期间数据被更新而导致不平衡的数据出现,可以设置你的事务为只读模式。
SET TRANSACTION READ ONLY类似于SERIALIZABLE事务隔离级别,在发布SET TRANSACTION READ ONLY起的所有SELECT语句,其结果均为同一个时间点一致,直至显式地发布了COMMIT或ROLLBACK命令或隐式提交(执行DDL)。这个时间点为SET TRANSACTION READ ONLY这个语句执行后的时间点。这个语句与SERIAL |
2008-06-14 05:08
加班,睡不着,连续两天天亮了才睡,扛不住了。。。。 |
2008-06-08 13:45
在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。
前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。
1.
insert into tab1 select * from tab2;
commit;
这是最基础的insert语句,我们把tab2表中的数据insert到tab1表中。根据经验,千万级的数 |
2008-06-08 10:04
SaaS(Software as a Service,软件即服务)作为应用软件的一种全新的销售方式已经开始蓬勃发展起来,但是随着SaaS软件客户的增长,网络存储和带宽等基础资源就会逐 步成为发展的瓶颈,对众多企业来说,自身计算机设备的性能也许永远无法满足需求,一个简单的办法是采购更多、更先进的设备,随之而来就是设备成本急剧增 长,利润随之降低,有没有更加经济有效的解决途径呢?“云计算”的出现也许为这个问题的解决推开了大门的一个缝隙。
Cloud Computing(云计算)是一种新兴的共享基础架构的方法,通 |
2008-06-07 20:50
有这样的一类需求,快速复制一张表,而这张表的数据量又非常的大。比方说本来是分区表,要把它重新变成非分区表,怎么能够快速的完成这样的操作呢?有下面几种方法:
第一,就是利用CTAS方式来创建一张新表,当然要想加快速度,在数据库不是force logging的前提下,可以使用nologging方式来创建表:
SQL> select force_logging from v$database;
FOR
---
NO
SQL> create table tab_test_bak tablespace ts_t |
2008-06-02 17:06
环境:AIX 5.2
数据库版本:10.2.0.2
一个生产数据库的cache buffer chains等待比较严重,考虑对其进行优化,下面是对这个问题的一次解决过程(主要是加大热表的pctfree):
$sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 27 20:21:29 2008
Copyright (c) 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OL |
2008-06-02 15:53
1、如果是非当前日志而且归档(从v$log可以看出),可以使用 Alter database clear logfile group n 来创建一个新的日志文件;如果该日志还没有归档,则需要用 Alter database clear unarchived logfile group n
例如(手工vi状态是UNUSED且未归档的日志文件并破坏之):
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STA |
2008-05-30 11:43
如果没有备份只能是删除这个数据文件了,会导致相应的数据丢失。
SQL>startup mount
SQL>Alter database datafile 'file name' offline; --ARCHIVELOG模式
SQL>Alter database datafile 'file name' offline drop; --NOARCHIVELOG模式
SQL>Alter database open;
--注意:该数据文件不能是系统数据文件。
下面模拟一下:
D:\ |
2008-05-30 11:13
|
|