ocean base运维语句


1、CTE特性会提前抽取子查询或视图的数据,并放入临时表中,以便多次使用。但对于含有大量数据的子查询或视图,这个特性容易带来问题。此时禁用掉CTE特性,然后将条件传入子查询或视图,性能可能会更好。
建议直接关闭这个特性:alter system set "_xsolapi_generate_with_clause"=0;
/*+opt_param('xsolapi_generate_with_clause', 'false')*/

obclient -hOCEANBASE-SD-TEST-01.DBCLOUD.MIDEA.COM -P2883 -uQMS@QMS#OCEANBASE_TEST_02_080819:1687182345 -DQMS -p

2、在OB中,你可以试一下GV$OB_LOCKS


3、
show variables like '%timeout%';
ob_query_timeout
120000000

高哥帮在OB设置一下超时时间
set global ob_query_timeout=1200000000


我这边因为需要将OB的语法兼容处理同步ORACLE
涉及到包较多,想直接在oracle uat直接覆盖我改动的上面这些包
这些包也是基于最新master分支的改动,我一个一个在UAT加代码耗时非常长
看下哪些包需要我特别注意的,不然会覆盖大家的在UAT改动的代码。


-- SESSION_ID:3222079255
select * from GV$OB_TRANSACTION_PARTICIPANTS;
alter system kill session '3222079255';

再根据session_id或TX_ID去查询gv$ob_sql_audit视图,在查询结果中找找对应的SQL

目前OCP没有专门的监控项目,如果说需要监控的话,可以使用SYS用户下的dba_tables视图来检查:select count(*) from DBA_TABLES t where t.TEMPORARY='Y';


select t.table_id, t.table_name,t.part_num,t.part_func_type, v.table_name as index_name,v.index_type
from sys.all_virtual_table_real_agent t, 
(select table_name, data_table_id, index_type 
from sys.all_virtual_table_real_agent 
where data_table_id != 0 
 and index_type in (3,4,7,8,11,12)
) v 
where t.table_id = v.data_table_id
and t.part_num=1                     --分区数量,1代表只有一个分区
and t.part_func_type=0               --分区函数类型,0代表没有分区

begin
sys.p_kill_session(3059,56242);
end;


CREATE TABLE employeesbak AS SELECT * FROM cims.employees WHERE 1=0;


SELECT * FROM SYS.GV$OB_PARAMETERS WHERE NAME LIKE '_resource_limit_max_session_num';

牛B语句       备份表
 insert into IQC_EXAMINED_OUTGOING_DTL1116 select * from IQC_EXAMINED_OUTGOING_DTL

 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2

-- SESSION_ID:3222079255
select * from GV$OB_TRANSACTION_PARTICIPANTS;
alter system kill session '3222079255';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值