1、解锁用户
如果用户被锁,用用户登陆的时候会提示:
ORA-28000: the account is locked
解决:
sys/*** as sysdba 登陆后
alter user scott account unlock;
2、orcle自带工具
1)、%ORACLE_HOME%\rdbms\admin\utlxplan.sql 创建plan_table
2)、%ORACLE_HOME%\sqlplus\admin\plustrace.sql 创建plustrace角色
3)、%ORACLE_HOME%\rdbms\admin\spcreate.sql 安装statspack
3、收集执行计划:
exec dbms_stats.gather_table_stats(user,'gtt2');//用户某表的执行计划
exec dbms_stats.gather_schema_stats(user,gather_temp=>true);//用户所有表,包括临时表
dbms_stats会自动提交事务的
4、创建临时表,oracle临时表是静态表
1)、会话级临时表,提交事务后数据仍然可见
create global temporary table gtt1(x number) on commit preserve rows;
2)、事务级临时表,提交事务后数据就被删除了。用此种方式创建的临时表,无法用dbms_stats收集执行计划
create global temporary table gtt2(x number) on commit delete rows;
5、v$statname系统里所有统计项信息,v$mystat当前会话统计信息,v$sesstat实例启动以来所有会话的统计信息,v$sysstat保存所有session的累计值
6、闪回flashback
1)、获取当前闪回号
SQL>variable scn number;
SQL>exec :scn := dbms_flashback.get_system_change_number;
2)、获取表闪回时段的数据
SQL>select * from t as of scn :scn;
3)、把表恢复到某个闪回时刻,从执行的sql看闪回命令会回滚当前会话未提交事务。另,如果表被删除了,此处就无法闪回了(?)。下边此处出错表明未启用移动行
SQL>flashback table t to scn :scn;
SQL> flashback table t to scn 80975242;
flashback table t to scn 80975242
*
第 1 行出现错误:
ORA-08189: 因为未启用行移动功能, 不能闪回表
SQL>alter table t enable row movement;
7、设置当前事务级别,如何设置会话级的事务隔离level,如何查询当前事务隔离级别,如何查询当前会话级事务隔离级别?
SQL>set transaction isolation level serializable;
8、游标共享
SQL>alter session set cursor_sharing=force;
但是共享有副作用,同一条sql在cursor_sharing=force/exat是后产生了两条不同的执行计划,substr的参数化是不是有点多余呢?
SQL> select substr(dname,1,2) from dept;
SUBS
----
AC
RE
SA
OP
SQL> select sql_text from v$sql where sql_text like '%substr(dname%';
SQL_TEXT
----------------------------------------
select substr(dname,1,2) from dept
select substr(dname,:"SYS_B_0",:"SYS_B_1") from dept
9、从spfile创建pfile
SQL>create pfile='e:\pfile.txt' from spfile;
10、修改spfile中参数的值
SQL> alter system set pga_aggregate_target = 256m comment='test' scope=both ;
系统已更改。
11、获取当前服务器进程id
SQL>select p.spid from v$session s left join v$process p on s.paddr = p.addr
where s.audsid=userenv('sessionid');
12、延迟约束
SQL> create table t2(
x int constraint x_not_null not null deferrable,
y int constraint y_not_null not null,
z varchar2(30));
SQL> set constraint x_not_null deferred;
SQL> insert into t2 values(null,3,'x');
已创建 1 行。
SQL> commit;
commit
*
第 1 行出现错误:
ORA-02091: 事务处理已回退
ORA-02290: 违反检查约束条件 (SCOTT.X_NOT_NULL)
13、当前会话使用的undo段大小
SQL>select b.value from v$statname a left join v$mystat b on a.statistic# = b.statistic# where a.name = 'redo size';
14、获取当前时间和当前cpu时间
SQL>create or replace procedure get_cpu_time as
begin
dbms_output.put_line('cpu time: ' || dbms_utility.get_cpu_time);
dbms_output.put_line('time: ' || dbms_utility.get_time);
end;
/
过程已创建。
SQL>exec get_cpu_time;
cpu time: 420
time: 3512889
PL/SQL 过程已成功完成。
15、获取最热块
select tch,file#,dbablk,
case when obj = 4294967295
then 'rbs/compat segment'
else(select max('(' || object_type||')' || owner || '.' || object_name) ||
decode(count(*),1,'','maybe!')
from dba_objects
where data_object_id = x.obj)
end what
from (
select tch,file#,dbablk,obj
from x$bh
where state <> 0
order by tch desc) x
where rownum <= 5;
16、会话锁定关系
select
(select username from v$session where sid = a.sid) blocker,
a.sid,
' is blocking ',
(select username from v$session where sid = b.sid) blockee,
b.sid
from v$lock a,v$lock b
where a.block = 1
and b.request > 0
and a.id1 = b.id1
and a.id2 = b.id2;
17、查看数据库是否强制写事务日志redo log
SQL> select force_logging from v$database;
FORCE_
------
NO
18、查看数据库事务日志redo log模式
SQL> select log_mode from v$database;
LOG_MODE
------------------------
NOARCHIVELOG
19、查看sql语句生成redo log的size之一:set autotrace on,会看到统计信息里有
20、查看sql语句生成redo log的size之二,通过此语句在sql执行前后获取,然后计算出来。
SQL> select ms.value from v$mystat ms left join v$statname sn on sn.statistic# = ms.statistic# where sn.name = 'redo size';
VALUE
----------
1198620
21、查看当前事务使用的undo blocks数量:
SQL> select t.used_ublk from v$transaction t left join v$session s on s.taddr = t.addr where s.sid = (select sid from v$mystat where rownum = 1);
USED_UBLK
----------
18
22、...
分享到:
相关推荐
expimp导出导入工具的使用.doc,Oracle 单记录函数.doc,Oracle 的内存管理.ppt,Oracle9I计划管理表空间.pdf,Oracle备份与恢复.doc,Oracle返回树关系列表Sql.doc,Oracle里时间的应用.doc,Oracle体系结构概述....
1. **Oracle简介**(Oracle系列培训教程之一:oracle简介.doc):这部分教程通常会涵盖Oracle的历史、版本演化,以及Oracle数据库在企业级应用中的地位。它可能会介绍Oracle数据库的基本组件,如数据块、表空间、...
达内的内部Oracle系列教程,是针对这一核心IT技术进行深入讲解的宝贵资源,旨在帮助学习者掌握Oracle的精髓,提升数据库管理和编程技能。 一、Oracle数据库基础 Oracle数据库系统的基础包括数据模型、数据库结构和...
ORACLE SQL性能优化系列 ORACLE SQL性能优化是数据库管理员和开发者非常关心的一个话题。为了提高数据库的性能,ORACLE 提供了多种优化技术。下面我们将详细介绍 ORACLE SQL 性能优化系列中的一些重要知识点。 一...
OPatch 12.2.0.1.36 for DB 19.0.0.0.0 (Jan 2023)
日常工作中积累的oracle数据库开发经验积累,全是可用的经典案例和说明
第三章 ORACLE SQL 单行函数 第四章 从多表中查询数据 第五章 用组函数合计数据 第六章 子查询 第七章 操纵数据 第八章 创建和管理表 第九章 内置约束 第十章 创建视图 第十一章 其他数据库对象 第十二章 控制用户...
系列之五:ORACLE EBS 系统主数据管理(D )
Oracle 医疗卫生行业系列资料之一 Oracle 医疗卫生行业系列资料,该系列共有6个资料。这是第1个 第二个在:http://download.csdn.net/source/1197786 第三个在:http://download.csdn.net/source/1197790 第四个在:...
Oracle是全球最广泛使用的商业数据库管理系统之一,以其高效、稳定和强大的功能著称。这套教材涵盖了Oracle的各个方面,包括但不限于数据库基础、SQL语言、数据库管理、性能优化、安全策略以及备份与恢复等。 首先...
Oracle是世界上最广泛使用的数据库管理系统之一,它以其稳定性、可扩展性和功能强大而闻名。本"Oracle系列培训教程"旨在为初学者提供一个全面的Oracle学习平台,帮助大家掌握Oracle的基本操作和管理技能。 首先,...
系列之一:ORACLE_EBS_的前世今生
oracle函数介绍 1 著名函数之单值函数 pdf oracle函数介绍 2 非著名函数之单值函数 pdf oracle函数介绍 3 著名函数之聚合函数 pdf oracle函数介绍 4 非著名函数之聚合函数 pdf oracle函数介绍 5 分析函数简述 ...
oracle系列培训教材之一安装及配置网络配置与连接PPT教案.pptx
根据提供的标题、描述、标签及部分内容,我们可以了解到本篇文章主要关注的是如何在Oracle数据库中查询一个月内的数据。这里的关键在于日期范围的确定以及如何利用Oracle的内置函数来完成这一任务。接下来,我们将...
具体到文件名"oracle ebs系列",我们可以推测这可能是一个包含多个子主题的文档集合,覆盖了Oracle EBS的多个模块。例如,可能会有专门针对财务模块的文档,详细讲解如何进行账务处理、预算控制、报表生成等;供应链...
初步认识Oracle的组成, oracle架构的基础知识 使用Oracle进行开发,如建立Oracle连接,PL/SQL的使用等 PowerDesign,PL/SQL Developer等工具的使用
oracle系列培训教材之一(安装及配置网络配置与连接)-PPT课件.ppt