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 ***直接查询错误