如果我们要找到是什么进程引起了arch疯狂增长,我们可以用这样的方法来查找: 我们假设我们要生成一个大表,用ctas的方法来做,由于是ddl语句,我们在v$sqlarea里面找不到对应的语句,但是我们发现这个session产生大量的arch,那么我们怎么去找这个session呢? [crayon-6 […]
修改props$中字符集的恢复
在9i和10g还有11g的数据库中,如果我们update了props$数据字典中的多个字符集的值,造成数据库无法启动,除了用bbed modify数据块外,oracle还自带了一个工具lbuilder,可以用来恢复。 下面介绍下这个工具的使用。 数据库版本和原来的字符集: [crayon-679c0 […]
关于rman建DG的tempfile
用rman建dataguard之后,在备库的机器上是没有tempfile文件的,因此我们在switchover之后,需要让备库作为primary顶一段时间,需要有tempfile来进行排序操作。那么,我们怎么给备库加tempfile呢? 在这里需要注意的是,由于数据库没有tempfile也能启动,因 […]
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的机器上,通过控制面板的服务,无法启动,在命令行里面也启动不了: […]
用分析函数取序列的间隔
假如我们有一个序列,是从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 […]
挽救丢失的pfile
问题是这样出现的:按照平时的要求,spfile应该写入到一个裸设备中,由于裸设备所在的路径没有控制好权限,而create spfile的时候,弄错了大小写:裸设备为spfile_128m_01,而误操作成了create spfile=’spfile_128M_01′ from […]
关于数据文件头的一些问题
今天忽然想到一个问题,数据库使用裸设备,且一个主机上有2个instance,如果划分lv的时候没有注意名称上的区别,那么在使用的时候,是否会出现一个lv已经分配给了某一个instance,由于instance之间是独立了,裸设备也是不经过os层面,不会锁定的,因此可以把这个lv分配给另一个insta […]
侦听服务出现blocked状态
今天在用rman做standby数据库时,连接auxiliary数据库报错以下信息:
1 2 3 4 5 6 7 8 |
连接到目标数据库: ORALOCAL (DBID=3856983144) RMAN> connect auxiliary sys/sys@standby RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-04006: error from auxiliary database: ORA-12541: TNS: 没有监听器 |
去查了一下备机的侦听,由于是采用动态注册,先启动了侦听,再启动instance,当时pmon还没实现动态注册,需要等待1分钟左右的时间,发现oral […]
DG备机设置mandatory归档,主机无法切出日志
由于备机新升级了硬盘,一时还没把dg(data guard)装好,就断开了主机和备机的网络,今天在手工switch logfile的时候,当切出到低18个的时候,就挂住了,长时间没有相应。 检查alertlog中,发现在不断写出如下的报错: [crayon-679c0e4a148e840509330 […]
谈谈容灾
今天来谈谈关于容灾的一些事情,其实网上很多关于容灾的方案、白皮书等等,各个厂家也有自己主推的容灾工具。在这里,我结合自己的工作经验,简单的谈谈我理解的数据库容灾。 容灾,要考虑投资额度,能承受多少最大的支出;要考虑能接受的损失范围,保证我最小业务运行有哪些条件;要考虑容灾的距离,是本地容灾还是异地容 […]