问题是这样引起的:测试建一个single table hash cluster,建了好几次,也查了不少资料,一般报错 ORA-01753 是因为设置的字段类型不一致,但是经检查字段类型确实是一致了,且number也被cast定成了整形,应该没问题呀,但是总是报错: [crayon-6783dcbd2 […]
定期删除DG归档日志的脚本
Dataguard的维护稍微麻烦点,不能删除尚未applied的归档日志,但是每次手工去核对就比较麻烦了,今天在pub上看到这样一个要求:“哪位有 standby数据库 定期删除已经apply的archive的shell脚本?”于是就写了个脚本,基本可以满足题目的要求: 1、已经在standby库a […]
修改props$中字符集的恢复
在9i和10g还有11g的数据库中,如果我们update了props$数据字典中的多个字符集的值,造成数据库无法启动,除了用bbed modify数据块外,oracle还自带了一个工具lbuilder,可以用来恢复。 下面介绍下这个工具的使用。 数据库版本和原来的字符集: [crayon-6783d […]
关于rman建DG的tempfile
用rman建dataguard之后,在备库的机器上是没有tempfile文件的,因此我们在switchover之后,需要让备库作为primary顶一段时间,需要有tempfile来进行排序操作。那么,我们怎么给备库加tempfile呢? 在这里需要注意的是,由于数据库没有tempfile也能启动,因 […]
基于数据文件的rman建DG
前段时间,itpub上有朋友问“小弟仔细想了想发现一个问题:dataguard的空间不足以容下一份rman备份和数据文件.这样就只能停机做了吗??”。在主机空间不够的情况下,我们可以用rman一个数据文件一个数据文件的做dataguard。今天把基于数据文件的rman建datagurard操作了一下 […]
Dataguard启动的各个阶段
主库启动instance和lsnr,在备库启动lsnr后,在dg启动的各个阶段,dg都做了什么呢:启动了那些进程?什么时候会传归档?什么时候开始应用归档? 1.备库关闭时。 1.1 检查备库进程:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[oracle@standby1 arch]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jan 11 23:52:25 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. > > !ps -ef |grep ora_ oracle 3917 3915 0 23:52 pts/1 00:00:00 /bin/bash -c ps -ef |grep ora_ oracle 3919 3917 0 23:52 pts/1 00:00:00 grep ora_ |
1.2 备库arch目录: [cra […]
提交SR的一些小技巧
在平时的时候,遇到一些问题总会在metalink上提交SR(Service Request,SR,过去也叫Technical Assistance Request,TAR ),我们提交sr的时候,总是希望早点能够得到问题的解答。那么我们该如何提交sr,提交sr后该如何提高解答的速度呢? 1.sr分为 […]
insert时关于&符号的录入
今天遇到一个问题,同事用动态sql生成的insert语句,其中含有&符号,在做insert时,这个&符号就被作为一个变量提示符了。如何解决这个问题?其实很简单:set define off
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
SQL> create table t (a varchar2(20)); Table created. SQL> insert into t values('aaa&bbb'); Enter value for bbb: . old 1: insert into t values('aaa&bbb') new 1: insert into t values('aaa.') 1 row created. SQL> rollback; Rollback complete. SQL> SQL>--we now set define to OFF,then insert data. SQL> set define off SQL> insert into t values('aaa&bbb'); 1 row created. SQL> select * from t; A -------------------- aaa&bbb SQL> |
我们发现set defi […]
DP的备份作业计划(schedule)无法正常执行
dp打完patch之后,发现schedule无法正常执行,已经正确的设置了schedule,且尝试重启重启服务,reset schedule,重启cell manager主机,都无法正常的运行schedule的作业,但是手工start backup却是可以的。 检查dp的debug log: C:\ […]
DP的RDS服务无法启动
今天遇到个问题,dp备份arch时,在dp的界面报错daemon is not running, 进一步查看detail发现是dp的rds服务没有启动, 由于dp的cell manager是安装在windows 2003 server的机器上,通过控制面板的服务,无法启动,在命令行里面也启动不了: […]
ASM的管理:asmcmd命令介绍
oracle 10R2推出了asmcmd这个工具,可以用来管理asm存储上的文件。 1.使用asmcmd命令必须先启动asm实例,不然会有以下报错:
1 2 3 4 |
rac2-> asmcmd -p ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory (DBD ERROR: OCISessionBegin) |
2.使用asmcmd必须先指定ORACLE_HOME和ORACLE_SID,注意此处 […]
用分析函数取序列的间隔
假如我们有一个序列,是从400100到499999,但是其中有序列中有缺失,我们需要找在序列中有哪些间隔,我们应该怎么去找呢? 我们来看看这个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
SQL> select * from test_table order by menuid; …… MENUID NAME ---------- ---------------------------------------- 408090 aa 408091 aa 408092 aa 408093 aa 408094 aa 408095 aa 408096 aa 408097 aa 408098 aa 408099 aa<-----注意此处,序 408200 aa<-----列不连续。 408201 aa 408202 aa 408203 aa 408204 aa 408205 aa 408206 aa 408207 aa 408208 aa 408209 aa …… 439379 aa 439380 aa<----注意此处,序 439382 aa<----列不连续。 439383 aa 439384 aa 439385 aa 439386 aa 439387 aa 439388 aa …… |
现有一个表myuser.test_table,其中有一列menuid,这个menui […]