Oracle10g 勉強メモ

oracle10g 新機能など


ASM (Automatic Storage Management)

ASM使用時にはCSSが必要 ASMインスタンス 設定 初期化パラメーター INSTANCE_TYPE = ASM LARGE_POOL_SIZE=8M 8MB以上 ASM_DISKGROUPS = ディスクグループ名,ディスクグループ名 ASM_POWER_LIMIT = 1〜11の範囲の値(デフォルトは、1) 値が高いほど、ディスク再調整が速くなりますが、多くのリソースを消費 ALTER SESSION/ALTER SYSTEM文で、動的に変更できます インスタンス名 +ASM デフォルト ASM関連プロセス asm_xxxx_xxxx ASMディスクグループ,ASMディスクの確認 V$ASM_DISKGROUP SQL> select name, total_mb, free_mb from v$asm_diskgroup; NAME TOTAL_MB FREE_MB -------------------- ---------- ---------- DG1 20472 20370 V$ASM_DISK SQL> select name, total_mb, free_mb from v$asm_disk; NAME TOTAL_MB FREE_MB ------------------------- ---------- ---------- DG1_0000 10236 10185 DG1_0001 10236 10185 DBインスタンス側では dba_data_files でディスクグループの確認 ASMディスクグループの修復 ALTER DISKGROUP ディスクグループ名 CHECK ALL; 表領域作成時にASMファイルを指定するときのファイル名 +ディスクグループ名 例 +dgroup1 ディスクグループを使用不可にする。 ALTER DISKGROUP ディスクグループ名 DISMOUNT; ASMディスクの削除 forceオプションで強制削除 ALTER DISKGROUP ディスクグループ名 DROP DISK ディスク force; ASMディスクグループ内のディスクの削除取消し(削除中のみ、削除後は不可)  ALTER DISKGROUP ディスクグループ名 UNDROP DISKS; ASMファイル +ASMディスクグループ名/DB名/ファイルタイプ名/表領域名.ファイル番号.インカネーション番号 --------------------------------------------------------------------------------------------------- 一時表領域グループ(一時表領域の負荷分散)
一時表領域の作成時にTABLESPACE GROUP句を使用する。 最初に指定された時に暗黙的に作成され、属する一時表領域がなくなった時に暗黙的に削除される。 一時表領域グループをデフォルト一時表領域、またはユーザーの一時表領域として指定することに よって使用できるようになる。 create temporary tablespace temp表領域名 tempfile 'ファイルパス' size サイズM tablespace group グループ名; ← 新機能 一時表領域グループから削除 ALTER TABLESPACE temp表領域名 TABLESPACE GROUP ''; ディクショナリ表 DBA_TABLESPACE_GROUPS 表領域名の変更
ALTER TABLESPACE 表領域名 RENAME TO 新しい表領域名; フラッシュバックテーブル フラッシュバックドロップ
フラッシュバックテーブル 表を指定した時点の状態に戻す フラッシュバックドロップ 削除された表を戻す フラッシュバックデータベース
データベース全体を指定した時点の状態に戻す SCNの確認 V$FLASHBACK_DATABASE_LOG   OLDEST_FLASHBACK_SCN 最小システム変更番号(SCN)   OLDEST_FLASHBACK_TIME 最小SCNの時刻 mount状態で実施 ALTER DATABASE FLASHBACK ON; FLASHBACK DATABASE to SCN (scn) または TIMESTAMP (timestamp); 初期化パラメーター DB_FLASHBACK_RETENTION_TARGET デフォルト1440分(1日) フラッシュバックデータベースで対応できないケース メディア障害(データファイルの破損や削除) 制御ファイルがバックアップからリストアされた場合や再作成された場合 サイズを縮小したデータファイル 必要なフラッシュバックデータの推定サイズの確認 V$FLASHBACK_DATABASE_LOG フラッシュリカバリ領域
フラッシュリカバリ領域は、バックアップファイルなどを格納する場所 Database Controlでは、「メンテナンス」タブ→「バックアップ/リカバリ」リージョンの 「リカバリ設定の構成」リンクから構成。 フラッシュリカバリ領域には、アーカイブログファイル、RMANを使用した バックアップファイル、フラッシュバックデータベース機能を使用するのであれば フラッシュリカバリログが格納されます。これらのファイルがすべて1つの領域に格納される。 初期化パラメータ DB_RECOVERY_FILE_DEST DB_RECOVERY_FILE_DEST_SIZE デフォルトでは下記のパス(windows) $ORACLE_BASE\flash_recovery_area\$ORACLE_SID SELECT name, space_limit, space_used FROM V$RECOVERY_FILE_DEST; 新規追加ユーザ
SYSMANユーザー Enterprise Manager のデフォルトのスーパー管理者 Management Repositoryスキーマの所有者 DBSNMPユーザー OEMの内部ユーザー。データベースを管理する際、内部的に接続して操作を行う 新規追加表領域
SYSAUX表領域 SYSTEM表領域の補助表領域。関連ツールのリポジトリとして使用される 表領域の削除やリネームはできない 表領域をトランスポートはできない データファイルの移動のために表領域をオフラインにできる SYSAUX表領域の占有データの確認 v$sysaux_occupants 自動共有メモリ管理機能
SGA_TARGET に値を設定する事で有効化 初期化パラメータ SGA_MAX_SIZE の範囲内で SGA_TARGET を動的に変更できる。 確認テーブル V$SGA_DYNAMIC_COMPONENTS 関連プロセス MMAN SGA_MAX_SIZE の設定 DB再起動後に反映 alter system set sga_max_size=値m scope=spfile; ハイウォータマークを下げる
前準備 alter table テーブル名 enable row movement; (行移動を使用可能にする) alter table テーブル名 shrink space; (インデックスの再作成は不要) alter table テーブル名 shrink space cascade; テーブルのインデックスもshrinkする。 Data Pump
expdp、impdpコマンド Data Pumpを使用する際にはディレクトリを ORACLEに認識させる事が必要 create directory ディレクトリー名(任意) as 'ディレクトリのある実際のパス'; grant read,write on directory 作成したディレクトリー名 to ユーザ名; ディレクトリの確認 select * from dba_directories; $ expdp ユーザ名/パスワード directory=ディレクトリオブジェクト名 dumpfile=exp.dmp \ > SCHEMAS=scott INCLUDE=(TABLE, VIEW) QUERYオプション QUERY=表名:"WHERE 条件" CONTENTオプション CONTENT= ALL or METADATA_ONLY or DATA_ONLY CONTENT=METADATA_ONLY ESTIMATEオプション ESTIMATE=BLOCKS データベース・ブロックによる簡易な見積もり ESTIMATE=STATISTICS 統計情報を利用した詳細な見積もり CONTINUE_CLIENTコマンド ロギングモードに変更 , 停止JOBの再開 $ impdp ユーザ名/パスワード directory=ディレクトリオブジェクト名 dumpfile=exp.dmp \ > remap_schema=(スキーマ元:スキーマ先) tables=(テーブル名) TABLE_EXISTS_ACTIONオプション 既にテーブルがある場合の処理方法 TABLE_EXISTS_ACTION= SKIP APPEND TRUNCATE REPLACE ATTACH セッションを既存のインポート・ジョブに接続し、自動的に対話方式コマンドモードにします。 impdp name/passwd ATTACH [=[schema_name.]job_name] マスター表  data pump実行時に使用 実行ユーザのスキーマに作成 ジョブ情報を格納する表 DataPumpJOBの状態 DBA_DATAPUMP_JOBS ------------------------------------------------------------------------- エンディアン クロスプラットフォーム トランスポータブル表領域において 移行先のOSでエンディアンが違う場合はRMANのCONVERTコマンドで変換が必要 プラットフォームごとのエンディアン形式を調べる SELECT PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PRATFORM; エンタープライズマネージャーの起動停止
emctl start dbconsole emctl stop dbconsole エンタープライズマネージャーへのアクセス http://ホスト名:ポート番号/em デフォルト ポート番号 5500 ISQLPLUS関係
ISQLPLUS 起動 停止 isqlplusctrl start isqlplusctrl stop ISQLPLUS設定ファイル $ORACLE_HOME/oc4j/j2ee/isqlplus/config/ ISQLPLUS ログ $ORACLE_HOME/oc4j/j2ee/isqlplus/log/ アクセス方法 http://ホスト名:ポート番号/isqlplus デフォルト ポート番号 5560 エンタープライズマネージャー、ISQLPLUSのポート番号の確認ファイル $ORACLE_HOME/install/portlist.ini -------------------------------------------------------------------------------------------- インストール関連 utlu101i.sqlを実行するとデータベースのアップグレード前に事前チェックすることができる。 サイレントインストール Xwindowがない環境でもインストール可能 $ ./runInstaller -responseFile 応答ファイル -silent -ignoreSysPrereqs ubuntuに10gXEをインストール アップグレード utlrp.sql INVALID状態だったパッケージ、プロシージャ、型など すべての既存のPL/SQLモジュールを、再コンパイルする DML文が実行されたテーブル名の確認 select table_name from sys.dba_tab_modifications; SGAの各パラメータ値の確認 select * from v$sgainfo; デフォルト永続表領域、デフォルト一時表領域 の設定を確認するにはDATABASE_PROPERTIESビューを使用します。 select property_name,property_value from database_properties where property_name like 'DEFAULT%'; 現時点でのSCNの確認 SELECT current_scn FROM v$database; 表領域作成時のサイズ v$datafile の create_bytes列で確認可能 セキュリティ エンタープライズマネージャー上で推奨 revoke execute on utl_file from public; AWR
関連プロセス mmon 関連テーブル v$active_session_history dba_hist_active_sess_history 取得間隔、データ保持期間の設定 exec dbms_workload_repository.modify_snapshot_settings(保持期間(分),取得間隔(分),dbid); DBピーク時などのスナップショットの保存 スナップショット番号を調べる select snap_id,begin_interval_time,end_interval_time from DBA_HIST_SNAPSHOT; exec dbms_workload_repository.create_baseline(start_snap_id,end_snap_id,baseline_name,dbid); 現在の設定を確認 select * from dba_hist_wr_control; サーバー生成アラート
確認テーブル 発生 DBA_OUTSTANDING_ALERTS 履歴 DBA_ALERT_HISTORY メトリックしきい値(表領域の使用率など)の確認 DBA_THRESHOLDS メトリックしきい値の変更 DBMS_SERVER_ALERT.SET_THRESHOLD Oracle Scheduler スケジュールの確認 dba_scheduler_jobs select JOB_NAME ,SCHEDULE_NAME from DBA_SCHEDULER_JOBS; ブロックチェンジトラッキング
RMANで高速増分バックアップをするには、 ブロックチェンジトラッキングファイルを使用する プロセス CTWR ブロックチェンジトラッキングの設定 ALTER DATABASE ENABLE BLOCK CHANGE TRACKING; ブロックチェンジトラッキングの情報 SELECT * FROM V$BLOCK_CHANGE_TRACKING; データベース、オンラインバックアップモード
ALTER DATABASE BEGIN BACKUP; データベースがMOUNT又はOPEN状態で実施。   オンラインバックアップモード間、インスタンスの通常停止、表領域のバックアップの開始、   表領域のオフラインへの切替え、読取り専用設定への変更はできない。 バックアップモードを終了  ALTER DATABASE END BACKUP; 外部表 DBA_EXTERNAL_TABLES DBA_EXTERNAL_LOCATIONS バージョン確認 DBA_REGISTRY 再開可能領域割当 初期化パラメータ RESUMABLE_TIMEOUT ALTER SESSION ENABLE RESUMABLE VPDポリシーの対象から除外 EXEMPT ACCESS POLICY 権限 trcsessコマンド 複数のトレースファイルを1つの出力ファイルにする、 出力ファイルをTKPROFで処理する。 SGAのバッファキャッシュのクリア ALTER SYSTEM FLUSH BUFFER_CACHE; UNDO保存の保証 ALTER TABLESPACE undotbs RETENTION GUARANTEE; デフォルトの永続表領域をオフラインにできる。削除は不可 自動統計収集を使用禁止にする BEGIN DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB'); END; 優先接続情報 EMで接続情報(パスワードなど)を設定 Enterprise Managerで ユーザーの表領域の割り当て制限 無制限にするには、-1を設定します

[一つ前に戻る] TOP PAGE
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送