ORACLEで
DBMS_STATSのデフォルトの値(現在の値)を確認するには
GET_PARAMファンクションで取得できます。
SELECT DBMS_STATS.
GET_PARAM('DEGREE') FROM DUAL;
など。
設定する場合は
SET_PARAMプロシージャを使いましょう。
EXEC DBMS_STATS.
SET_PARAM('DEGREE',4)
EXEC DBMS_STATS.
SET_PARAM('METHOD_OPT','FOR ALL COLUMNS SIZE AUTO')
EXEC DBMS_STATS.
SET_PARAM('CASCADE',TRUE)
などですね。
※「TRUE」はBOOL型なのでクォーテーションで囲む必要はありません。
テーマ:データベース - ジャンル:コンピュータ
- 2009/05/10(日) 10:27:56|
- ORACLE
-
-
hashパーティションのパーティション名を指定できないと思っている人は多くないだろうか?
CREATE TABLE AAA
(COL1 NUMBER
・・・
)
PARTITION BY
HASH(COL1)
(PARTITION P1,
PARTITION P2);
とすれば、パーティション名のP1,P2を指定できる。
パーティション名を変更するには
ALTER TABLE AAA
RENAME PARTITION P1 TO P3;
で可能。
テーマ:データベース - ジャンル:コンピュータ
- 2009/03/14(土) 18:04:30|
- ORACLE
-
-
通常のユーザに
SYSDBAを与えたいときってないですか?
remote_login_passwordfile = SHARED
だとできないようです。
remote_login_passwordfile = EXCLUSIVE
にしてあげましょう。
勿論、OS認証を使用している場合は不可ですが。
テーマ:データベース - ジャンル:コンピュータ
- 2009/02/28(土) 11:12:28|
- ORACLE
-
-
ORACLEのパフォーマンスツールである
AWRはパッケージ化されているので、修正することができない。
いや、正確に言うとキックするときは
awrrpt.sqlを実行するだけだが、中身はパッケージを起動しているのだ。
以前の
STATSPACKはただのスクリプトだったのでいくらでも直せたが、不便になった。
ちなみにパッケージ名は
DBMS_WORKLOAD_REPOSITORYだ。
テーマ:データベース - ジャンル:コンピュータ
- 2009/02/21(土) 16:45:49|
- ORACLE
-
-
ORACLEで
AUTOTRACEを設定するにはいくつか手順が必要だ。
1.SYSで
$ORACLE_HOME/sqlplus/admin/plustrace.sql
2.GRANT plustrace to <スキーマ名>;
3.$ORACLE_HOME/rdbms/utlxplan.sql
このあと、grantしたスキーマに接続し直して
set autotrace on
を実行すればよい。
テーマ:データベース - ジャンル:コンピュータ
- 2009/02/08(日) 09:47:56|
- ORACLE
-
-
OEM(ORACLE Enterprise Manager)のポート番号は自動的に決まってしまうが、変更したい場合は
$ORACLE_HOME/<hostname_sid>/sysman/config/emoms.properties
と
$ORACLE_HOME/<hostname_sid>/sysman/emd/target.xml
の2つに書かれている
portの記述を変更すればよい。
そして再起動。
テーマ:データベース - ジャンル:コンピュータ
- 2009/01/24(土) 16:36:51|
- ORACLE
-
-
Windowsのタスクスケジューラのログは
「コントロールパネル」-「パフォーマンスとメンテナンス」-「タスク」-「詳細設定」-「ログの表示」
で見ることができる。
場所は通常、
C:\WINDOWS\SchedLgU.TXT
にある。(上記でない場合は、%SystemRoot%\SchedLgU.TXT)
Windows Server 2003 の場合は
C:\WINDOWS\tasks\SchedLgU.TXT
のようだ。
テーマ:Windows 全般 - ジャンル:コンピュータ
- 2009/01/12(月) 09:32:52|
- windows
-
-
FULL SCANになってしまうテーブルを速くする場合は
PARALLELヒント句をつけるとよいだろう。
※複数CPUであることが条件
SELECT /*+
PARALLEL(テーブル名,並列度) */ FROM テーブル名;
ただ、元々INDEX SCANになっている場合はFULL SCANしてくれないので
SELECT /*+
FULL(テーブル名)
PARALLEL(テーブル名,並列度) */ FROM テーブル名;
とする必要がある。
INDEX SCANになってるのに、なぜ
FULL SCANにするのかって?
この方が速いときもあるのです。。
テーマ:データベース - ジャンル:コンピュータ
- 2008/12/27(土) 08:41:18|
- ORACLE
-
-
indexヒント句の基本的な使い方を説明しておく。
selectの直後に
/*+ INDEX(TABLE名 INDEX名) */を入れるだけだ。
例)
select /*+ INDEX(emp ind1) */ from emp;
ちなみにテーブル名とインデックス名の間はスペースを入れるのが基本だが、カンマでも大丈夫だった。
/*+ INDEX(TABLE名,INDEX名) */
テーマ:データベース - ジャンル:コンピュータ
- 2008/12/23(火) 08:19:51|
- ORACLE
-
-