- 博客(57)
- 收藏
- 关注
原创 查看归档日志大小的脚本
每套生产数据库都有其自己业务的节奏,系统产生的归档量大小一定程度反映了系统的繁忙程度。由于存在以下因素,要求我们必须准确的评估系统的归档日志大小:1)预估存放归档日志的空间大小时。归档空间的大小必须能够存放一定时间间隔的归档量。2)预估备份恢复需要的时间时。归档日志量的大小决定着恢复的时间。3)搭建Golden Gate,Dataguard,Stream时。归档量的大小决定着传输归档日
2015-03-14 18:49:22
1758
原创 oracle rac 10.2.0.1 cluster 升级到 10.2.0.4(windows版本)报错解决
oracle 10.2.0.1 升级到 10.2.0.4.0时候,如果按照OUI提示,停止所有CRS服务后,执行patch102.bat仍然出现以下错误:E:\oracle\product\10.2.0\crs\install>patch102.batSuccessful validation check of Oracle CRS services statusFailed to p
2015-03-06 21:41:33
539
转载 oracle 10g RAC添加节点遭遇ORA-02174错误解决
在RAC 第一节点执行新增节点的安装操作:1) ORACLE Bug NO. 6856650 & 4929856,确定需要执行手动创建2) 通过SQLPLUS 连接至第一节点实例,执行:SQL> alter database add logfile thread 3group 5 ('+DATA/wjsf/onlinelog/group_5.log') size 500M reus
2015-03-06 21:32:21
530
转载 PRKP-1001,CRS-0215 rac 集群无法启动数据库和实例
1.问题,用sqlplus可以启动,是因为用的参数名字叫 spfileorcl ,用srvcgtl不可以启动,是因为ocr里面的叫spfilesrvctl modify database -d orcl -s /u01/app/oracle/oradata/orcl/spfileorcl22.可以通过先把数据库和实例从集群注册中删出,然后再添加,命令如下;oracle@oradat
2015-03-06 21:25:23
1063
原创 SQL*PLUS管理命令
1.CLEAR 命令clear命令删除某些当前值,其中包括列和sql*plus缓冲区的设置值。可以使用clear命令确保不需要的设置在sql*plus的当前会话失效。SQL> clear breaksbreaks clearedSQL> clear bufferbuffer clearedclear命令只清楚屏幕而不影响sql*plus的任何设置。clear buffe
2014-12-01 10:27:42
997
原创 表的联结方法
1.联结方法如果再你查询中有多张表,在优化器确定了每个表最恰当的访问方法之后,下一步就是确定将这些表联结起来的最佳方法以及最恰当的顺序。任何时候当在FROM子句中有多个表时,就需要进行联结。表之间的关系通过where子句中的一个条件来定义。如果没有指定任何条件,联结就会隐含地定义为一个表中每一行将与另一个表的所有行匹配,笛卡联结。联结发生在一对表或者数据行源之间。当FORM子句存在多张表时
2014-11-27 17:23:13
651
原创 表的访问方法
1.全扫描访问方法当对一个对象进行全扫描时,与该对象相关的所有数据块都必须取出并进行处理,以确定块中所有包含的数据行是否是你查询的所需要的。请记住Oracle必须将整个数据块读取到内存以取得这个块所存储的数据行的数据,因此,当发生全扫描时,实际上优化器(还有你)需要考虑两件事:必须读取多少个数据块以及每个数据块中有多少数据将被舍弃。此时此刻要理解的是,确定全扫描是否是正确选择并不仅仅基于查询将
2014-11-27 10:33:25
614
原创 索引的使用(二
1.分区索引索引也可以像表分区结构那样来进行分区。有多种方法可以对索引进行分区。在分区表上可以创建局部或者全局索引。并且,有多种分区方案可选,如范围分区,散列分区,列表分区以及混合分区方案。自oracle数据库10g版本以来,也可以在非分区表上建立分区索引。1.1 局部索引局部分区索引使用LOCAL关键字来建立,其分区边界与表相同。简单来说,与每个表分区相联结的有一个索引分区。因为维护
2014-11-25 15:53:26
648
原创 10046事件和tkprof命令
在ORACLE数据库里,我们通常可以使用如下这些方法(包括但不限于)得到目标SQL的执行计划:1,explain plan2,DBMS_XPLAN包3,SQLPLUS中的AUTOTRACE开关4,10046事件5,10053事件6,AWR报告或者STATSPACK报告前面的四种方法比较普遍。 下面我来介绍下第四种即10046事
2014-11-25 09:40:20
687
原创 PLSQL==>高级游标
1.在游标中使用参数:DECLARE CURSOR c_zip(p_state IN zipcode.state%TYPE) IS SELECT zip, city, state FROM zipcode WHERE state = p_state;BEGIN FOR r_zip IN c_zip('NJ') LOOP db
2014-11-24 15:54:20
500
原创 PLSQL==>分析函数
1.创建示例数据:drop table sales_fact;CREATE table sales_fact AS SELECT country_name country,country_subRegion region, prod_name product, calendar_year year, calendar_week_number week, SUM(amount_so
2014-11-23 18:44:45
655
原创 ORACLE RMAN异机恢复
注意事项:1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。2 目标机器只需要安装oracle数据库软件即可。
2014-11-22 22:07:35
682
原创 SQL==>高级分组
1.SELECT /*+gather_plan_statistics*/DISTINCT dname, decode(d.deptno, 10, (SELECT COUNT(*) FROM emp WHERE deptno = 10), 20,
2014-11-21 16:29:47
519
原创 PLSQL==>>游标
DECLARE CURSOR c_student_enroll IS SELECT s.student_id, s.first_name, s.last_name, COUNT(*) enroll, /*(CASE
2014-11-20 20:27:25
446
原创 RAC OCR备份与恢复
环境:RHEL5.8 RAC 11.2.0.3.01:查看ORC和voting disk信息:In 11g Release 2 your voting disk data is automatically backed up in theOCR whenever there is a configuration change.所以恢复时恢复备份OCR即可,这里和10g是不同的,不需
2014-11-18 16:24:38
611
原创 DATAGUARD主备数据库切换
DECLARE v_table_name VARCHAR2(20) := '&sv_table_name'; v_id NUMBER := &sv_id; name_addr_rec dynamic_sql_pkg.name_addr_rec_type;BEGIN dynamic_sql_pkg.get_name_address(v_
2014-11-15 15:31:36
923
原创 在游标中使用FOR UPDATE 和 WHERE CURRENT
1.DECLARE CURSOR c_course IS SELECT course_no, cost FROM course FOR UPDATE;BEGIN FOR r_course IN c_course LOOP IF r_course.cost THEN UPDATE co
2014-11-14 20:42:31
2909
转载 PLSQL--集合
1.联合数组:DECLARE CURSOR name_cur IS SELECT last_name FROM student WHERE rownum TYPE last_name_type IS TABLE OF student.last_name%TYPE INDEX BY BINARY_INTEGER; last_name_tab la
2014-11-13 19:24:09
518
转载 异常处理
1.内置异常:DECLARE v_instructor_id NUMBER := &sv_instuctor_id; v_instructor_name VARCHAR2(50);BEGIN SELECT first_name || ' ' || last_name INTO v_instructor_name FROM ins
2014-11-12 11:52:05
484
原创 oracle等待事件相关查询
--------------------------查询数据库等待时间和实际执行时间的相对百分比---------------------select * from v$sysmetric a where a.METRIC_NAME in ('Database CPU Time Ratio', 'Database Wait Time Ratio') and a
2014-11-11 19:14:07
11000
原创 批量SQL
DECLARE --declare collection types TYPE string_type IS TABLE OF VARCHAR2(100) INDEX BY PLS_INTEGER; TYPE date_type IS TABLE OF DATE INDEX BY PLS_INTEGER; --declare collection varia
2014-11-11 15:16:59
432
原创 plsql procedure
1.CREATE OR REPLACE PROCEDURE add_contact(member_id NUMBER, contact_type NUMBER, last_name VARCHAR2,
2014-11-10 23:57:12
679
原创 PLSQL==》本地动态SQL
1.DECLARE sql_stmt VARCHAR2(100); plsql_block VARCHAR2(300); v_zip VARCHAR2(5) := '11106'; v_total_students NUMBER; v_new_zip VARCHAR2(5);
2014-11-10 17:37:31
540
转载 条件控制:IF语句和CASE语句
1.IF-THEN-ELSEDECLARE v_total NUMBER;BEGIN SELECT COUNT(*) INTO v_total FROM enrollment e JOIN section s USING (section_id) WHERE s.course_no = 25
2014-11-10 09:22:52
789
转载 在PLSQL中使用DML
1.使用SELECT INTO 进行变量初始化:DECLARE v_average_cost VARCHAR2(10);BEGIN SELECT to_char(AVG(cost), '$9,999.99') INTO v_average_cost FROM course; dbms_output.put_line('The average cost of a
2014-11-09 20:56:34
969
转载 RAC集群数据库不能自启动问题
某些时候在11gR2 RAC Database的环境下重启服务器之后,使用crsctl工具查看资源的状态,会发现database资源所有实例的TARGET和STATE值都为OFFLINE,数据库实例不能正常的自动启动,尝试执行以下的命令使得所有实例都能自动启动:[root@rhel1 bin]# ./crsctl stat res -t---------------------
2014-11-04 19:30:57
1272
转载 Oracle 11gR2 RAC 数据库不能连接(ORA-12537: TNS:connection closed)的解决
SQL> conn system/123123@MECBSERROR:ORA-12537: TNS:connection closedWarning: You are no longer connected to ORACLE.
2014-11-03 14:24:28
489
原创 配置Oracle 11g Active Dataguard (RAC)
一:环境介绍主库IP地址:192.168.1.61/24操作系统版本:rhel5.4 64bit数据库版本:11.2.0.3 64bit数据库sid名:dg数据库名:dg数据库db_unique_name:dg1备库1 物理备库 (只安装oracle数据库软件,无需建库)IP地址:192.168.1.62/24操作系统版本:rhel5.4 64bi
2014-10-31 10:29:29
1105
原创 需要优化的sql语句查询
查询前set serveroutput on size 1000000declare top25 number; text1 varchar2(4000); x number; len1 number; cursor c1 is select disk_reads, substr(sql_text, 1, 4000) from
2014-10-30 19:15:07
544
原创 安装RAC执行root.sh报错解决
问题:[root@node2 grid]# ./root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= grid ORACLE_HOME= /u01/app/11.2.0./grid
2014-10-30 16:09:45
10517
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人