oracle笔记

--查会话
select OBJECT_NAME,s.sid,s.serial#,osuser
from V$locked_Object lo,dba_Objects ao,v$session s
where lo.Object_id = ao.Object_id
    and Lo.Session_Id = s.sid


--结束会话(杀进程)
alter system kill session 'sid,serial#'

-------在执行的SQL
select t3.SQL_TEXT,t1.*,t2.* 
from v$session t1,v$locked_object t2,v$sql t3 
where t1.sid=t2.session_id and t1.SQL_ID=t3.SQL_ID;

--查看某储存过程是否被锁
select  * from v$db_object_cache where  locks !=0  and  upper(name) = upper('FSCF_PRC_SERV_FARM_prod_YH')--过程名

--查看被锁过程的sid
select /*+rule*/ * from  v$access where  upper(object) = upper('FSCF_PRC_SERV_FARM_prod_YH')

--拿到被锁过程的sid去查serial#
select * from  v$session where sid in(580)

--查看某个表是否被锁
select * from v$locked_object a,dba_objects b where a.object_id = b.object_id and upper(OBJECT_NAME) = upper('fspe_cfg_full_disc_2018_0');
--用 session_id 查sid去查serial#,session_id 就是sid
select * from  v$session where sid in(582);

--结束会话,杀不了用sqlplus杀
alter system kill session 'sid,serial#'

--查看某个表被那个过程用到,user_source是本用户,dba_source是全库
select * from  user_source where upper(text) like upper('%tb_mo_partition%')--表名


----------------会话结束不了的时候,获取系统进程
select spid ,s.osuser,s.program from v$session s,v$process p where s.paddr = p.addr and s.sid=1436
 
--结果系统进程 
kill -9 27380

--查询视图、表赋权给那些用户
select * from user_tab_privs where table_name = upper('hx_duty_result_201802_2019_v')--表、视图名

-----------------------------------------------------------------

--表占用的容量
select  SEGMENT_NAME,round(BYTES/1024/1024/1024,2)||'G' from user_segments order by BYTES desc

--查看数据文件
select * from dba_data_files;
--给表空间增加数据文件
--数据文件自动扩展
alter tablespace data add datafile '/srcdata1/oracle11g/data_116.dbf' size 1024M autoextend on next 5m maxsize 30720M;
--添加固定的数据文件
alter tablespace data add datafile '/srcdata1/oracle11g/data_137.dbf' size 30720M

--Oracle自动作业
--创建job,参数1:job号 自动生成,参数2:要执行的过程,参数3:开始执行时间,
    参数4:下次执行时间间隔,在参数3的基础上加上间隔则是下次执行的时间
declare
v2_job number ;
begin
  sys.dbms_job.submit(job => v2_job,
                      what => 'prc_etl_duty_result_day();',
                      next_date => to_date('25-01-2019 10:30:00', 'dd-mm-yyyy hh24:mi:ss'),
                      interval => 'trunc(sysdate + 1, ''dd'') + 8 / 24');
  commit;
end;
/

--查看job信息
select * from  user_jobs
--删除job,26是job号
declare begin dbms_job.remove(30); end;

--运行作业

begin dbms_job.run(作业号); end;

--停止已经启动的作业
begin 
  dbms_job.broken(542079,true,sysdate);
  commit;
end;

-----------收集统计信息---------------
--收集用户的统计信息
call dbms_stats.gather_achema_stats(ownname => 'FSJIFEN')
--收集某个用户某个表的统计信息
call dbms_stats.gather_table_stats('fsjifen','hx_duty_result_201812')

-------------------------------------闪回操作-------------------------------------
--查询表某个时间的数据
select * from 表 as of timestamp(to_timestamp('2019-08-05 09:30:00', 'yyyy-mm-dd hh24:mi:ss')) --时间点

--把表恢复到误操作前
alter  table 表名 enable row movement;
flashback table 表名  to timestamp to_timestamp('2019-08-05 09:30:00','yyyy-mm-dd hh24:mi:ss')

--删除表时没有加purge才能闪回
--闪回删除的表
flashback table 表名 to before drop
--闪回删除的表并起另外表名
flashback table table_name to before drop rename to new_name
------------------------hist语句-----------------
--并行创建索引,要取消并行
create index PROD_INST_ATTR_SUB_SUBSID on CRM_TB_PROD_INST_ATTR_SUB (PROD_INST_ID) parallel 4;
alter index PROD_INST_ATTR_SUB_SUBSID noparallel;

--并行创、不生成日志建表
create /*+parallel(5) nologging */ table XX as select * from table_name;

--并行查询
select /*+parallel(5) from table_name;

--并行、高水位线直接插入、不生成日志
insert /*+parallel(5) append nolgging */ into XX select * from table_name;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
孟老师 oracle笔记中记录了他在学习和应用Oracle数据库管理系统过程中的重要知识点和经验总结。这些笔记对他个人来说是非常宝贵的学习工具,并且也可以分享给其他学习者。 首先,孟老师的笔记内容包括了Oracle数据库的概述和架构。他对Oracle数据库系统的组成部分、存储结构、进程和线程等进行了详细的介绍。这使得他自己能够更好地理解Oracle数据库的运行原理,从而能够更好地进行数据库管理和优化。 其次,他的笔记中也包含了Oracle数据库的安装和配置过程。他记录了安装过程中可能遇到的问题和解决方法,还有如何正确配置数据库参数以满足具体的需求。这部分内容非常实用,它可以帮助他在以后的实际应用中更加高效地进行数据库的部署和配置。 此外,孟老师还记录了Oracle数据库的备份和恢复策略。他介绍了不同的备份方法,如完全备份、增量备份和重写备份,并指出了每种备份方法的适用场景。在笔记中,他还总结了一些关键的恢复指令和技巧,以便在意外故障发生时能够及时应对。 最后,他还在笔记中分享了一些常见问题和实践经验。这些问题和经验既包括技术层面的,如如何提高数据库性能和调优查询语句,也包括管理层面的,如如何规划数据库用户和权限管理。这些实践经验对于其他Oracle学习者来说是非常宝贵的参考资料。 总体来说,孟老师的Oracle笔记是一个非常有用的学习资源。它不仅记录了他个人的学习过程和经验总结,也为其他学习者提供了重要的参考和指导,帮助他们更好地理解和应用Oracle数据库管理系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值