一步一脚印

欢迎来到一步一脚印>>   | 首页 资源中心 | BUG | 心情驿站 | Linux/Unix技术 | Oracle技术 | ITPUB论坛

联机重定义修改字段类型(NVARCHAR2->VARCHAR2)

发表人:space6212 | 发表时间: 2008年十一月13日, 22:33

今天在调整一个SQL的时候发现有一个表使用了NVARCHAR2字段类型,在于VARCHAR2类型的字段连接时发生隐式转换(VARCHAR2 -> NVARCAHR2),导致SQL走了全表扫描。
SQL类似如下:
SELECT * FROM T1,T2 WHERE T1.NAME=T2.NAME AND T1.NAME='XXX';
其中T1的NAME类型为:NVARCHAR2
T2的NAME类型为:VARCHAR2
 查看全文

如何找出引起ORA-1652的SQL?

发表人:space6212 | 发表时间: 2008年八月21日, 18:07

在alert文件中,我们可能会看到这样的报错信息:
Wed Aug 20 17:16:37 2008
ORA-1652: unable to extend temp segment by 128 in tablespace DBA_TEMP
要解决这个问题,我们首先要导致这个问题的SQL,可能方法有几种:
 查看全文

MTS的dispatcher进程异常中断引起ORA-07445

发表人:space6212 | 发表时间: 2008年八月14日, 18:37

ORA-07445: exception encountered: core dump [_int_malloc()+374] [SIGSEGV] [Address not mapped to object] [0x68C3D0] [] []

解决方法:因为这个错误表示已经有DISPATCHER异常中断了,所以需要重置MTS_DISPACHER,使得数量与参数预设值一样:
alter system set dispatchers='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(LISTENER=listener_01))(SDU=2048))(DISPATCHERS=15)' scope=memory;


创建完全刷新的物化视图时遭遇ORA-12014

发表人:space6212 | 发表时间: 2008年八月14日, 17:46

创建完全刷新的物化视图时遭遇ORA-12014suk@D10R2N1> create materialized view mv_test1 refresh complete as select * from test2;
create materialized view mv_test1 refresh complete as select * from test2
*
ERROR at line 1:
ORA-12014: table 'TEST2' does not contain a primary key constraint

创建完全刷新的物化视图时与主键没有关系,经查metalink,发现这是一个BUG:

https://metalink.oracle.com/metalink/plsql/f?p=130:14:2745731371560361694::::p14_database_id,p14_docid,p14_show_header,p14_show_help,p14_black_frame,p14_font:NOT,386181.8,1,1,1,helvetica

Metalink给出的解决方法是加上with rowid子句:

suk@D10R2N1> create materialized view mv_test1 refresh complete with rowid as select * from test2;

Materialized view created.


减少日志产生量小结

发表人:space6212 | 发表时间: 2008年七月24日, 17:09


如果force_logging=no 则
对于普通表:
noarchive: append
archvie: nologging + append

临时表:
noarchive: append
archvie: append

如果force_logging=yes
对于普通表:
noarchive: 无法减少日志量
archvie: 无法减少日志量

临时表:
noarchive: append
archvie: append


由于临时表只保存临时数据,就算恢复不了也没问题,所以尽量不让它产生日志。


用oradebug挂起进程

发表人:space6212 | 发表时间: 2008年六月29日, 23:45

oradebug可以帮助我们做很多事情,如dump内存信息、设置事件、挂起进程等。本文主要介绍如何使用oradebug挂起进程。

 查看全文

Hugepage、VLM、SGA和Share memory

发表人:space6212 | 发表时间: 2008年六月29日, 23:44

本文主要讨论Hugepage、VLM、SGA和Share memory的关系和设置。

 查看全文

RAC环境下创建物理DATAGUARD(2)

发表人:space6212 | 发表时间: 2008年五月03日, 23:44

为一个RAC搭建standby和单节点搭建方法基本一致,我们可以把RAC看成是一个单节点的数据库,只需要保证所有节点的日志能传送到备库即可。

 查看全文

RAC环境下创建物理DATAGUARD(1)

发表人:space6212 | 发表时间: 2008年五月03日, 23:40

为一个RAC搭建standby和单节点搭建方法基本一致,我们可以把RAC看成是一个单节点的数据库,只需要保证所有节点的日志能传送到备库即可。

 查看全文

一次简单的分页优化

发表人:space6212 | 发表时间: 2008年四月18日, 17:45

今天对一个排序分页查询进行了一次优化,优化后性能得到明显改观。下面用例子说明优化步骤。 查看全文

SESSION处于KILLED状态下如何找出对应的进程

发表人:space6212 | 发表时间: 2008年四月18日, 17:42

今天在处理一个会话满了的数据库,需要释放部分无用的session。根据V$SESSION的program可以简单确定PL/SQLDEV连过去的会话基本是无效会话,需要把这些会话都kill掉: 查看全文

高级复制错误ORA-23474解决方法

发表人:space6212 | 发表时间: 2008年四月04日, 16:26

今天接到开发人员报告:开发库的一个表不能更新数据。
登上开发库执行一下发过来的SQL,果然报错:

SQL> update CAT_AUTH_BAD_DRUG set PROCLAMATION_NUMBER = 'ss';
update CAT_AUTH_BAD_DRUG set PROCLAMATION_NUMBER = 'ss'
*
ERROR at line 1:
ORA-23474: definition of "NDMAIN"."CAT_AUTH_BAD_DRUG" has changed since
generation of replication support

 查看全文

tar方式安装数据库

发表人:space6212 | 发表时间: 2008年一月10日, 19:13

今天在linux as4上用tar方式安装oracle 10g,下面简单那记录步骤及安装过程中出现的问题。

 查看全文

日志损坏解决一则

发表人:space6212 | 发表时间: 2008年一月10日, 19:11

今天登陆数据库时报错:ORA-00257 archiver error. Connect internal only, until freed。

 查看全文

oracle 9i临时表产生过多redo

发表人:space6212 | 发表时间: 2008年一月10日, 19:10

今天遇到一个bug,对临时表进行insert的时候产生异常多的redo,下面模拟过程:
 查看全文

Valid XHTML 1.0 Strict and CSS. Powered by pLog
Design by Blog.lvwo.com