首页 > 代码库 > Oracle学习之笔记 -- 前言

Oracle学习之笔记 -- 前言

1、DBA发展的方向:业务型DBA、架构师(课程是13年的,可能是当时的情况,但也具有参考性)

2、养成良好的习惯:少用图形界面,多用sqlplus

3、记住常用的sql语句:

查询表空间的大小(表空间大小之和约为数据库的大小(日志文件没有计算在内))

select tablespace_name,sum(user_bytes) from dba_data_files group by tablespace_name

union

select tablespace_name,sum(user_bytes) from dba_temp_files group by tablespace_name;

查询数据对象的大小

select segment_name,segment_type,bytes from user_segments where segment_name in (‘T‘,‘IDX_T‘);

查询会话当前的sql语句(假设sid为68)

select sid,status,sql_id from v$session where sid = 68;

select sql_text from v$sql where sql_id = ‘****‘;

查询会话对应的进程号(操作系统层面)

select spid from v$process where addr = (select paddr from v$session where sid = 68);

查询阻塞的会话

select sid,lmode,type,request,block from v$lock where type in (‘TX‘,‘TM‘) order by 1,3;

输出执行计划

方法一:set autotrace on (trace exp);--不执行sql,仅输出执行计划

方法二:explain plan for select * from t;--产生执行计划

           select * from table(dbms_xplan.display);--输出执行计划

跟踪sql语句

方法一:alter session set sql_trace = true;--后续会trace一条sql语句之后输出到一个trace文件中

方法二:alter session set event ‘10046 trace name context forever,level n‘;

4、多查询文档(初学者不建议直接阅读官方文档,因为重点不明确,难坚持,应该多练)


 

tips:

linux或unix中可以用 error ora ***直接查询错误