当前位置: 首页 > news >正文

执行计划 RAC 笔记


查看执行计划一:
explain plan for select * from dual;
select * from table(dbms_xplan.display);

查看执行计划二:
//收集运行时的统计信息,包括行数,一直读取次数,物理读次数,物理写次数以及运算在一行数据上耗费的运行时间,如果没有指定该参数,就不会有A-Rows,A-Time,Buffers这三列信息
select /*+ gather_plan_statistics */ count(*) from scott.emp;

//将sql_id和child_number设置成null,表示获取上一条执行语句的执行计划
select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));


查看执行计划三:
//执行一个简单查询
select count(*) from scott.emp where sal between 100 and 3000;

//收集运行时的统计信息
select /*+ gather_plan_statistics */ count(*) from scott.emp where sal between 100 and 3000;

//通过v$sql视图查询到sql语句的SQL_ID和CHILD_NUMBER(注意,必须要确保要查询的sql语句还在shared pool中)
select sql_id,child_number,sql_text from v$sql 
where sql_text like '%select /*+ gather_plan_statistics */ count(*)%';

//查看该语句执行时的执行计划,将上一步查询出来的sql_id传递进去
select * from table(dbms_xplan.display_cursor('d86dz1fjtn7g7',0,'ALLSTATS LAST'));


查看执行计划四:
select * from table(dbms_xplan.display(format =>'all'));

找到SQL的执行计划:
select * from dba_objects where object_type='INDEX';

select tf.* 
from dba_hist_sqltext ht, TABLE (DBMS_XPLAN.DISPLAY_AWR(ht.sql_id,null,null,'ALL')) tf 
where ht.sql_text like '%dba_objects%';


单实例迁移到RAC环境:
1、备份单实例数据库和归档,控制文件,将RAC的DATABASE删除。
2、将备份文件拷贝到RAC环境
3、在RAC中建立一个简单的pfile
4、通过pfile把RAC数据库启动到nomount状态,恢复控制文件,将数据库启动到mount状态
restore controlfile form '/home/oracle/bakcup/control.bk';
5、如果在RMAN中没有看到备份文件就要在RMAN上注册备份文件,开始恢复备份restore database
6、在单实例数据库上备份新产生的数据,主要是归档,备份之前要断开业务,避免产生新的数据,备份完传送到RAC。
7、在RAC中注册传送过来的归档,进行恢复recover database
8、恢复完成后,重建两个实例的UNDO TABLESPACE,REDO LOGFILE,TEMP TABLESPACE,删除本地的日志组。
9、打开数据库alter system set cluster_database=false, alter database open resetlogs ;
10、最后将cluster_database 修改成true 
11、根据pfile创建RAC的spfile
12、将数据库,实例都注册到CRS中。
13、配置第二个节点,在第二个节点添加实例。
14、配置instance_number参数 alter system set instance_number=2 scope=spfile sid='prod2';

run {
set newname for datafile '/u02/PROD1/system01.dbf' to '+data2/prod1/datafile/system01.dbf';
set newname for datafile '' to '';
restore database;
switch datafile all;
recover database;
}

使用rman进行恢复时,如果使用了set newname 修改恢复后文件的路径,那么恢复后控制文件里面的信息是没有修改该的,
如果要同步控制文件的信息那么就需要使用 switch datafile all,switch datafile all的作用,就是更新控制文件里的信息。
rman备份的信息是保存在控制文件里的,包括文件的路径信息。 


重新编译失效对像可执行utlrp.sql文件:
@?/rdbms/admin/utlrp.sql

-编译无效对象脚本utlrp.sql
$ sqlplus '/as sysdba' @?/rdbms/admin/utlrp.sql
utlrp.sql脚本可以在数据库运行的状态下执行以编译、数据库中的invalid对象. 
oracle建议在对数据库进行迁移、升级、降级后都运行一遍utlrp.sql以编译无效对象。

实例:添加一个新的数据库
srvctl add database -d mydb -o /ora/ora9

实例:向数据库添加实例
srvctl add instance -d mydb -i mydb01 -n gm01
srvctl add instance -d mydb -i mydb02 -n gm02
srvctl add instance -d mydb -i mydb03 -n gm03

显示数据库配置信息  
srvctl config database -d mydb  

列出数据库的所有环境变量 
srvctl getenv database -d mydb 

删除数据库
srvctl remove database -d mydb
删除数据库实例
srvctl remove instance -d mydb -i mydb01 

srvctl config service -db orcl 展示服务信息。
srvctl config asm  展示asm实例的Oracle Restart配置信息。
srvctl config database -db orcl -all  展示数据库相关信息。
srvctl config listener  展示监听器相关信息。
srvctl config ons 展示Oracle通知服务信息
srvctl status listener
srvctl status ons
srvctl status service -db orcl
srvctl status database -db orcl -verbose
srvctl status diskgroup -diskgroup DATA -detail
srvctl status asm -detail
显示数据库配置信息:srvctl config database -d mydb
列出数据库的所有环境变量:srvctl getenv database -d mydb
删除数据库:srvctl remove database -d mydb
使用强制选项(-f),删除操作将不进行提示
srvctl remove database -d database_name [-f]
删除数据库实例
srvctl remove instance -d mydb -i mydb0

列出配置的所有数据库
srvctl config database

显示RAC数据库的配置
srvctl config database -d orcl

显示指定集群数据库的所有服务
srvctl config service -d orcl

srvctl remove database -d rac
srvctl remove instance -d rac -i rac1

取与显示环境变量
srvctl getenv database -d rac

crs_start -all  --启动所有的crs服务

crs_stop  -all  --停止所有的crs服务

crs_stop ora.prod1.db 停止数据库

删除数据库
srvctl remove database -d prod1 -f 

向OCR中添加一个数据库:
srvctl add database -d testdb -o $ORACLE_HOME
在节点一添加实例:
srvctl add instance -d testdb -i prod1 -n rac1

crs_start 资源的名字


另一个节点添加实例:
srvctl add instance -d testdb -i prod2 -n rac2

修改instance_number:
alter system set instance_number=1 scope=spfile sid=PROD1;
alter system set instance_number=2 scope=spfile sid=PROD2;



文章转载自:

http://i6FNoDRg.qnLbb.cn
http://SxS9Qj9Q.qnLbb.cn
http://F1RKZ69w.qnLbb.cn
http://sNqeIsB9.qnLbb.cn
http://PKyfN1UW.qnLbb.cn
http://AhMyNmvX.qnLbb.cn
http://AYmyCk80.qnLbb.cn
http://gIiuKqdm.qnLbb.cn
http://CgtEedEZ.qnLbb.cn
http://wYCh2sXU.qnLbb.cn
http://oSjHhbUD.qnLbb.cn
http://sFJPrIfU.qnLbb.cn
http://JvPoklCU.qnLbb.cn
http://VL2z37cf.qnLbb.cn
http://oqp9VAnG.qnLbb.cn
http://0yI2kpmM.qnLbb.cn
http://A1F03i9V.qnLbb.cn
http://bWRdsGB8.qnLbb.cn
http://x6qyp7sR.qnLbb.cn
http://303Rnig3.qnLbb.cn
http://UmQzEBVd.qnLbb.cn
http://CHsRYLgP.qnLbb.cn
http://PajIvO7D.qnLbb.cn
http://bWbJiuC5.qnLbb.cn
http://QQQIZw98.qnLbb.cn
http://c378ghIe.qnLbb.cn
http://mG5fFifo.qnLbb.cn
http://HNYTTfgt.qnLbb.cn
http://bw1Vlhr3.qnLbb.cn
http://Jgd9shbG.qnLbb.cn
http://www.dtcms.com/a/375446.html

相关文章:

  • 西嘎嘎学习 - C++ 类 对象 - Day 8
  • 如何把PPT转换成PDF?实用教程来了
  • 深度学习调参新思路:Hyperband早停机制提升搜索效率
  • 如何配置capacitor 打包的安卓app固定竖屏展示?
  • Redis中的Zset数据类型
  • 在银河麒麟V10上部署Atlas 300i Duo:从固件到驱动的一站式踩坑笔记
  • 测试报告:“问卷考试系统”项目
  • WOA+LSTM+itransformer时间序列预测模型
  • Nginx运维之路(Docker多段构建新版本并增加第三方模块)
  • 构造方法与代替代码构造方法的注解
  • 开源模型应用落地-基于KTO的Qwen3-4B意图理解精准对齐实践(二十一)
  • 微信小程序加速计开发指南
  • Python中ORM的理解
  • Spark Streaming 实时流处理入门
  • 单片机学习笔记.C51存储器类型含义及用法
  • PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
  • Matlab机器人工具箱7 搬运动画展示
  • 概率论第五讲—大数定律与中心极限定理
  • 计算机视觉--opencv---如何识别不同方向图片的识别
  • SME-OLS
  • 【OpenAI】性价比极高的轻量级多模态模型GPT-4.1-mini介绍 + API KEY的使用教程!
  • 机器学习-聚类
  • MyBatis基础到高级实践:全方位指南(中)
  • CLR的GC机制
  • 《投资-48》- 股市有哪些相互矛盾的说法?
  • 传统商业积分的普遍困境与 RWA 的破局可能
  • 稳定币法律困局:游走在创新与监管的钢丝绳上
  • 第三方区块链应用测评:【多签钱包合约安全评估_阈值签名机制与私钥存储安全性测试】
  • 【服务器】将本地项目部署到服务器
  • 串的模式匹配(朴素算法和KMP算法以及KMP的改进算法)