04 2021 档案

摘要:返回 Oracle 索引页 可以通过给 SQL语句加 /*+ MONITOR */,强制收集 monitor 信息(正常情况下 5秒以上的 SQL语句会被自动收集),之后用 BMS_SQLTUNE.report_sql_monitor 得到执行时的执行计划等信息。甚至也包括执行时发生的 I/O 等信 阅读全文
posted @ 2021-04-10 21:58 健哥的数据花园 阅读(808) 评论(0) 推荐(0) 编辑
摘要:在主库和备库中,都可以通过如下的查询,获得关于是否发生了与 Data Guard 相关的结果: column message format a80 SELECT ins.thread#, timestamp, message FROM gv$dataguard_status sts, gv$inst 阅读全文
posted @ 2021-04-10 21:20 健哥的数据花园 阅读(207) 评论(0) 推荐(0) 编辑
摘要:Windows 环境,执行如下操作即可: reg query "HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE" /s > HKEY_LOCAL_MACHINE.txt 生成的文件中,包含所有与 oracle 相关的 registry 条目。 阅读全文
posted @ 2021-04-10 20:59 健哥的数据花园 阅读(66) 评论(0) 推荐(0) 编辑
摘要:返回:Oracle 索引页 假定备份源是RAC+ASM环境,执行恢复操作的对象服务器是文件系统环境。假定备份源端具有一个称为 /home/grid/mnt的挂载点作为NFS客户端,在还原/恢复目标端,作为 NFS服务器的对应目录是 /home/oracle/formnt。 我的备份脚本如下: Lev 阅读全文
posted @ 2021-04-10 20:28 健哥的数据花园 阅读(137) 评论(0) 推荐(0) 编辑
摘要:返回 Oracle 索引页 在某些情况下,section size 的使用,在 RMAN 备份中,会大幅度地提高备份速度。这是因为,如果不使用 section size ,那么无论我在备份时设置了多少个channel,在任何一个时刻,对每一个文件而言,只能有一个channel 连接到这个文件上执行读 阅读全文
posted @ 2021-04-10 11:17 健哥的数据花园 阅读(901) 评论(0) 推荐(1) 编辑
摘要:通过 lsof 命令,可以找到 Oracle 的 client 端 和 server 端的进程。 例如,我从远端连接到 oracle 数据库: -bash-4.1$ sqlplus sys/oracle@my19c as sysdba SQL*Plus: Release 12.2.0.1.0 Pro 阅读全文
posted @ 2021-04-10 11:13 健哥的数据花园 阅读(307) 评论(0) 推荐(0) 编辑
摘要:上一回: [Oracle 工程师手记]探究 Oracle PDB Application Container (四) 在使用 Application Container 时,当我们定义Application 中的一个共通对象为 extended data 的时候,Application 中的共通数据 阅读全文
posted @ 2021-04-10 09:51 健哥的数据花园 阅读(146) 评论(0) 推荐(0) 编辑
摘要:现象: 执行 lsnrctl start 来启动 listener,却失败了。 $ lsnrctl stat LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 09-APR-2021 23:45:02 Copyright (c) 1991, 阅读全文
posted @ 2021-04-10 07:53 健哥的数据花园 阅读(2101) 评论(0) 推荐(0) 编辑
摘要:作为DBA的日常工作之一,很有必要随时了解数据库的各个表空间的使用状况。可以用下面的查询: SELECT /* + RULE */ dtfs.tablespace_name "Tablespace", dtfs.bytes / (1024 * 1024) "Size (MB)", SUM(frspc 阅读全文
posted @ 2021-04-10 07:37 健哥的数据花园 阅读(421) 评论(0) 推荐(0) 编辑
摘要:返回:Oracle 索引页 在Oracle 12c 之后,可以在不影响用户的数据库访问的前提下,移动数据库的数据文件。我可以把文件系统上的数据文件,移动到 ASM 磁盘组上面,也可以在不同的 ASM 磁盘组之间,在线移动数据文件。十分的方便。比如: SQL> ALTER DATABASE MOVE 阅读全文
posted @ 2021-04-10 07:15 健哥的数据花园 阅读(113) 评论(0) 推荐(0) 编辑
摘要:如果我作为一名工程师,到客户现场去实施安装。我最优先要做的是什么?不是撸起袖子加油干,而是要和客户沟通,请客户把所有的现存应用、数据库、OS重新启动。这是为什么呢?因为,任何一个软件,在它运行过程中,往往都有很多参数调控它的行为。很多时候,这些参数仅仅在内存中被设置了,并没有在实际的物理文件中留下记 阅读全文
posted @ 2021-04-10 06:59 健哥的数据花园 阅读(67) 评论(0) 推荐(0) 编辑
摘要:返回 Oracle 索引页 当用户使用Oracle数据库,向磁带设备进行备份,如果备份失败了,那么怎么知道问题是出现在数据库端,还是磁带设备一方呢?Oracle 提供了用磁盘目录模拟磁带的功能,可以称为 fake tape。如果我们用这个 fake tape 可以备份成功,那么数据库通过 MML 接 阅读全文
posted @ 2021-04-10 06:50 健哥的数据花园 阅读(99) 评论(0) 推荐(0) 编辑
摘要:客户使用 12.2 数据库环境上的 EM Express,看到备份的完成日期是 2020/12/31,但是,客户仍然每天都在继续备份,可是从 EM Express 上看到的最后一次备份完成的日期一直是 2020/12/13 ,保持不变。 怎么知道到底是 EM Express 出了问题,还是数据库哪个 阅读全文
posted @ 2021-04-09 21:24 健哥的数据花园 阅读(102) 评论(0) 推荐(0) 编辑
摘要:刷新慢的原因分析: 客户观察到 MVIEW 的刷新很慢,从AWR 报告中的 ,可以看到 "enq: JI - contention"。 Top 10 Foreground Events by Total Wait Time ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 阅读全文
posted @ 2021-04-09 20:08 健哥的数据花园 阅读(228) 评论(0) 推荐(0) 编辑
摘要:有的时候,我们在Data Guard 环境中,因为某种意外(例如 主库的电源设备损坏)导致主库一时之间无法工作,只好把备库 failover ,改变角色,变成主库。事后,老的主库的硬件问题得到修正,它的数据也没有丢失,我们可能不想再折腾一番,用老主库的硬件重新作一套备库。而是希望,直接把它变成备库。 阅读全文
posted @ 2021-04-09 16:56 健哥的数据花园 阅读(134) 评论(0) 推荐(0) 编辑
摘要:如果数据库中,检查出了 坏块,但是这些个坏块并不属于任何的对象,其实是不必处理的。等到数据库中建立一个新的对象,或旧的对象扩张,用到了这个Free 的坏块,它应该会被重新初始化或者说格式化的。 但是,此时如果用 RMAN 进行检查 (rman valiate),还是会报出错来,有的客户会觉得不爽。那 阅读全文
posted @ 2021-04-09 13:54 健哥的数据花园 阅读(170) 评论(0) 推荐(0) 编辑
摘要:如何查询一个 隐含参数的值? 直接用 show parameter <parameter> 是不行的。可以用如下的语句:例如要查隐含参数 _parallel_cluster_cache_policy 的值: select a.ksppinm "Parameter",a.KSPPDESC "Descr 阅读全文
posted @ 2021-04-09 12:45 健哥的数据花园 阅读(138) 评论(0) 推荐(0) 编辑
摘要:Oracle 的 RMAN 进行增量备份的时候,如果用户设置了 block_change_tracking 有效,完成了全备份之后,所有的变更的块,都会被记录到 BCT 文件中,RMAN 不必全扫描所有的数据文件,它只是去读取 BCT 文件,可以大大提高备份速度。 不过,它有一个很大的限制,就是BC 阅读全文
posted @ 2021-04-09 10:48 健哥的数据花园 阅读(293) 评论(0) 推荐(0) 编辑
摘要:可以用如下方式,来收集 10046 trace: alter session set tracefile_identifier='10046'; alter session set timed_statistics = true; alter session set statistics_level 阅读全文
posted @ 2021-04-09 10:35 健哥的数据花园 阅读(122) 评论(0) 推荐(0) 编辑
摘要:我们执行 RMAN 的备份的时候,就算备份命令中不指定 compress,Oracle 也会根据实际情况,执行所谓 block 压缩,其实严格来说不是压缩,而是对一些满足条件的块,不进行读取,从而节省时间。未使用的 块 的跳过:如果一个块尚未被分配(高水位线以上)NULL 的 块 的跳过: 目前没有 阅读全文
posted @ 2021-04-09 10:27 健哥的数据花园 阅读(112) 评论(0) 推荐(0) 编辑
摘要:1. 如果主库崩溃了,可以把备库 failover 成主库。2. 可以在备库进行备份、或执行 DataWarehouse 报表操作。3. 可以临时把备库转换成 snapshot standby,进行各种测试,测试完毕后,恢复成普通的物理备库(physical standby), 然后在主库上发布应用 阅读全文
posted @ 2021-04-09 10:18 健哥的数据花园 阅读(115) 评论(0) 推荐(0) 编辑
摘要:接着上一回 [Oracle 工程师手记]探究 Oracle PDB Application Container (三) 说一说,如何解决附加的 PDB。 目前这个方法,还没有找到合理的解释: 执行 ALTER PLUGGABLE DATABASE APPLICATION ref_app SET CO 阅读全文
posted @ 2021-04-08 20:38 健哥的数据花园 阅读(156) 评论(0) 推荐(0) 编辑
摘要:如果有完整的全备份,以及arhive log 或 archive log 备份,可以执行类似如下的操作: RMAN>recover tablespace tbs001 until time "to_date('20180910_06:17:17','YYYYMMDD_HH24:MI:SS')" au 阅读全文
posted @ 2021-04-08 20:01 健哥的数据花园 阅读(178) 评论(0) 推荐(0) 编辑
摘要:如果数据库启动不了,在 alert log 中发现了 ORA-00600[4194] 错误,表明 UNDO 和 REDO 中记录的 undo 记录不一致。此时,需要尝试重新建立新的 UNDO,我们需要找到老的 UNDO,把它 变成 offline, 然后建立新的 UNDO,再重新启动。 具体作法是: 阅读全文
posted @ 2021-04-08 19:35 健哥的数据花园 阅读(435) 评论(0) 推荐(0) 编辑
摘要:RAC环境如何设置当CDB打开时,PDB 也打开呢? 我需要用到 alter pluggable database orclpdb1 save state 语句。 具体过程,如下面的例子: 在第一个节点执行: [oracle@orc01 ~]$ export ORACLE_SID=orclcdb1 阅读全文
posted @ 2021-04-08 18:49 健哥的数据花园 阅读(469) 评论(0) 推荐(0) 编辑
摘要:通过如下的测试,发现 X$KCCAL 存储的就是 archive log 的信息。 SQL> SELECT alnam FROM x$kccal WHERE alnam IS NOT NULL; no rows selected SQL> SQL> alter system switch logfi 阅读全文
posted @ 2021-04-08 15:36 健哥的数据花园 阅读(137) 评论(0) 推荐(0) 编辑
摘要:PL/SQL 不容易调试通过,所以以此小例子作备忘。 Declare TYPE V_Struct is record ( VTimestamp varchar2(10), VMessage varchar2(60), ); my_message V_Struct; mysql_stmt varcha 阅读全文
posted @ 2021-04-08 15:19 健哥的数据花园 阅读(104) 评论(0) 推荐(0) 编辑
摘要:有的时候,我需要收集 RMAN 执行时的 10046 trace ,我应该怎么作呢? RMAN 可以执行 sql 语句,例如: RMAN>sql "alter system swtich logfile"; 所以,我可以用这种方式设置 10046 trace ,让RMAN的运行获得 10046 tr 阅读全文
posted @ 2021-04-08 13:16 健哥的数据花园 阅读(106) 评论(0) 推荐(0) 编辑
摘要:在 Linux 环境中,如果想要查找一个目录下,所有包含某一个特定字符串的文件,可以使用 find 命令、xargs 命令 和 grep 命令的结合来完成查找。 比如,目录结构如下: $ tree /refresh/home/aaa /refresh/home/aaa ├── aaa01.txt ├ 阅读全文
posted @ 2021-04-08 12:31 健哥的数据花园 阅读(1378) 评论(1) 推荐(1) 编辑
摘要:有时候,为了监控了解 RMAN 的运行状况,我们需要所有的 RMAN 的 session 信息,如何找到这些 session 呢,可以利用 v$process 以及 v$session 中的一些如 client_info 、module_name、program 之类,来进行查找。 set line 阅读全文
posted @ 2021-04-08 12:02 健哥的数据花园 阅读(105) 评论(0) 推荐(0) 编辑
摘要:Active Data Guard,本质上是一种 license。就是客户可以一边执行SQL查询,一边执行 redo apply。如果客户购买了 Active Data Guard,那么他可以:在备库,在备库 open 的情况下,可以执行查询的同时,还可以执行 redo apply 操作。但是如果客 阅读全文
posted @ 2021-04-07 21:07 健哥的数据花园 阅读(479) 评论(0) 推荐(0) 编辑
摘要:例如,Oracle 数据库中,发生了 SYSAUX 表空间过大的情况,如何查找到哪些对象占据了较多的空间呢。可以使用如下的语句: COL SEGMENT_NAME FORMAT A30 COL OWNER FORMAT A10 COL TABLESPACE_NAME FORMAT A10 COL S 阅读全文
posted @ 2021-04-07 20:49 健哥的数据花园 阅读(464) 评论(0) 推荐(0) 编辑
摘要:有的时候,我们可能在执行 RMAN 备份或恢复时出现错误,如果需要进行详细的分析,可以考虑取得 debug log。方法如下: RMAN> spool log to <debug文件名> RMAN> debug on RMAN> <rman 命令> RMAN> debug off RMAN> spo 阅读全文
posted @ 2021-04-07 20:26 健哥的数据花园 阅读(151) 评论(0) 推荐(0) 编辑
摘要:查看 alert log, 确实看到了 ORA-12850 错误的信息。 NI cryptographic checksum mismatch error: 12599. VERSION INFORMATION: TNS for Linux: Version 12.1.0.2.0 - Product 阅读全文
posted @ 2021-04-07 20:16 健哥的数据花园 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:返回:Oracle 索引页 有时候,我们有这样一种需要。我们期待多次调用 SQLPLUS ,来执行sql 语句,来模拟对数据库的压力测试。比如执行 100 次 SQL plus,可以用 shell 来循环执行: $ vi test1.sh #!/bin/bash i=1 while [ $i -lt 阅读全文
posted @ 2021-04-07 19:44 健哥的数据花园 阅读(271) 评论(0) 推荐(0) 编辑
摘要:返回:Oracle 索引页 客户联络说他观察到,每天的某个固定时刻,OEM会报告比较突出的 transport lag ,平时的 transport lag,几乎是没有的。 观察这个时间段的主库的 alert log,可以看出些问题: 比如,在问题尚未发生的 4/5 05:45 左右,开始生成 se 阅读全文
posted @ 2021-04-07 19:39 健哥的数据花园 阅读(401) 评论(0) 推荐(0) 编辑
摘要:V$ARCHIVE_GAP 有值,则表示有 archive log GAP 产生。它的产生,是 由 备库端的 V$LOG_HISTORY 和 V$ARCHIVED_LOG 综合而来。V$LOG_HISTORY 的 SEQUENCE# 表示的是,已经应用于备库的,在备库端生成的 archive log 阅读全文
posted @ 2021-04-07 14:00 健哥的数据花园 阅读(582) 评论(0) 推荐(0) 编辑
摘要:如果对数据库进行 force logging 设定,但是对个别的 表、索引进行 nologging 操作,那么这个操作会是 nologging,还是 logging?结果出乎意料,对个别的 object 的 nologging 操作,优先于数据库的设定。 SQL> conn u1/u1 Connec 阅读全文
posted @ 2021-04-07 10:03 健哥的数据花园 阅读(205) 评论(0) 推荐(0) 编辑
摘要:返回 Oracle 索引页 客户报告,向 broker 中加入备库信息失败。 DGMGRL> add database tte_pr as connect identifier is stb_tte; Error: ORA-16642: DB_UNIQUE_NAME mismatch 我把主库、备库 阅读全文
posted @ 2021-04-06 21:17 健哥的数据花园 阅读(371) 评论(0) 推荐(0) 编辑
摘要:有的时候,数据库不定期的出现一些现象,比如出现 ORA- 错误,但是不太容易再现。我们可以做一个 logon trigger,每次特定的用户登录时,就作一些记录,也可以收集 10046 trace。例如: connect /as sysdba CREATE OR REPLACE TRIGGER <Y 阅读全文
posted @ 2021-04-06 20:51 健哥的数据花园 阅读(133) 评论(0) 推荐(0) 编辑
摘要:返回 Oracle 索引页有些时候,Oracle 数据库产生了大量的归档日志(archive log),用户、DBA 可能都会很困惑,哪些表被写入了?如果没有什么有力的数据来辅助说明,怎么知道是 数据库自身的问题,还是用户的问题?比较重量级的方法是,使用 logminer,来对 这个时间段产生的 a 阅读全文
posted @ 2021-04-06 20:40 健哥的数据花园 阅读(1198) 评论(0) 推荐(0) 编辑
摘要:有些时候,有的客户设置了 FRA(Flashback Recovery Area) 有效之后,在数据库的 alert log 中,会看到 ORA-19815 警告。这表明数据库的 FRA 区域快要满了。客户要么扩张 FRR 区域让它更大,要么就需要把现有的 FRA 区域中占比比较高的文件减少。此时, 阅读全文
posted @ 2021-04-06 20:21 健哥的数据花园 阅读(872) 评论(0) 推荐(0) 编辑
摘要:有一个 Data Guard + RAC 环境,有很多次,都发生了这样的现象,备库端的数据库系统启动耗时比较长。有时会报出 ORA-32701 错误。 DIA0 trace 文件中,记录了死锁的状况。 Resolvable Hangs in the System Root Chain Total H 阅读全文
posted @ 2021-04-06 20:07 健哥的数据花园 阅读(244) 评论(0) 推荐(0) 编辑
摘要:客户发来报告,说是在 RAC 环境,每天进行这种测试,是可以成功的。 sqlplus sys/password@hostname / as sysdba 但是某一天,似乎 GI 崩溃了。执行 下面的命令,一直没有返回结果: $ crsctl stat res -t 而另外一个节点,执行时,返回如下的 阅读全文
posted @ 2021-04-06 19:19 健哥的数据花园 阅读(166) 评论(0) 推荐(0) 编辑
摘要:客户报告,用RMAN 的 duplicate 命令,在具备RAC环境的standby 端,创建standby 数据库时,失败。 报:ORA-19504、ORA-17502、ORA-15001、ORA-27140 执行的过程如下: [oracle @ racddb001g ~] $ export OR 阅读全文
posted @ 2021-04-05 21:48 健哥的数据花园 阅读(1452) 评论(0) 推荐(0) 编辑
摘要:在两个数据库之间进行备份恢复同步,其实还有一个变形版本:就是利用增分更新备份方式,增分更新备份本身,就是每一次都对 image copy 执行 apply,这样会节省recover 执行的时间。 比如,如果我1月1日进行 level 0 的备份,1月2日进行 level 1 的备份,1月3日进行 l 阅读全文
posted @ 2021-04-04 14:56 健哥的数据花园 阅读(417) 评论(2) 推荐(0) 编辑
摘要:现在,我真的开始进行两台机器之间的备份、恢复试验了。 首先,在source 端,进行第一次备份(level 0 增分备份 + 控制文件备份+ SPFILE 增分备份): RMAN> backup incremental level 0 database format '/refresh/home/b 阅读全文
posted @ 2021-04-04 10:25 健哥的数据花园 阅读(292) 评论(1) 推荐(0) 编辑
摘要:有的时候,客户会有这样一种需求: 他需要把数据库整体移行(移植)到另外一个硬件服务器上,但是,客户希望,尽可能地减少对 数据库用户的影响,当新数据库启用之前,客户希望他的数据库用户仍然能够访问数据库。 其实,最适合的方法,就是建立 Data Guard 了,无论原来的数据库有什么变更,都可以通过 r 阅读全文
posted @ 2021-04-03 09:23 健哥的数据花园 阅读(105) 评论(0) 推荐(0) 编辑
摘要:继续来研究 application container 中的 application 升级问题。 首先,生成 application container 和 application pdb ,以及 application: alter system set db_create_file_dest=' 阅读全文
posted @ 2021-04-01 20:38 健哥的数据花园 阅读(196) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示