9.7.5.2 テスト・マスターの権限の読取り/書込みへの変更

データ・ファイルを読取り専用から読取り/書込みに変更する際に、SQLを使用すると、SQLコマンドのスクリプトを生成できます。

読取り専用テスト・マスター・データベースのリフレッシュを開始する前に、まずスナップショット・データベースを削除する必要があります。
  1. すべてのExadataスナップショット・データベースが削除されたら、テスト・マスター・データベースをマウント・モードで起動します。
  2. テスト・マスター・データベースのデータ・ファイルに対する権限をリセットするスクリプトを作成します。

    テスト・マスターにSQL*Plusを使用して接続し、次のスクリプトを実行して、テスト・マスター・データベースに属するデータ・ファイルの権限をリセットするコマンドを含む新しいSQLスクリプトを作成します。

    set newpage 0 
    set linesize 999 
    set pagesize 0 
    set feedback off 
    set heading off 
    set echo off 
    set space 0 
    set tab off 
    set trimspool on 
    spool change_perm.sql 
    select 'ALTER DISKGROUP DATA set permission owner=read write, 
    group=read write, other=none for file '||''''||name||''''||';' from v$datafile; 
    exit 
    
  3. 生成されたスクリプトから余分な行を削除します。

    次のsedコマンドを実行し、前のステップで作成されたchange_perm.sqlスクリプトから余分な行を削除します。このコマンドは、change_perm.sqlスクリプトを含むディレクトリにあるオペレーティング・システム・プロンプトから実行します。

    $ sed -i '/SQL/d' change_perm.sql
    
  4. 生成されたスクリプトを使用して、ファイル権限を変更します。

    SQL*Plusを使用して、SYSASMユーザーとしてOracle ASMインスタンスに接続します。change_perm.sqlスクリプトを実行します。このスクリプトは、テスト・マスターのデータ・ファイルを書込み可能にするために権限を変更します。

    SQL> @change_perm