統計情報自動取得について調べる
1.実行ジョブについて
SQL> col JOB_NAME for a30
SQL> col SCHEDULE_NAME for a40
SQL> select JOB_NAME ,SCHEDULE_NAME from DBA_SCHEDULER_JOBS;
JOB_NAME SCHEDULE_NAME
------------------------------ ----------------------------------------
AUTO_SPACE_ADVISOR_JOB MAINTENANCE_WINDOW_GROUP
GATHER_STATS_JOB MAINTENANCE_WINDOW_GROUP
FGR$AUTOPURGE_JOB
PURGE_LOG DAILY_PURGE_SCHEDULE
2.WINDOW_GROUP詳細を調べる
SQL> col WINDOW_GROUP_NAME for a30
SQL> col WINDOW_NAME for a20
SQL> select WINDOW_GROUP_NAME ,WINDOW_NAME from DBA_SCHEDULER_WINGROUP_MEMBERS;
WINDOW_GROUP_NAME WINDOW_NAME
------------------------------ --------------------
MAINTENANCE_WINDOW_GROUP WEEKNIGHT_WINDOW
MAINTENANCE_WINDOW_GROUP WEEKEND_WINDOW
3.WINDOW詳細を調べる
SQL> col WINDOW_NAME for a20
SQL> col REPEAT_INTERVAL for a80
SQL> col DURATION for a30
SQL> select WINDOW_NAME ,REPEAT_INTERVAL ,DURATION from DBA_SCHEDULER_WINDOWS;
WINDOW_NAME REPEAT_INTERVAL DURATION
-------------------- -------------------------------------------------------------------------------- ------------------------------
WEEKNIGHT_WINDOW freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0 +000 08:00:00
WEEKEND_WINDOW freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0 +002 00:00:00
参照:http://d.hatena.ne.jp/nijimass/20080619/1213878812
2011年2月23日星期三
ORACLE RAC学习记录
Oracle RAC主要需要解决的问题就是如何进行协作操作。
主要分为
1.存储介质共享
2.各个实例之间的协作操作需要的数据共享
3.某部分结点出现问题是的解决方法
4.支持各部时间的其他辅助设置
2.
1)CSR
OCSSD(Oracle Cluster Synchronization Service Daemon), 提供2种Heartbeat
4.支持各部时间的其他辅助设置
1)网络
网络层要分为3层
数据访问层:向外部提供数据库的访问
存储介质层:向数据库实例提供数据的访问
实例共享层:用于数据库各实例之间访问
主要分为
1.存储介质共享
2.各个实例之间的协作操作需要的数据共享
3.某部分结点出现问题是的解决方法
4.支持各部时间的其他辅助设置
2.
1)CSR
OCSSD(Oracle Cluster Synchronization Service Daemon), 提供2种Heartbeat
4.支持各部时间的其他辅助设置
1)网络
网络层要分为3层
数据访问层:向外部提供数据库的访问
存储介质层:向数据库实例提供数据的访问
实例共享层:用于数据库各实例之间访问
2011年2月15日星期二
HP-UNIX用 TERMINAL set script
if [ "$TERM" == ]
then
eval `tset -s -Q -m ':?hp'`
else
eval `tset -s -Q `
fi
stty erase "^H" kill "^U" intr "^C" eof "^D"
stty hupcl ixon ixoff
stty -istrip
tabs
then
eval `tset -s -Q -m ':?hp'`
else
eval `tset -s -Q `
fi
stty erase "^H" kill "^U" intr "^C" eof "^D"
stty hupcl ixon ixoff
stty -istrip
tabs
2010年12月6日星期一
TEMPFILEの作り直す
TEMP領域が一度使われたら、v$sort_segment内の数字は減らすことができません。
それをリセットする方法を紹介します。
1.TEMPDATAを削除
alter database tempfile '/path/to/temp/file' drop;
2.TMEPDATAを追加しなおす
alter tablespace temp add tempfile '/path/to/temp/file';
※TEMP領域名は temp とする場合
それをリセットする方法を紹介します。
1.TEMPDATAを削除
alter database tempfile '/path/to/temp/file' drop;
2.TMEPDATAを追加しなおす
alter tablespace temp add tempfile '/path/to/temp/file';
※TEMP領域名は temp とする場合
2010年11月26日星期五
ORACLE里面的统计行数
ORACLE里面有很多统计用的函数,比如COUNT, SUM, MAX, LAST_VALUE, FIRST_VALUE。
乍一看可能觉得很好理解,没什么复杂的。
但是如果一个窗口的概念不弄明白的话,你会觉得很复杂,很难用,然后怀疑这些个函数都不好用了。
比方说你想一张薪水的历史记录表,
salary_history
emp_id,
salary,
update_date
你想找出每个人最新的薪水的值
select last_value(salary) over (partition by emp_id order by update_date rows between unbounded preceding and unbounded following) from salary_history;
其中 rows between unbounded preceding and unbounded following 就是指定了窗口:所有的数据。
如果不指定的话,默认的窗口是 range between unbounded preceding and current row,也就是当前记录为止的所有记录。
这个默认窗口只是对有order by的数据才有效, 而max, count函数如果不指定order by, 那么他的对象就是所有的数据。这点在ORACLE的文档里并没有提及的。
乍一看可能觉得很好理解,没什么复杂的。
但是如果一个窗口的概念不弄明白的话,你会觉得很复杂,很难用,然后怀疑这些个函数都不好用了。
比方说你想一张薪水的历史记录表,
salary_history
emp_id,
salary,
update_date
你想找出每个人最新的薪水的值
select last_value(salary) over (partition by emp_id order by update_date rows between unbounded preceding and unbounded following) from salary_history;
其中 rows between unbounded preceding and unbounded following 就是指定了窗口:所有的数据。
如果不指定的话,默认的窗口是 range between unbounded preceding and current row,也就是当前记录为止的所有记录。
这个默认窗口只是对有order by的数据才有效, 而max, count函数如果不指定order by, 那么他的对象就是所有的数据。这点在ORACLE的文档里并没有提及的。
2010年11月9日星期二
通过表移动来提高Oracle表的空间利用率
表经过多次的插入,更新,删除之后,会存在断片化的问题。表空间的使用率降低,而且影响性能。
可以用以下的方法来改善。
alter table tab1 move;
alter index tab1_ind1 rebuild;
alter index tab1_ind2 rebuild;
表的移动,内部动作是把表数据拷贝到临时表空间,复制处理结束后,切换掉旧的表空间,所以需要有空余的表空间才能支持这个操作。
索引重建是因为旧的ROWID发生变化,导致无效
可以用以下的方法来改善。
alter table tab1 move;
alter index tab1_ind1 rebuild;
alter index tab1_ind2 rebuild;
表的移动,内部动作是把表数据拷贝到临时表空间,复制处理结束后,切换掉旧的表空间,所以需要有空余的表空间才能支持这个操作。
索引重建是因为旧的ROWID发生变化,导致无效
订阅:
博文 (Atom)