和高手相比
好高手相比 我还差多少![@more@]he
这种死锁怎么理解
DEADLOCK DETECTED ( ORA-00060 )The following deadlock is not an ORACLE error. It is adeadlock due to user error in the design of an applicationor from issuing incorrect ad-hoc SQL. The followinginformation may aid in determining the deadlock:Deadlock graph: ---------Blocker(s)-------- ---------Waiter(s)---------Resource Name process session holds waits process session holds waitsTX-00040028-00e34df1 61 130 X 116 82 XTX-000
窗口函数(转)
昨天开发部门的同事让写一统计语句,想了好长时间,虽然可以得到相关的统计结果,但是如果用窗口函数,将会变得更简单!1.窗口函数简介2.窗口函数示例-全统计3.窗口函数进阶-滚动统计(累积/均值)4.窗口函数进阶-根据时间范围统计5.窗口函数进阶-first_value/last_value6.窗口函数进阶-比较相邻记录一、窗口函数简介:到目前为止,我们所学习的分析函数在计算/统计一段时间内的数据时特别有用,但是假如计算/统计需要随着遍历记录集的每一条记录而进行呢?举些例子来说:①列出每月的订单总额以及全年的订单总额②列出每月的订单总额以及截
CBO_ORACLE
ORACLE_CBO========================Oracle的聚簇因子对于查询IO的影响Oracle中,对于同一个查询语句,有时候会很快的完成,有时候却很慢,但是表结构什么的完全一致,表中的数据也完全一致,这个具体是什么原因呢,就要从Index中的细节说起了。 在Oracle中的一个特殊的视图user_indexes中有一个特殊的列,名字是clustering_factor,这个值的内容就是如果访问表的整个表数据,会造成多少次数据库IO。我们可以通过下面的SQL语句来查看。SELECT A.INDEX_NAME, B.NUM_ROWS, B.BLOCKS, A.CLUSTERING_FACTORFROM
数据库启动问题
今天早上本来想马上看数据库视图练习无奈数据库老是启动不起来没有任何错误信息*.logSun May 03 09:07:28 2009Setting recovery target incarnation to 2Sun May 03 09:07:28 2009Successful mount of redo thread 1, with mount id 1213632972Sun May 03 09:07:28 2009Database mounted in Exclusive ModeCompleted: alter database mountSun May 03 09:07:43 2009alter database mountSun May 03 09:07:43 2009ORA-1100 signalled during: alter database mount...Sun May 03 09:07:51 2009alter database openSun May 03 09:07:51 2009
数据库系统文件启动数据库
系统文件启动数据库--如果仅仅有数据文件怎样启动和恢复数据库--参数文件个别信息#*.undo_management='AUTO'#*.undo_tablespace='UNDOTBS1'#_corrupted_rollback_segments=(_SYSSMU1$,_SYSSMU2$)_allow_resetlogs_corruption=true(这个参数有可能不用设置)--步骤1,在相同的机器上创建相同的数据库2,关闭新创建的数据库3,更换数据文件4,以下其他操作SQL> startup nomount pfile='d:initorcl.ora';ORACLE instance started.Total System Global Area 205520896 bytesFixed Size
表空间时间点克隆
--创建控制文件 !C:Documents and SettingsAdministrator>rman target sys/sys@ora252 catalog rman/rman@ora252 auxiliary /恢复管理器: Release 11.1.0.6.0 - Production on 星期三 4月 29 09:54:41 2009Copyright (c) 1982, 2007, Oracle. All rights reserved.连接到目标数据库: ORCL (DBID=1213082043)连接到恢复目录数据库已连接到辅助数据库 (未启动)启动 restore 于 29-4月 -09分配的通道: ORA_AUX_DISK_1通道 ORA_AUX_DISK_1: SID=150 设备类型=DISK通道 ORA_AUX_DISK_1: 正在开始还原数据文件备份集通道 ORA_AUX_DISK_1: 正
数据库克隆
------------------------------数据库克隆-------------------------基于恢复目录!--全部克隆--使用clone控制文件C:Documents and SettingsAdministrator>rman target sys/sys@ora252 catalog rman/rman@ora252 auxiliary /恢复管理器: Release 11.1.0.6.0 - Production on 星期三 4月 29 09:30:38 2009Copyright (c) 1982, 2007, Oracle. All rights reserved.连接到目标数据库: ORCL (DBID=1213082043)连接到恢复目录数据库已连接到辅助数据库: ORCL (未装载)RMAN> restore clone controlfile;启动 restore 于 29-4月 -09正在启
用rman更改管理裸设备文件
--用rman更改管理裸设备文件----裸设备=>文件系统$ export ORACLE_SID=test $ rman target /Recovery Manager: Release 11.1.0.7.0 - Production on Wed Apr 29 10:35:43 2009Copyright (c) 1982, 2007, Oracle. All rights reserved.connected to target database: TEST (DBID=1981273836)RMAN> backup tablespace "TEST";Starting backup at 29-APR-09using channel ORA_DISK_1channel ORA_DISK_1: starting
远程数据库恢复
--远程数据库恢复--测试常用代码!select * from v$datafile;select name from v$datafile;create tablespace test3 datafile 'D:APPADMINISTRATORORADATAORCLtest3' size 30m;create user test3 identified by test3 default tablespace test3grant dba to test3create table test as select * from v$datafile where 1=2insert into test select * from v$datafileselect * from test as timestamp '2009-4-27 19:17:00'select sysdate from dual --'2009-4-27 19:17:00'recover t
数据库恢复原理探讨
数据库恢复原理的简单学习数据库恢复太有意思,理解了原理,很多东西都变得容易多了,火候快到了搞清楚数据库怎样用日志来做数据库恢复(这样才不会滥用命令,导致数据库根本没有办法恢复)--数据库冷自动备份脚本select 'host copy ' || name || ' ' || name || '.bak;' backcmdfrom (select name namefrom v$datafileunionselect member namefrom v$logfileunionselect name name from v$controlfile);--数据库冷备份恢复脚本select 'host copy ' || name || '.bak ' || name || ';' revrcmdfrom (select name namefrom v$datafileunion
oracle 进制转化!
16进制如何转化为10进制?10进制转化为16进制的函数ReftohexSelect to_number('fffffffd','xxxxxxxx') from dual; 16进制转换为10进制 可以通过to_number函数实现 select to_number(’19f’,’xxx’) from dual; 15 select to_number(’f’,’xx’) from dual; 15 二 10进制转换为16进制 可以通过to_char函数转换 select to_char(123,’xxx’) from dual; 7b select to_char(4567,’xxxx’) from dual; 11d7 三 2进制转换为10进制 从Oracle9i开始,提供函数bin_to_num进行2进制到10进制的转换 select bin_to_num(1,1,0,1) a,bin_to_num
Oracle 11G 内存内部管理全攻略
Oracle 11G 内存内部管理全攻略1. 查询数据库缓存区内存结构select * from x$bh;--查找热快!select e.owner, e.segment_name, e.segment_type from dba_extents e, (select addr, ts#, file#, dbarfil, dbablk, tch from x$bh where rownum < 22 order by tch desc) bwhere e.relative_fno = b.dbarfil and e.block_id <= b.dbablk and e.block_id + e.blocks > b.dbablk--查找热块对象select a.* from v$sqltext a, (select e.owner, e.segment_name, e.segment_type from dba_extent
数据泵用法笔记
数据泵用法笔记:*** 2009-4-2有个别库可能缺少对象,数据泵操作会失败!:数据泵主要做数据的应用操作比较方便,也就是做数据导入导出!测试环境hp oracle 11gData Pump 导出:导出前提:1. 首先必须创建文件夹!#mkdir –p /backup/test1#chmod –R 777 /backup/test12. 设置数据泵数据库环境变量:$export ORACLE_SID=test$sqlplus /nologsql>conn / as sysdbasql>create directory dptest1 as '/backup/test1';3. 赋予用户读写权限:sql>grant read, write on directory dptest1 to impcms导出操作:1. 导出一用户下的表$e
Oracle 11g笔记
Oracle 11g笔记*开头的是我们可以考虑用到的,#是没有用到新功能,没有符号是我暂时不明白部分----------------------2009-3-11 *** *分区 间隔分区:特点:自动添加分区(自动分区删除暂时没有做出来)create table sales6(sales_id number, sales_dt date)partition by range (sales_dt)interval (numtoyminterval(1,'MONTH'))(partition p0701 values less than (to_date('2009-02-01','yyyy-mm-dd')));--插入数据insert into sales6 values (1,to_date('2009-04-01','yyyy-mm-dd'));insert into sales6 values (1,to_date('2009-05-01
hp-ux oracle
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6336111 没有METLINK帐号 真的不是很方便[@more@]
山东潍坊数据库修改意见
数据库修改意见山东潍坊数据库修改意见.rar[@more@]
中级oracle dba应该具备的能力
中级oracle dba应该具备的能力1,海量数据的操作,数据在1T的左右的数据库的数据应该可以安全的操作,备份,恢复,DML等!2,基于等待事件的性能调试,任何的数据库问题,不管是数据库本身的还是操作系统或者是网络方面的,问题统统都会表现在事件的等待上,所以从等待事件入手,是进行性能调试的重要的切入点!3,数据的移植,对于一定量的数据移植,要快,准,不影响生产业务!4,项目实施,这个相对简单(根据官方文档与具体的需要经过测试就很容易做到)5,常见问题的处理,这个需要学习与经验的积累![@more@]
oracle 10g物理data guard 操作
oracle10R2 DATA GUARD 角色切换的简单操作主库操作:1.检查是否支持SWITCHOVER操作:SQL> select SWITCHOVER_STATUS from v$database;SWITCHOVER_STATUS--------------------SESSIONS ACTIVE --状态是ACTIVE或to standby 都是可以的。2.将主库转换为从库的角色:SQL> alter database commit to switchover to physical standby(WITH SESSION SHUTDOWN);Database altered.3.关闭主库然后启动到MOUNT状态,这时候原来的主库变成了从库。SQL> shutdown immediate;ORA-01507: database not mountedORACLE i
逻辑数据库的管理
逻辑数据库的管理一:逻辑数据库的角色切换1,把数据库切换到逻辑备数据库的角色SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL STANDBY; 2, 停止远程的归档操作SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER SCOPE=BOTH; 3, 把其中的一个备库切换到主库的角色.SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; 4 ,打开远程归档操作SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH; 5 ,在新的备库上创建到主数据库的连接创建连接SQL> EXECUTE DBMS_LOGSTDBY.GUARD_BYPASS_ON