RAC学习记录
CRS[@more@]CRS:1,OCR --> SRVCTL2,VOTING OCR和VOTING是不可以放在asm磁盘中的。因为ASM使用要启动ASM INSTANCE 。但OCR和VOTING FILE是要在启动的时候就可以存取访问的
-时间维度表导入
应用需求写的玩玩[@more@]DECLARE l_Cnt NUMBER; l_Time NUMBER := 84;BEGIN l_Cnt := 62; WHILE (l_Cnt < l_Time) LOOP EXECUTE IMMEDIATE ' SET TRANSACTION USE ROLLBACK SEGMENT rbs20'; EXECUTE IMMEDIATE ' INSERT /* +APPEND */ INTO dw_mobile_gateway.dim_time nologgingSELECT seq_dw_time.NEXTVAL, Fuudate, To_Char(Fuudate, ''DAY'', ''Nls_Date_Language = American''), To_Char(Fuudate, ''DAY''), To_Char(Fuudate, ''Ddd''), To_Char(Fuudate, ''Dd''), To_Char(Fuudate, ''d''), To_Char(Fuudate, ''Ww'
调整策略工具
来自TOM[@more@]设置事件:Dbms_system.set_sql_trace_in_session(sid,serial#,true)Alter session set events ‘10046 trace name context forever,level <n>’;Alter session set events ‘10046 trace name context off’;N=1----激活标准sql_trace工具,这与设置sql_trace=true一样。N=4----激活标准sql_trace,且可以捕获跟踪文件中的绑定变量。N=8----激活标准sql_trace,且可在查询上捕获跟踪文件中的等待事件。N=12—激活标准sql_trace,并包括捕获绑定变量与等待事件。TKPROF格式化后的内容***********************************
归档相关参数
数据库里面有很多归档相关参数,今天学习了下:[@more@]数据库里面有很多归档相关参数,今天学习了下:数据库是10gR2.采用spfile方式启动,默认是没有设置日志归档的目的地sys@OMAR> show parameter log_archive_destNAME TYPE VALUE------------------------------------ ----------- -------log_archive_dest stringlog_archive_dest_1 stringlog_archive_dest_10 stringlog_archive_dest_2 stringlog_archive_dest_
10G FLASHBACK
9I中可以实现行级恢复。在10G中增加了flashback table 和flashback database要使用这个必须设置undo_management为auto 而且要合理设置undo_retention[@more@]9I中可以实现行级恢复。在10G中增加了flashback table 和flashback database要使用这个必须设置undo_management为auto 而且要合理设置undo_retention一,实现行级恢复指定as of timestamp或as of scn子句u_omar@OMAR> select count(*) from t1 as of timestamp to_timestamp('2007-09-10 23:33:10','yyyy-mm-dd hh24:mi:ss'); COUNT(*)---------- 10000u_omar@OMAR> sel
DBNEWID的用法----NID命令
dbnewid用户改变DBID和dbnamedbid----数据库内部标识dbname----标识数据库名称[@more@]dbnewid用户改变DBID和dbnamedbid----数据库内部标识dbname----标识数据库名称D:oracleproduct10.2.0oradataORCL>nidDBNEWID: Release 10.2.0.1.0 - Production on 星期一 9月 10 22:47:04 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.关键字 说明 (默认值)----------------------------------------------------TARGET 用户名/口令 (无)DBNAME 新的数据库名 (无)LOG
DBVERIFY的使用
dbverify用于验证数据文件,表段或索引段是否存在损坏块只能验证数据文件,不能验证控制文件和redo log[@more@]dbverify用于验证数据文件,表段或索引段是否存在损坏块只能验证数据文件,不能验证控制文件和redo log1,使用dbv验证数据文件的磁盘块C:Documents and SettingsAdministrator>dbvDBVERIFY: Release 10.2.0.1.0 - Production on 星期一 9月 10 22:24:24 2007Copyright (c) 1982, 2005, Oracle. All rights reserved.关键字 说明 (默认值)----------------------------------------------------FILE
logminer工具的学习
logminer工具的学习[@more@]A:基本对象: source database:包含了要分析的重做日志和归档日志 mining database:执行logminer操作要使用的数据库 logminer 字典: 将内部对象ID号和数据类型转换成为对象名和外部数据格式,若不用字典进行分析。产生的LOG不是很容易读。(如例)B:logminer配置需求: 1,source和mining database必须运行在相同的硬件平台 2,mining database可以和source database在一台数据库上,也可以独立。 3,mining database版本必须高于source database 4,source和mining database必须字符集相同 5,log
restore archivelog
restore archivelog[@more@]RMAN> run{2> allocate channel c1 type 'sbt_tape';3> set archivelog destination to '/mnt/southdb/arch';4> restore archivelog from logseq 18427 until logseq 18527;5> release channel c1;6> }RMAN-03022: compiling command: allocateRMAN-03023: executing command: allocateRMAN-08030: allocated channel: c1RMAN-08500: channel c1: sid=122 devtype=SBT_TAPERMAN-08526: channel c1: VERITAS NetBackup for Oracle - Release 4.5GA (00000000)RMAN-03022: compiling command:
节前的恐慌(2)
昨天那鸟DB出事情。今天也是继续。巡检发现硬盘坏了一块。300G。不知道做个rebuild要多久。[@more@]
节前的恐慌
9月27日。假前第三天。IO异常[@more@]夜间被电话CALL。运维反映一服务器数据库挂了。汗来了。。此库800多G。回公司ssh无法登陆上。ping可以通。这下感觉麻烦大了。磁带机是一个星期前的全备份。也刚刚tar了一个全备。解压一下也要2天。这个备份策略很不现实。还好此库为查询DB。不对生产造成直接损失。系统部兄弟去电信机房一看。IO异常。说是一大堆错误。偶也不知道啥子错误。重启动!一次。。。挂死两次。。。自检不过三次。。。ctrl +c跳过自检。还是不中四次。。。总算起了。服了他了。刚要离开机房。另一台standby db 内存报警了。妈
vertias异机恢复过程
情况(一):拥有控制文件的恢复[@more@]说明:10.10.0.58 backupdatabase ,假设此为使用中重要DB ,通过veritas 全库备份至磁带机。10.10.0.53 ctdb04 ,假设此为新服务器,无数据库。10.10.0.59 cdim ,veritas server软件服务器,(windows 2000)。说明:1,58数据库有完整全备份在磁带机中(包括controlfile),其参数文件和controlfile也有第三方手段进行备份。2,58服务器宕机,无法修复,需要用将数据恢复至53服务器中。操作流程如下:1) 利用oracle tar包在10.10.0.53部署数据库。(略过,见文档XXX);目录与58保
ORA-02062号错误
8点钟就跑到公司来,辛苦的拉。为的是割接测试。[@more@]一切顺利。当主database切换到standby后。发现数据库不停的报Errors in file /u01/app/oracle/admin/southdb/bdump/reco_25938.trc:ORA-02062: distributed recovery received DBID b5482b5f, expected 3122e55fTue Sep 25 08:55:50 2007Errors in file /u01/app/oracle/admin/southdb/bdump/reco_25938.trc:ORA-02062: distributed recovery received DBID b5482b5f, expected 3122e55fTue Sep 25 08:55:50 2007Errors in file /u01/app/oracle/admin/southdb/bdump/reco_25938.tr
Dataguard的配置
在本机上使用这样的方式建立备用数据库[@more@]一,物理备用数据库是主数据库完全副本,直接应用REDO保持与主数据库的同步物理备用数据库的建立1, 使用用户管理的方式建立备用数据库A:在本机上使用这样的方式建立备用数据库1,先直接利用Tar包部署ORACLE服务端。---详见tar包配置10G服务端文档[oracle@Ora10g-P u01]$ sqlplus "/ as sysdba"SQL*Plus: Release 10.2.0.3.0 - Production on Wed Sep 12 20:43:55 2007Copyright (c) 1982, 2006, Oracle. All Rights Reserved.Connected to an idle instance.SQL> startup mou
查看主数据库的对象中是否使用了不支持的数据类型
在dba_logstdby_unsupported[@more@][oracle@tsdb01-shcd ~]$ sqlplus "/as sysdba"SQL*Plus: Release 10.2.0.3.0 - Production on Tue Sep 18 17:03:30 2007Copyright (c) 1982, 2006, Oracle. All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> select distinct owner,table_name from dba_logstdby_unsupported 2 order by owner
profile进行密码设置
用PROFILE进行限制的方法[@more@][oracle@tsdb01-shcd admin]$ cd $ORACLE_HOME/rdbms/admin/[oracle@tsdb01-shcd admin]$ ls utlpwd*utlpwdmg.sql[oracle@tsdb01-shcd admin]$ cat utlpwdmg.sql RemRem $Header: utlpwdmg.sql 31-aug-2000.11:00:47 nireland Exp $RemRem utlpwdmg.sqlRemRem Copyright (c) Oracle Corporation 1996, 2000. All Rights Reserved.RemRem NAMERem utlpwdmg.sql - script for Default Password Resource LimitsRemRem DESCRIPTIONRem This is a script for enabling the password manageme
public拥有AUTOTRACE
安装数据库后。这样搞下还是很不错的[@more@]SQL> conn / as sysdba Connected.SQL> @$ORACLE_HOME/rdbms/admin/utlxplan Table created.SQL> create public synonym plan_table for plan_table; create public synonym plan_table for plan_ta
kill session
根据EYGLE的文章自己测试了下。[@more@]SQL> select sid,username,status 2 from v$session 3 where username is not null; SID USERNAME STATUS---------- ------------------------------ --------28 SYS ACTIVE29 READONLY INACTIVESQL> select 'kill -9 '||spid from v$process 2 where addr=(select paddr from v$session where sid=&did); Enter value for did: 29 old 2: where addr=(select paddr from v$session where sid=&did)new 2: where addr=(select paddr from v$session where sid=29)'KILL-9'||SPID-----
更改DATAFILE位置
例子[@more@]SQL> select name from v$datafile; NAME--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------/u01/app/oracle/oradata/southdb/system01.dbf/u01/app/oracle/oradata/southdb/tools01.dbf/u01/app/oracle/oradata/southdb/rbs01.dbf/u01/app/oracle/oradata/so
SQL分组
一个SQL[@more@]SELECT rn,COUNT(*) FROM(SELECT t.Phone, t.Create_Date, b.Rn, b.y_DateFROM Yzqj4_Molog t, (SELECT Ceil(Rownum / 30) Rn, To_Date('2007-08-06 00:00', 'yyyy-MM-dd HH24:mi') + (Rownum - 1) / 24 / 60 y_Date FROM Yzqj4_Molog t WHERE Rownum <= 1 * 24 * 60) bWHERE To_Char(t.Create_Date, 'yyyy-mm-dd hh24:mi') = To_Char(b.y_Date, 'yyyy-mm-dd hh24:mi')AND Cid = '2301'AND Create_Date > To_Date('2007-08-06 00:00:00', 'yyyy-MM-dd HH24:mi:ss')AND Create_Date