Oracle
温城少年
2年的DBA经验
展开
-
创建db_link
准备工作:数据库:192.168.60.131 dup192.168.60.132 dup1192.168.60.131:$ cat tnsnames.oradup1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.60.132)(PORT = 1521)))(CONNECT_DA...原创 2019-01-22 16:44:18 · 568 阅读 · 0 评论 -
oracle配置闪回数据归档
1、创建闪回数据归档SQL> create tablespace tbs1 datafile ‘/u01/app/oracle/oradata/prod/tbs01.dbf’ size 100M;SQL> create flashback archive fla1 tablespace tbs1 quota 10M retention 5 year;为系统指定默认的闪回数据归档...原创 2019-01-16 22:30:40 · 211 阅读 · 0 评论 -
深入理解Oracle调试事件:10046事件详解
今天,Think想和大家一起共同深入去理解一下Oracle的这些调试事件 10046事件是SQL_TRACE的扩展,被戏称为"吃了兴奋剂的SQL_TRACE" 有效的追踪级别: ① 0级:SQL_TRACE=FASLE ② 1级:SQL_TRACE=TRUE,这是缺省级别 ③ 4级:1级+绑定变量 ④ 8级:4级+等待事件 ⑤ 12级:4级+8级...转载 2019-01-16 22:24:51 · 628 阅读 · 0 评论 -
查看数据库的隐含参数
select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1,‘MODIFIED’,4,‘SYSTEM_MOD’,‘FALSE’) ismod, decode(bitand(y.ksppstvf,2),2,‘TRUE’,‘FALSE’) isadjfrom sys...原创 2019-01-16 22:23:21 · 228 阅读 · 0 评论 -
没有使用绑定变量导致大量硬解析
提到shared pool,不得不提绑定变量,在LOTP线业务系统中是很关键的一个性能基准。可以举一个例子来简单说明一下。1、创建一个表test_var,然后传入两个变量值,类型不同,查看执行的情况。SH@prod>create table test_var as select object_id id,object_name name from user_objects where ...原创 2019-01-16 22:22:38 · 659 阅读 · 0 评论 -
查看数据库正在运行的事物
V$TRANSACTION lists the active transactions in the system. When the transaction is complete, (either COMMIT or ROLLBACK), the entry should go away.VSESSIONtaddr,paddr分别对应vSESSION taddr ,paddr 分别对应 vS...原创 2019-01-16 22:15:27 · 862 阅读 · 0 评论 -
测试oracle数据库的io
SQL> set serveroutput onSQL> declarelat integer;iops integer;mbps integer;begin–dbms_resource_manager.calibrate_io(<num_disks>,<max_latency>,iops,mbps,lat);dbms_resource_manag...原创 2019-01-16 22:14:43 · 327 阅读 · 0 评论 -
时间间隔函数
SQL> select to_char(to_date(‘2007/1/28 22:11:01’,‘yyyy/mm/dd hh24:mi:ss’),‘yyyy/mm/dd hh24:mi:ss’) from dual;TO_CHAR(TO_DATE('202007/01/28 22:11:01加一个月:SQL> select to_char(to_date(‘2007/1/28...原创 2019-01-16 22:12:17 · 476 阅读 · 0 评论 -
数据库全库的备份和恢复
源库:10.190.104.111PROD1目的库:10.190.104.28PROD1run {allocate channel c1 device type disk;backup incremental level 0format ‘/u01/backup/db_full_%U.bkp’tag ‘2016-09-23-FULL’database plus archive...原创 2019-01-16 22:06:40 · 635 阅读 · 0 评论 -
SQL语句排序中null值的处理
1、不加“关照”的order by升序排序效果–NULL值在后。sec@ora10g> select * from t order by x; X 1 2 3 47 rows selected.2.不加“关照”的order by降序排序效果–NULL值在前。sec@ora10g> select * from t order...转载 2019-01-22 10:42:45 · 2390 阅读 · 1 评论 -
锁的模式
1、create table test(id int,name varchar2(20));insert into test values(1,‘aaa’);insert into test values(2,‘bbb’);commit;session1:SQL> select distinct sid from v$mystat; SID30session2:S...原创 2019-01-28 10:49:21 · 223 阅读 · 0 评论 -
B-Tree和位图索引的优缺点和应用场景
引言:大家都知道“效率”是数据库中非常重要的一个指标,如何提高效率大家可能都会想起索引,但索引又这么多种,什么场合应该使用什么索引呢?哪种索引可以提高我们的效率,哪种索引可以让我们的效率大大降低(有时还不如全表扫描性能好)下面要讲的“索引”如何成为我们的利器而不是灾难!多说一点,由于不同索引的存储结构不同,所以应用在不同组织结构的数据上,本篇文章重点就是:理解不同的技术都适合在什么地方应用!B-...原创 2019-01-28 11:05:22 · 3160 阅读 · 0 评论 -
20181130 job
job可以调用存储过程完成自己想达到的目的实验:通过job实现每一分钟插入一个数据1、创建用户create user dbmonitor identified by oracle;grant dba to dbmonitor;2、创建测试表conn dbmonitor/oraclecreate table test_job(para_date date);insert into t...原创 2019-02-11 14:00:30 · 209 阅读 · 0 评论 -
201811161035 设置sqlplus和rman命令可以上下翻和自定义sqlplus命令格式
设置sqlplus和rman命令可以上下翻在linux上安装包rlwrap-0.42-1.el6.x86_64.rpm修改oracle的环境变量$ cat .bash_profilealias sqlplus=‘rlwrap sqlplus’alias rman=‘rlwrap rman’这样利用$ sqlplus / as sysdba命令和$ rman target /设置sql...原创 2019-02-11 14:00:04 · 190 阅读 · 0 评论 -
201811081630 Oracle闪回技术详解
概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成)。需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成(这才是Oracle强大备份恢复机制的精髓所在啊)撤销段(UNDO...原创 2019-02-11 13:58:41 · 233 阅读 · 0 评论 -
201811042125 sql tuning advisor
[terry笔记]Oracle SQL 优化之sql tuning advisor (STA)前言:经常可以碰到优化sql的需求,开发人员直接扔过来一个SQL让DBA优化,然后怎么办?当然,经验丰富的DBA可以从各种方向下手,有时通过建立正确索引即可获得很好的优化效果,但是那些复杂SQL错综复杂的表关联,却让DBA们满头大汗。如下特别介绍一种oracle官方提供的科学优化方法STA,经过实践...原创 2019-02-11 10:42:46 · 243 阅读 · 0 评论 -
201811021755 传输表空间
可传输表空间概述Oracle 的可传输表空间特性通过将 元数据和数据文件 简单地从一个数据库移动到另一个数据库,提供在数据库之间有效移动大数据的一种简易方法。代替重新创建对象,可移植表空间可以让毫不费力地移动大对象,而所花费的时间是你手动创建这些对象的时间。可移植表空间包括将属于源数据库的所有数据文件拷贝到目标数据库,并将关于表空间数据目录信息从源数据库拷贝到目标数据库。因此,数据泵取导出和导入...原创 2019-02-11 10:42:09 · 193 阅读 · 0 评论 -
201811021540 RMAN备份与恢复之加密备份
ORACLE从10g R2开始为备份提供加密功能,通过加密获得的备份,可以保护备份文件,防止备份泄露带来的安全问题。显示当前数据库的加密算法:SQL> select * from v$rman_encryption_algorithms;ALGORITHM_ID ALGORITHM_NAME ALGORITHM_DESCRIPTION IS_ RES ...原创 2019-02-11 10:23:07 · 175 阅读 · 0 评论 -
201810301635 Oracle DB 执行表空间时间点恢复
https://blog.csdn.net/rlhua/article/details/12659769何时使用TSPITR• TSPITR 可在下列情况下使用:– 恢复因错误的TRUNCATE TABLE语句而丢失的数据– 从表逻辑损坏中恢复– 撤消只影响部分数据库的批作业或DML 语句的结果– 将逻辑方案恢复到与物理数据库其余部分不同的时间点• TSPITR 使用可移动表空间和数...原创 2019-02-11 10:22:21 · 170 阅读 · 0 评论 -
ORACLE在线切换undo表空间
原文地址:http://www.xifenfei.com/3367.html切换undo的一些步骤和基本原则查看原undo相关参数SHOW PARAMETER UNDO;创建新undo空间create undo tablespace undo_x datafile ‘E:\ORACLE\ORADATA\XIFENFEI\undo_xifenfei.dbf’ size 10Mautoext...原创 2019-02-11 10:20:37 · 231 阅读 · 0 评论 -
测试oracle数据库的io
启动异步io:SQL> show parameter disk_asynch_ioNAME TYPE VALUEdisk_asynch_io boolean TRUESQL> show parameter filesystemio_optionsNAME TYPE VALUEfilesystemio_options string none当前使用的是文件系统,因此需要...原创 2019-01-28 16:15:41 · 289 阅读 · 0 评论 -
查看数据库某个活动的进度
col opname format a32col target_desc format a32col perwork format a12set lines 131select sid,OPNAME,TARGET_DESC,sofar,TOTALWORK,trunc(sofar/totalwork*100,2)||’%’ as perworkfrom v$session_longops ...原创 2019-01-28 15:58:56 · 251 阅读 · 0 评论 -
AWR报告解读
1 CPU不足详见OS性能分析CPU部分2 存在运行时间较长的SQL语句存在SQL语句运行时间较长,占用了较多的CPU其中Exection 为0 说明在本报告结束快照执行时,尚未执行完毕.Elapsed Time 为SQL语句执行总时间,如果一个SQL语句被多个会话同时执行,则此时间可能高于快照差异时间,怀疑有多个会话进行调用9,128.43/4565=2 有两个会话在执行本SQL4...原创 2019-01-22 10:41:39 · 445 阅读 · 0 评论 -
分区表管理
1、创建用户create tablespace TBS_PART datafile ‘/u01/app/oracle/oradata/PROD1/tbs_part_1.dbf’ size 10m;create tablespace TBS_INX datafile ‘/u01/app/oracle/oradata/PROD1/tbs_inx_1.dbf’ size 10m;create us...原创 2019-01-16 09:28:10 · 184 阅读 · 0 评论 -
ORACLE的闪回事务撤销技术
事务的依赖性 比如,两个事务TX1和TX2,若符合以下3个条件的任意一个就可以认为TX2依赖TX1:(1)WAW依赖(Write After Write),即在TX1修改了表的某行之后,TX2又修改了同一行。(2)主键依赖,即在一张拥有主键的表中TX1首先删除了一行,之后TX2又插入了具有相同主键值的另一行。(3)外建依赖,即由于TX1的修改(insert或update)而产生了新的可被外键...原创 2019-02-11 10:15:16 · 322 阅读 · 0 评论 -
查看SQL的执行情况
#根据登陆时间对会话排序select * from gv$session where sql_id=‘c1w3aq3c1pc8v’ order by logon_time;#查看SQL的执行信息select FIRST_LOAD_TIME,PARSING_SCHEMA_NAME,MODULE,CPU_TIME/1000000,ELAPSED_TIME/1000000,disk_reads,b...原创 2019-01-14 20:34:28 · 3114 阅读 · 0 评论 -
设置sqlplus和rman命令可以上下翻和自定义sqlplus命令格式
设置sqlplus和rman命令可以上下翻在linux上安装包rlwrap-0.42-1.el6.x86_64.rpm修改oracle的环境变量$ cat .bash_profilealias sqlplus=‘rlwrap sqlplus’alias rman=‘rlwrap rman’这样利用$ sqlplus / as sysdba命令和$ rman target /设置sql...原创 2019-01-18 11:21:11 · 295 阅读 · 0 评论 -
数据库job执行失败
job可以调用存储过程完成自己想达到的目的实验:通过job实现每一分钟插入一个数据1、创建用户create user dbmonitor identified by oracle;grant dba to dbmonitor;2、创建测试表conn dbmonitor/oraclecreate table test_job(para_date date);insert into t...原创 2019-01-18 11:20:32 · 1464 阅读 · 0 评论 -
Oracle物化视图的一般使用
有个项目因为有比较多的查询汇总,考虑到速度,所以使用了物化视图。简单的把用到的给整理了下。先看简单创建语句:create materialized view mv_materialized_test refresh force on demand start with sysdate nextto_date(concat(to_char( sysdate+1,‘dd-mm-yyyy’),‘1...原创 2019-01-18 11:19:39 · 90 阅读 · 0 评论 -
使用RMAN跨平台传输表空间
实验题:传输表空间就是把另一个平台的表空间的dmp文件和数据文件传输到另一个数据库步骤:1、表空间read only查看表空间是否自包含SYS@prod> exec dbms_tts.transport_set_check(‘TEST_1’,TRUE);PL/SQL procedure successfully completed.SYS@prod> select * f...原创 2019-01-18 11:19:01 · 305 阅读 · 0 评论 -
查看数据库的繁忙程度
查看数据库的归档量select trunc(completion_time) as ARC_DATE,count(*) as COUNT,round((sum(blocks * block_size) / 1024 / 1024/1024), 2) as ARC_Gfrom v$archived_loggroup by trunc(completion_time)order by tr...原创 2019-01-18 11:18:33 · 1916 阅读 · 0 评论 -
sql loader的使用
1,概述:Sql Loader: 一个批量工具,将文件数据导入到数据库。可以导入一个表或者多个表,甚至可以在导入时修改数据。2,使用a,你电脑需要装Oracle,不然你是找不到Sqlldr 这个命令的。在控制输入台输入 sqlldr:会列出相关的参数介绍。sqlldr.Usage: SQLLDR keyword=value [,keyword=value,…]Valid Ke...原创 2019-01-18 11:17:06 · 519 阅读 · 0 评论 -
DBMS_METADATA中使用SESSION_TRANSFORM过滤不想获取的DDL
我们一般使用dbms_metadata.get_ddl获取对象的ddl的时候,有时会获取一些其他额外的信息,例如当你想获取表的创建语句的时候,你会得到表的约束信息,这个信息可能是你不想要的,那么就可以用SESSION_TRANSFORM对它进行过滤。看下面的示例,创建一个有主键和外键的表,获取他的ddl语句:SQL> CREATE TABLE tb1 (id int primary ke...原创 2019-01-18 11:16:36 · 278 阅读 · 0 评论 -
分区表的导入导出
创建分区表create table hr.pdba (owner,object_name, created) partition by range (created)(partition p1 values less than (to_date(‘2018-11-25’, ‘yyyy-mm-dd’)),partition p2 values less than (to_date(‘2018-...原创 2019-01-18 11:16:01 · 520 阅读 · 0 评论 -
清理数据库会话
一个窗口开启一个会话:SQL> select distinct sid from v$mystat; SID 1另一个窗口SYS@prod>select sid,serial#,process from v$session where sid=1; SID SERIAL# PROCESS 1 1117 53635SYS@prod>sel...原创 2019-01-18 11:15:14 · 386 阅读 · 0 评论 -
RAC某节点启动遭遇ORA-01105,ORA-01606
环境:RHEL6.5 + Oracle11.2.0.4 双节点RAC故障现象:节点1实例没有启动成功,节点2正常启动。 1.故障现象主机网卡故障,导致rac节点1异常停止,启动rac节点1时候报错。 尝试启动RAC 节点1,遭遇ORA-01105,ORA-01606:SQL> startup mount; ORACLE instance started. Tota...原创 2019-01-14 21:12:21 · 1007 阅读 · 0 评论 -
RAC集群状态异常
某日巡检发现,4节点RAC的3个节点集群状态异常查看节点的集群状态grid@p720hi4:/home/grid$ crs_stat -tCRS-0184: Cannot communicate with the CRS daemon.集群资源正常,数据库正常解决:grid@p720hi4:crsctl stop has -f等个5分钟grid@p720hi4:/u01/app/1...原创 2019-01-14 21:16:51 · 674 阅读 · 0 评论 -
ORACLE在线切换undo表空间
ORACLE在线切换undo表空间原文地址:http://www.xifenfei.com/3367.html切换undo的一些步骤和基本原则查看原undo相关参数SHOW PARAMETER UNDO;创建新undo空间create undo tablespace undo_x datafile ‘E:\ORACLE\ORADATA\XIFENFEI\undo_xifenfei.dbf...转载 2019-01-21 15:14:32 · 197 阅读 · 0 评论 -
创建资源管理计划
第一步 创建Pending Area所有关于 Resource Manager 组件创建和更改都必须在 Pending Area 中完成,可以理解为一个“草稿区".SQL> exec DBMS_RESOURCE_MANAGER.CREATE_PENDING_AREA第二步 创建Resource Planing创建资源计划时需要注意的一点是如果 sub_plan 参数指定为 TRUE,...转载 2019-01-21 15:10:53 · 554 阅读 · 0 评论 -
创建catalog
身份:恢复目录数据库:存放目标数据库的备份信息;目标数据库:把备份信息存放到恢复目录数据库;创建恢复目录:三个步骤要创建恢复目录,请执行以下三个步骤:配置要在其中存储恢复目录的数据库。http://blog.csdn.net/rlhua/article/details/13298785创建恢复目录所有者。http://blog.csdn.net/rlhua/article/det...原创 2019-01-21 15:10:23 · 403 阅读 · 0 评论