OracleTips

「OracleTips」の編集履歴(バックアップ)一覧はこちら

OracleTips」(2009/02/20 (金) 19:30:09) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*&bold(){SQLトレースの取得} ***SYSユーザで接続 $ sqlplus /nolog SQL> conn sys/xxxx as sysdba ***対象セッション確認 SQL> SELECT sid,serial#,username,program,machine,status FROM v$session; ***トレース開始 SQL> EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION([sid],[serial#],TRUE); udumpディレクトリ配下のトレースファイルを参照。 ***トレース終了 SQL> EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION([sid],[serial#],FALSE); ---- *&bold(){サーバー・パラメータ・ファイル(SPFILE)情報の参照} SQL> SHOW PARAMETER SPFILE もしくは SQL> SELECT VALUE FROM V$PARAMETER WHERE NAME = 'spfile' ; ---- *&bold(){サーバー・パラメータ・ファイル(SPFILE)の変更} SQL> ALTER SYSTEM SET name = 'value' SCOPE=[SPFILE | MEMORY | BOTH]; 静的パラメータの場合、"SCOPE=SPFILE"とし、データベースを再起動後に有効となる。 *&bold(){コールドバックアップ対象のファイル一覧} set echo off; set termout off; set heading off; set feedback off; set linesize 256; set flush off; set pagesize 0; set trimspool on; [spool スプールファイル] select ddf.file_name from dba_tablespaces dt, dba_data_files ddf where dt.tablespace_name = ddf.tablespace_name; select dtf.file_name from dba_tablespaces dt, dba_temp_files dtf where dt.tablespace_name = dtf.tablespace_name; select MEMBER from v\$logfile; select NAME from v\$controlfile; select value from v\$system_parameter where name ='spfile'; *&bold(){SQL*Plusでの列表示属性の制御} set col [列名] format [表示形式] set col [列名] justify [left/center/right] 左寄せ/中央寄せ/右寄せ set col [列名] null [null文字] 値がnullの場合に[null文字]に指定した文字を表示 set col [列名] new_value [変数名] [表示形式] 【表示形式】 文字列:A[文字数]  例:set col c1 format a10 日付時刻列:A[文字数] 数値列:[数値書式] 【数値書式(代表的な物)】 9:有効桁数表示 0:有効桁数表示で前0詰め B:値が0の場合に空白を表示 ,:カンマを表示 【new_valueについて】 [列名]で指定した列の値が[変数名]で指定した変数に格納される。 例えば… SQL> COL YMD NEW_VALUE FILENAME SQL> SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') || 'spool.txt' YMD FROM DUAL; →この結果「FILENAME」変数にシステム日付+'spool.txt'がセットされる。 SQL> spool &FILENAME
*&bold(){SQLトレースの取得} ***SYSユーザで接続 $ sqlplus /nolog SQL> conn sys/xxxx as sysdba ***対象セッション確認 SQL> SELECT sid,serial#,username,program,machine,status FROM v$session; ***トレース開始 SQL> EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION([sid],[serial#],TRUE); udumpディレクトリ配下のトレースファイルを参照。 ***トレース終了 SQL> EXECUTE DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION([sid],[serial#],FALSE); ---- *&bold(){サーバー・パラメータ・ファイル(SPFILE)情報の参照} SQL> SHOW PARAMETER SPFILE もしくは SQL> SELECT VALUE FROM V$PARAMETER WHERE NAME = 'spfile' ; ---- *&bold(){サーバー・パラメータ・ファイル(SPFILE)の変更} SQL> ALTER SYSTEM SET name = 'value' SCOPE=[SPFILE | MEMORY | BOTH]; 静的パラメータの場合、"SCOPE=SPFILE"とし、データベースを再起動後に有効となる。 *&bold(){コールドバックアップ対象のファイル一覧} set echo off; set termout off; set heading off; set feedback off; set linesize 256; set flush off; set pagesize 0; set trimspool on; [spool スプールファイル] select ddf.file_name from dba_tablespaces dt, dba_data_files ddf where dt.tablespace_name = ddf.tablespace_name; select dtf.file_name from dba_tablespaces dt, dba_temp_files dtf where dt.tablespace_name = dtf.tablespace_name; select MEMBER from v\$logfile; select NAME from v\$controlfile; select value from v\$system_parameter where name ='spfile'; *&bold(){SQL*Plusでの列表示属性の制御} set col [列名] format [表示形式] set col [列名] justify [left/center/right] 左寄せ/中央寄せ/右寄せ set col [列名] null [null文字] 値がnullの場合に[null文字]に指定した文字を表示 set col [列名] new_value [変数名] [表示形式] 【表示形式】 文字列:A[文字数]  例:set col c1 format a10 日付時刻列:A[文字数] 数値列:[数値書式] 【数値書式(代表的な物)】 9:有効桁数表示 0:有効桁数表示で前0詰め B:値が0の場合に空白を表示 ,:カンマを表示 【new_valueについて】 [列名]で指定した列の値が[変数名]で指定した変数に格納される。 例えば… SQL> COL YMD NEW_VALUE FILENAME SQL> SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') || 'spool.txt' YMD FROM DUAL; →この結果「FILENAME」変数にシステム日付+'spool.txt'がセットされる。 SQL> spool &FILENAME *&bold(){高速INSERT} SQL> INSERT /*+ APPEND */ INTO [追加先テーブル] SELECT * FROM [追加元テーブル]; この後は、COMMITかROLLBACKしかできない。 *&bold(){テーブルスペースの断片化調査} SELECT * FROM ( SELECT DFILE.TABLESPACE_NAME TABLESPACE_NAME, DFILE.FILE_ID FILE_ID, DFILE.BYTES ALL_BYTES, DFILE.BLOCKS ALL_BLOCKS, EXT.SEGMENT_NAME SEGMENT_NAME, EXT.SEGMENT_TYPE SEGMENT_TYPE, EXT.BLOCK_ID BLOCK_ID, EXT.BLOCKS BLOCKS, EXT.BYTES BYTES FROM DBA_DATA_FILES DFILE, DBA_EXTENTS EXT WHERE DFILE.TABLESPACE_NAME = '[調査したいテーブルスペース名]' AND EXT.FILE_ID = DFILE.FILE_ID UNION SELECT DFILE.TABLESPACE_NAME TABLESPACE_NAME, DFILE.FILE_ID FILE_ID, DFILE.BYTES ALL_BYTES, DFILE.BLOCKS ALL_BLOCKS, 'FREE_SPACE' SEGMENT_NAME, 'FREE_SPACE' SEGMENT_TYPE, DFREE.BLOCK_ID BLOCK_ID, DFREE.BLOCKS BLOCKS, DFREE.BYTES BYTES FROM DBA_DATA_FILES DFILE, DBA_FREE_SPACE DFREE WHERE DFILE.TABLESPACE_NAME = '[調査したいテーブルスペース名(上と同じ)]' AND DFREE.FILE_ID = DFILE.FILE_ID ) AAA ORDER BY FILE_ID,BLOCK_ID

表示オプション

横に並べて表示:
変化行の前後のみ表示: