ORA-00379与db_nk_cache

OoNiceDream 发表于 2009-02-11 11:51

在DBA测试用的数据库中,查询dba_data_files报了以下错误:

SYS@TADBA> select * from dba_data_files;
select * from dba_data_files
              *
ERROR 位于第 1 行:
ORA-00379: no free buffers available in buffer pool DEFAULT for block size 16K

从报错来看,应该是创建了16K的表空间,又没有分配db_16k_cache_size的原因。
在9I中,可以创建不同block size的表空间,而这些表空间也要分配相应的db_nk_cache才行。

关键字: | 分类: 基础知识 | 评论数: 0 | 阅读全文

Sparse Files

OoNiceDream 发表于 2009-02-10 15:19

在Unix操作系统上,Oracle创建TEMP表空间,添加TEMP文件时,可以观察到瞬间就完成了,而且文件系统的使用率又没增长多少。这其实就是因为TEMP文件是Sparse Files的原因。

什么是Sparse Files

On many Unix filesystems, files containing long strings of nulls can be stored
much more efficiently than other files. To be specific, if a string of nulls
spans an entire allocation block, that whole block is not stored on disk at all.
Files where one or more blocks are omitted in this way are called sparse files.
The missing blocks are also known as holes.

关键字: , | 分类: Unix | Shell, 基础知识 | 评论数: 0 | 阅读全文

9i、10g disable主键、唯一性约束的不同

OoNiceDream 发表于 2009-02-06 10:40

对于主键约束与唯一性约束:
在9I中,当索引为唯一索引时,Disable constraint时,同时会把索引删除。
(注:1、索引为非唯一索引,不在本次讨论之列。通过创建一个非唯一索引,让P或U约束使用,可避免在Enable或Disable P或U约束时重建索引,同时也避免drop constraint时,删除相关的索引。
2、当Disable constraint时使用keep index选项,同样可以保留相应索引。)
而10G中,即使索引为唯一索引,在Disable Constraint时,也不会删除相应的索引。

关键字: | 分类: 基础知识 | 评论数: 0 | 阅读全文

查询表空间使用情况的简单视图

OoNiceDream 发表于 2009-01-19 18:45

用sm$ts_used、sm$ts_free视图来查看表空间使用情况还是比较方便的。结构简单,只有两列,用来大致估估使用情况还是挺实用的。

SYS@TADBA> select u.tablespace_name, u.bytes, f.bytes
  2    from sm$ts_used u, sm$ts_free f
  3   where u.tablespace_name = f.tablespace_name;
 
TABLESPACE_NAME                  BYTES             BYTES
-------------------- ----------------- -----------------
PERFSTAT                   17061511168       18589679616
SYSTEM                       182059008          80019456
UNDOTBS1                     186261504        2112159744
USER01                        10485760        1063190528
 
已选择4行。
关键字: | 分类: 基础知识 | 评论数: 0 | 阅读全文

Set wrap off与clob

OoNiceDream 发表于 2009-01-07 15:37

在本机使用sqlplus调用dbms_metadata.get_ddl时,发现查询不到结果:

SYS@TADBA> select dbms_metadata.get_ddl('TABLE','DUAL','SYS') from dual;
 
DBMS_METADATA.GET_DDL('TABLE','DUAL','SYS')
----------------------------------------------------------------------------
 
 
SYS@TADBA>
关键字: | 分类: 基础知识 | 评论数: 0 | 阅读全文

PSTOOLS-Windows下的命令行管理工具包

OoNiceDream 发表于 2008-12-18 10:07

找到一款不错WINDOWS下的命令行管理的工具包-PsTools,工具挺多的,简介其中两个小工具:
1、pslist:类似于UNIX下的ps命令

C:\Documents and Settings\NiceDream>pslist oracle
 
pslist v1.28 - Sysinternals PsList
Copyright ? 2000-2004 Mark Russinovich
Sysinternals
 
Process information for OONICEDREAM:
 
Name             Pid Pri Thd  Hnd   Priv        CPU Time    Elapsed Time
oracle          3820   8  10  165 135956     0:00:00.578     0:01:45.093

Thd为线程数,当前Oracle进程有10个线程。

关键字: | 分类: 基础知识 | 评论数: 1 | 阅读全文

Log Switch Frequency Map

OoNiceDream 发表于 2008-12-05 16:41

用TOAD自带的工具SQLMonitor,把Log Switch Frequency Map这一功能的SQL抓了出来。

Log Switch Frequency Map 显示每一天中,各个小时LOG切换的次数。用于体现数据库负载压力,还是有一定作用的。

对于archive模式的数据库,这些数据也可以理解为归档的数量,或者把V$LOG_HISTORY换成V$ARCHIVED_LOG,效果相同。

关键字: | 分类: 基础知识 | 评论数: 0 | 阅读全文

观察library cache lock/pin等待对象的变化

OoNiceDream 发表于 2008-12-04 15:29

关于library cache lock/pin原理,eygle老大的文章已经讲得很深入了,详见:
关于shared pool的深入探讨(五)

我这里借一次批量授权的机会,通过dba_ddl_locks视图观察library cache lock/pin等待对象的变化。(对数据库名、用户名、表名做了更改)

关键字: | 分类: 基础知识, 本站推荐 | 评论数: 0 | 阅读全文

10G Fast Dual特性

OoNiceDream 发表于 2008-12-02 11:00

从10G开始引入了FAST DUAL的概念,一些通过dual表计算,如select 1 from dual; select sysdate from dual; 已经不再需要访问data block了:

关键字: | 分类: 基础知识 | 评论数: 0 | 阅读全文

Opatch Not Working, Reporting Obsolete

OoNiceDream 发表于 2008-11-24 21:10

打CPU补丁6394981时遇到了以下错误:

Is the local system ready for patching? [y|n]
y
User Responded with: Y
正在备份受补丁程序 ‘NApply’ 影响的文件以用于恢复。此操作将需要一些时间…

This version of OPatch is obsolete. Please go to metalink.oracle.com
and use bug 6880880 to get latest version of OPatch.

UtilSession failed:

This version of OPatch is obsolete. Please go to metalink.oracle.com
and use bug 6880880 to get latest version of OPatch.

OPatch failed with error code 73

关键字: | 分类: 基础知识 | 评论数: 1 | 阅读全文

如何查找表被锁住的行

OoNiceDream 发表于 2008-11-19 06:28

如何查询一张表被锁住的是哪一行?也就是说会话是在哪条记录上产生了等待呢?
其实主要就是通过查询v$session,再结合dbms_rowid.ROWID_CREATE获得所等待的OBJECT及其ROWID:

select row_wait_obj#,row_wait_file#,row_wait_block#,row_wait_row# from v$session;
 
select 
 owner||'.'||object_name object,object_type 
from dba_objects where object_id=row_wait_obj#;
 
select 
 dbms_rowid.ROWID_CREATE
 (1,:row_wait_obj#,:row_wait_file#,:row_wait_block#,:row_wait_row#) 
from dual;
关键字: | 分类: 基础知识, 本站推荐 | 评论数: 0 | 阅读全文

SQL*PLUS中new_value的使用

OoNiceDream 发表于 2008-11-17 08:13

SQL*PLUS中new_value的作用还是挺大的,多次在写脚本时用到它。使用new_value,可以方便的保存从Oracle表中选择出的数据,存为变量使用。

小结了三种使用方法,只是用到的地方不同,调用new_value的方法还是相同的:

关键字: | 分类: 基础知识, 本站推荐 | 评论数: 0 | 阅读全文

站内搜索



返回首页 | 关于我 | 联系我 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |