2017/11/07備忘録

■備忘録(2017/11/07記)

 


▼SCOTTさんのdept表を切り捨てし桁数を変更、および列長変更
truncate table scott.dept;
alter table scott.dept modify(deptno number(30));
alter table scott.dept modify(dname VARCHAR2(50));

 


▼大量インサート

begin
 for i in 1..100000 loop
 insert into scott.dept (deptno,dname,loc)
 values (i,DBMS_RANDOM.STRING('p',50),null);
 end loop;
 commit;
 end;
 /

 


▼$ORACLE_HOME/netrok/admi/sqlnet.oraに下記追加


ENCRYPTION_WALLET_LOCATION=
        (SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=F:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\wallet)))

 


▼「F:\app\admin\product\11.2.0\dbhome_1\NETWORK\ADMIN\wallet」フォルダ作成

 


▼TDE変更反映のため、リスナー再起動
lsnrctl stop
lsnrctl start


▼マスター鍵作成
alter system set encryption key identified by oracle;

 


▼列暗号化実施
ALTER TABLE SCOTT.DEPT MODIFY (DNAME ENCRYPT NO SALT);


▼SCOTT先輩に権限付与
grant read,write on directory DATA_PUMP_DIR to scott;


▼エクスポート
expdp scott/tiger dumpfile=DATA_PUMP_DIR:expdp_dept.dmp logfile=DATA_PUMP_DIR:expdp_dept.log TABLES=scott.dept


▼インポート
impdp scott/tiger dumpfile=DATA_PUMP_DIR:expdp_dept.dmp logfile=DATA_PUMP_DIR:expdp_dept.log TABLES=scott.dept table_exists_action = replace


▼その他

alter system set wallet open identified by oracle;


▼その他
Pages set 100 
Num set 20 
Session set nls_date_format='yyyy-mm-dd hh24:mi:ss'alter; 
Info.html spool 
Select * from dba_external_tables order by 1,2; 
Select * from dba_objects where object_name like'ET$%'; 
Select * dba_datapump_jobs from where job_name not like'BIN$%'order by 1, 2; 
Select o.status, ID O.object_id, type O.object_type, o.owner ||. || object name "OWNER.OBJECT" from DBA objects O and DBA Dba_datapump_jobs jobs where j = o.owner J.owner_name name and O.object_name name = J.job_name name and name J.job_name not like'BIN$%'order by 4. 2. 
Off spool 
Exit 


▼ジョブ制御
STOP_JOB
KILL_JOB

 


▼統計収集
BEGIN
 --スキーマ単位の収集
 DBMS_STATS.GATHER_SCHEMA_STATS (
   OWNNAME => 'SCOTT'
  ,OPTIONS => 'GATHER'
 );
END;
/

CREATE TABLESPACE TEST1     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX1.DBF'SIZE 100k;
CREATE TABLESPACE TEST2     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX2.DBF'SIZE 100k;
CREATE TABLESPACE TEST3     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX3.DBF'SIZE 100k;
CREATE TABLESPACE TEST4     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX4.DBF'SIZE 100k;
CREATE TABLESPACE TEST5     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX5.DBF'SIZE 100k;
CREATE TABLESPACE TEST6     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX6.DBF'SIZE 100k;
CREATE TABLESPACE TEST7     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX7.DBF'SIZE 100k;
CREATE TABLESPACE TEST8     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX8.DBF'SIZE 100k;
CREATE TABLESPACE TEST9     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX9.DBF'SIZE 100k;
CREATE TABLESPACE TEST10     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX10.DBF'SIZE 100k;
CREATE TABLESPACE TEST11     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX11.DBF'SIZE 100k;
CREATE TABLESPACE TEST12     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX12.DBF'SIZE 100k;
CREATE TABLESPACE TEST13     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX13.DBF'SIZE 100k;
CREATE TABLESPACE TEST14     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX14.DBF'SIZE 100k;
CREATE TABLESPACE TEST15     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX15.DBF'SIZE 100k;
CREATE TABLESPACE TEST16     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX16.DBF'SIZE 100k;
CREATE TABLESPACE TEST17     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX17.DBF'SIZE 100k;
CREATE TABLESPACE TEST18     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX18.DBF'SIZE 100k;
CREATE TABLESPACE TEST19     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX19.DBF'SIZE 100k;
CREATE TABLESPACE TEST20     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX20.DBF'SIZE 100k;
CREATE TABLESPACE TEST21     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX21.DBF'SIZE 100k;
CREATE TABLESPACE TEST22     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX22.DBF'SIZE 100k;
CREATE TABLESPACE TEST23     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX23.DBF'SIZE 100k;
CREATE TABLESPACE TEST24     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX24.DBF'SIZE 100k;
CREATE TABLESPACE TEST25     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX25.DBF'SIZE 100k;
CREATE TABLESPACE TEST26     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX26.DBF'SIZE 100k;
CREATE TABLESPACE TEST27     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX27.DBF'SIZE 100k;
CREATE TABLESPACE TEST28     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX28.DBF'SIZE 100k;
CREATE TABLESPACE TEST29     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX29.DBF'SIZE 100k;
CREATE TABLESPACE TEST30     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX30.DBF'SIZE 100k;
CREATE TABLESPACE TEST31     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX31.DBF'SIZE 100k;
CREATE TABLESPACE TEST32     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX32.DBF'SIZE 100k;
CREATE TABLESPACE TEST33     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX33.DBF'SIZE 100k;
CREATE TABLESPACE TEST34     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX34.DBF'SIZE 100k;
CREATE TABLESPACE TEST35     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX35.DBF'SIZE 100k;
CREATE TABLESPACE TEST36     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX36.DBF'SIZE 100k;
CREATE TABLESPACE TEST37     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX37.DBF'SIZE 100k;
CREATE TABLESPACE TEST38     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX38.DBF'SIZE 100k;
CREATE TABLESPACE TEST39     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX39.DBF'SIZE 100k;
CREATE TABLESPACE TEST40     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX40.DBF'SIZE 100k;
CREATE TABLESPACE TEST41     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX41.DBF'SIZE 100k;
CREATE TABLESPACE TEST42     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX42.DBF'SIZE 100k;
CREATE TABLESPACE TEST43     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX43.DBF'SIZE 100k;
CREATE TABLESPACE TEST44     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX44.DBF'SIZE 100k;
CREATE TABLESPACE TEST45     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX45.DBF'SIZE 100k;
CREATE TABLESPACE TEST46     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX46.DBF'SIZE 100k;
CREATE TABLESPACE TEST47     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX47.DBF'SIZE 100k;
CREATE TABLESPACE TEST48     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX48.DBF'SIZE 100k;
CREATE TABLESPACE TEST49     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX49.DBF'SIZE 100k;
CREATE TABLESPACE TEST50     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX50.DBF'SIZE 100k;
CREATE TABLESPACE TEST51     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX51.DBF'SIZE 100k;
CREATE TABLESPACE TEST52     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX52.DBF'SIZE 100k;
CREATE TABLESPACE TEST53     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX53.DBF'SIZE 100k;
CREATE TABLESPACE TEST54     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX54.DBF'SIZE 100k;
CREATE TABLESPACE TEST55     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX55.DBF'SIZE 100k;
CREATE TABLESPACE TEST56     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX56.DBF'SIZE 100k;
CREATE TABLESPACE TEST57     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX57.DBF'SIZE 100k;
CREATE TABLESPACE TEST58     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX58.DBF'SIZE 100k;
CREATE TABLESPACE TEST59     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX59.DBF'SIZE 100k;
CREATE TABLESPACE TEST60     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX60.DBF'SIZE 100k;
CREATE TABLESPACE TEST61     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX61.DBF'SIZE 100k;
CREATE TABLESPACE TEST62     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX62.DBF'SIZE 100k;
CREATE TABLESPACE TEST63     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX63.DBF'SIZE 100k;
CREATE TABLESPACE TEST64     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX64.DBF'SIZE 100k;
CREATE TABLESPACE TEST65     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX65.DBF'SIZE 100k;
CREATE TABLESPACE TEST66     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX66.DBF'SIZE 100k;
CREATE TABLESPACE TEST67     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX67.DBF'SIZE 100k;
CREATE TABLESPACE TEST68     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX68.DBF'SIZE 100k;
CREATE TABLESPACE TEST69     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX69.DBF'SIZE 100k;
CREATE TABLESPACE TEST70     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX70.DBF'SIZE 100k;
CREATE TABLESPACE TEST71     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX71.DBF'SIZE 100k;
CREATE TABLESPACE TEST72     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX72.DBF'SIZE 100k;
CREATE TABLESPACE TEST73     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX73.DBF'SIZE 100k;
CREATE TABLESPACE TEST74     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX74.DBF'SIZE 100k;
CREATE TABLESPACE TEST75     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX75.DBF'SIZE 100k;
CREATE TABLESPACE TEST76     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX76.DBF'SIZE 100k;
CREATE TABLESPACE TEST77     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX77.DBF'SIZE 100k;
CREATE TABLESPACE TEST78     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX78.DBF'SIZE 100k;
CREATE TABLESPACE TEST79     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX79.DBF'SIZE 100k;
CREATE TABLESPACE TEST80     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX80.DBF'SIZE 100k;
CREATE TABLESPACE TEST81     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX81.DBF'SIZE 100k;
CREATE TABLESPACE TEST82     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX82.DBF'SIZE 100k;
CREATE TABLESPACE TEST83     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX83.DBF'SIZE 100k;
CREATE TABLESPACE TEST84     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX84.DBF'SIZE 100k;
CREATE TABLESPACE TEST85     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX85.DBF'SIZE 100k;
CREATE TABLESPACE TEST86     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX86.DBF'SIZE 100k;
CREATE TABLESPACE TEST87     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX87.DBF'SIZE 100k;
CREATE TABLESPACE TEST88     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX88.DBF'SIZE 100k;
CREATE TABLESPACE TEST89     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX89.DBF'SIZE 100k;
CREATE TABLESPACE TEST90     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX90.DBF'SIZE 100k;
CREATE TABLESPACE TEST91     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX91.DBF'SIZE 100k;
CREATE TABLESPACE TEST92     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX92.DBF'SIZE 100k;
CREATE TABLESPACE TEST93     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX93.DBF'SIZE 100k;
CREATE TABLESPACE TEST94     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX94.DBF'SIZE 100k;
CREATE TABLESPACE TEST95     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX95.DBF'SIZE 100k;
CREATE TABLESPACE TEST96     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX96.DBF'SIZE 100k;
CREATE TABLESPACE TEST97     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX97.DBF'SIZE 100k;
CREATE TABLESPACE TEST98     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX98.DBF'SIZE 100k;
CREATE TABLESPACE TEST99     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX99.DBF'SIZE 100k;
CREATE TABLESPACE TEST100     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX100.DBF'SIZE 100k;
CREATE TABLESPACE TEST101     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX101.DBF'SIZE 100k;
CREATE TABLESPACE TEST102     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX102.DBF'SIZE 100k;
CREATE TABLESPACE TEST103     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX103.DBF'SIZE 100k;
CREATE TABLESPACE TEST104     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX104.DBF'SIZE 100k;
CREATE TABLESPACE TEST105     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX105.DBF'SIZE 100k;
CREATE TABLESPACE TEST106     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX106.DBF'SIZE 100k;
CREATE TABLESPACE TEST107     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX107.DBF'SIZE 100k;
CREATE TABLESPACE TEST108     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX108.DBF'SIZE 100k;
CREATE TABLESPACE TEST109     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX109.DBF'SIZE 100k;
CREATE TABLESPACE TEST110     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX110.DBF'SIZE 100k;
CREATE TABLESPACE TEST111     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX111.DBF'SIZE 100k;
CREATE TABLESPACE TEST112     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX112.DBF'SIZE 100k;
CREATE TABLESPACE TEST113     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX113.DBF'SIZE 100k;
CREATE TABLESPACE TEST114     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX114.DBF'SIZE 100k;
CREATE TABLESPACE TEST115     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX115.DBF'SIZE 100k;
CREATE TABLESPACE TEST116     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX116.DBF'SIZE 100k;
CREATE TABLESPACE TEST117     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX117.DBF'SIZE 100k;
CREATE TABLESPACE TEST118     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX118.DBF'SIZE 100k;
CREATE TABLESPACE TEST119     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX119.DBF'SIZE 100k;
CREATE TABLESPACE TEST120     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX120.DBF'SIZE 100k;
CREATE TABLESPACE TEST121     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX121.DBF'SIZE 100k;
CREATE TABLESPACE TEST122     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX122.DBF'SIZE 100k;
CREATE TABLESPACE TEST123     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX123.DBF'SIZE 100k;
CREATE TABLESPACE TEST124     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX124.DBF'SIZE 100k;
CREATE TABLESPACE TEST125     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX125.DBF'SIZE 100k;
CREATE TABLESPACE TEST126     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX126.DBF'SIZE 100k;
CREATE TABLESPACE TEST127     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX127.DBF'SIZE 100k;
CREATE TABLESPACE TEST128     datafile 'F:\APP\ADMIN\ORADATA\O11203\XXX128.DBF'SIZE 100k;
SQL>
SQL> select count(*) from V$datafile;

  COUNT(*)
----------
       128
SQL>
SQL>
SQL>
SQL>
SQL>
backup database filesperset = 130;

記事一覧まとめ

TDE環境を構成して列暗号化を実行してみようぜ!!
http://yoshiyatam.hatenablog.com/entry/2017/03/16/150429


WLSにデプロイしたアプリにtelnetからHTTPリクエストを送れる環境を作っちゃおうぜ
http://yoshiyatam.hatenablog.com/entry/2017/03/16/150314


RMANのバックアップ保存数設定について
http://yoshiyatam.hatenablog.com/entry/2017/03/16/150152


DBに1000セッション張って負荷を確認してみようぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/150050


手動によるCREATE DATABASEとDROP DATABASEの実行やってみようぜ!!
http://yoshiyatam.hatenablog.com/entry/2017/03/16/145644


愛しのSCOTTさんを3秒で作成しちゃおうぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/145358


愛しのSCOOTさんのEMPテーブルに100万行挿入しよう!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/145309


12cでOracle Restart環境(ASM)を作っちゃおうぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/145217


Enterprise Manager Express 12cで遊んでみようぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/144822


■ASMCMDで遊んでみようぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/144656


WLS小技
http://yoshiyatam.hatenablog.com/entry/2017/03/16/144538


Oracleのバッググラウンドプロセスをぶっこ●しちゃおうぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/144352


DBMS_METADATA.GET_DDL
http://yoshiyatam.hatenablog.com/entry/2017/03/16/144103


リスナーログを4GBにしようぜ!!
http://yoshiyatam.hatenablog.com/entry/2017/03/16/143434


code tips サルベージ
http://yoshiyatam.hatenablog.com/entry/2017/03/16/143338


ORA-00845 備忘録
http://yoshiyatam.hatenablog.com/entry/2017/03/16/143308


datapump 備忘録
http://yoshiyatam.hatenablog.com/entry/2017/03/16/143218


nchar文字列をsqldeveloperで
http://yoshiyatam.hatenablog.com/entry/2017/03/16/143116


[繰り返しSELECT]
http://yoshiyatam.hatenablog.com/entry/2017/03/16/143003


Standard Edition 2
http://yoshiyatam.hatenablog.com/entry/2017/03/16/142903


Oracleのマニュアル確認方法
http://yoshiyatam.hatenablog.com/entry/2017/03/16/142613


各Enterprise Managerで利用可能な機能やライセンス
http://yoshiyatam.hatenablog.com/entry/2017/03/16/142531


WLSTでデータソース作ろうぜ!!の巻
http://yoshiyatam.hatenablog.com/entry/2017/03/16/142437


ADRCI
http://yoshiyatam.hatenablog.com/entry/2017/03/16/142337


フラッシュバックドロップ機能について
http://yoshiyatam.hatenablog.com/entry/2017/03/16/142141


sql*plusにワンステップでログインせず、/nologする理由
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141903


12C TDE
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141800


チェックリスト
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141654


Linux Error 一覧
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141518


リスナーのサービス登録備忘録
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141419


sqlldr備忘録
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141257


Datarguard環境 スイッチオーバー手順について
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141140


Windows 小技備忘録
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141057


ORACLE SQLやコマンドの備忘録
http://yoshiyatam.hatenablog.com/entry/2017/03/16/141023


JDBC(CTAS編)
http://yoshiyatam.hatenablog.com/entry/2017/03/16/140925


JDBC接続(SELECT編)
http://yoshiyatam.hatenablog.com/entry/2017/03/16/140802


■セグメント縮小について
http://yoshiyatam.hatenablog.com/entry/2017/03/16/140557


■OEL5にてYUMリポジトリを利用する為の設定
http://yoshiyatam.hatenablog.com/entry/2017/03/16/140344

TDE環境を構成して列暗号化を実行してみようぜ!!

※ここで記載した内容は独断と偏見に基づく個人の見解であり、実行しているコマンドや手順も必ずしも正しい手順ではありません。その為、あくまで参考程度にご覧頂ければと思います。

 

今日のテーマは「TDE環境を構成して列暗号化を実行してみようぜ!!」です。

 
(1)SQLNET.ORAを編集しウォレットのロケーションを指定します。
 [oracle@hoge admin]$ cd $ORACLE_HOME/network/admin
 [oracle@hoge admin]$ vi sqlnet.ora
 
 NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
 ADR_BASE = /opt/app/oracle
 ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/app/oracle/product/11.2.0/dbhome_1)))
 
(2)上記の変更を反映させる為、リスナーの再起動を行います。
 [oracle@hoge admin]$ lsnrctl stop
 [oracle@hoge admin]$ lsnrctl start
 
(3)ウォレットの状態を確認してみましょう。
 SQL> select * from v$encryption_wallet;
 
 WRL_TYPE
 --------------------
 WRL_PARAMETER
 --------------------------------------------------------------------------------
 STATUS
 ------------------
 file
 /opt/app/oracle/product/11.2.0/dbhome_1
 CLOSED <-★
 
(4)マスター暗号鍵を作成します。
 SQL> ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "oracle";
 System altered.
 
(5)ウォレットの状態を確認してみましょう。
 SQL> select * from v$encryption_wallet;
 
 WRL_TYPE
 --------------------
 WRL_PARAMETER
 --------------------------------------------------------------------------------
 STATUS
 ------------------
 file
 /opt/app/oracle/product/11.2.0/dbhome_1
 OPEN <-★
 
(6)ウォレットは(1)の手順で指定したロケーションに作成されています
 [oracle@hoge dbhome_1]$ cd $ORACLE_HOME
 [oracle@hoge dbhome_1]$ ls -l ewallet*
 -rw-r--r-- 1 oracle oinstall 1573 10月 15 00:31 ewallet.p12 <-★
 
(7)orapkiコマンドでウォレットの中身を確認するとマスター暗号鍵やその履歴情報が格納されていることが確認出来ます。別途orapkiコマンドで証明書を格納することなどもできます。
 [oracle@hoge dbhome_1]$ orapki wallet display -wallet $ORACLE_HOME
 Oracle PKI Tool: バージョン11.2.0.1.0 - Production
 Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.
 
 ウォレット・パスワードを入力してください:
 
 Requested Certificates:
 Subject: CN=oracle
 User Certificates:
 Oracle Secret Storeエントリ:
 ORACLE.SECURITY.DB.ENCRYPTION.Aa/jngYPWU+0v8KbPdZWm8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 ORACLE.SECURITY.DB.ENCRYPTION.Aa4ut+DI3E8+vzAR7uAf7IMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 ORACLE.SECURITY.DB.ENCRYPTION.AainTOjpEk8kv+ge1HK0ntMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 ORACLE.SECURITY.DB.ENCRYPTION.AarmRRTpwU9bv/C5KqqkfEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 ORACLE.SECURITY.DB.ENCRYPTION.AaSRmegJck/Fv4H1kdNyp7EAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 ORACLE.SECURITY.DB.ENCRYPTION.AaVinRvIb0/dv0DzjbfY1g8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 Trusted Certificates:
 
(8)SCOTT先輩のDEPT表のDNAME列を暗号化してみましょう
 SQL>
 SQL> ALTER TABLE SCOTT.DEPT MODIFY (DNAME ENCRYPT NO SALT);
 
 Table altered.
 
(9)表定義を確認し、DNAME列が暗号化されていることを確認しましょう
 SQL> desc scott.dept
  Name Null? Type
  ----------------------------------------- -------- ----------------------------
  DEPTNO NOT NULL NUMBER(2)
  DNAME VARCHAR2(14) ENCRYPT <-★
  LOC VARCHAR2(13)
 
(10)ウォレットをクローズしましょう
 SQL> ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY oracle;
 
 System altered.
 
(11)ウォレットがクローズした状態で列暗号化が実施されている表にアクセスすると下記エラー
 SQL> select * from scott.dept;
 select * from scott.dept
 *
 ERROR at line 1:
 ORA-28365: wallet is not open
 
(12)明示的にウォレットをオープンしてあげると列暗号化が実施されている表へアクセスできます。
 SQL> ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "oracle";
 
 System altered.
 SQL>
 SQL> select * from scott.dept;
 
  DEPTNO DNAME LOC
 ---------- -------------- -------------
  10 ACCOUNTING NEW YORK
  20 RESEARCH DALLAS
  30 SALES CHICAGO
  40 OPERATIONS BOSTON

WLSにデプロイしたアプリにtelnetからHTTPリクエストを送れる環境を作っちゃおうぜ

※ここで記載した内容は独断と偏見に基づく個人の見解であり、実行しているコマンドや手順も必ずしも正しい手順ではありません。その為、あくまで参考程度にご覧頂ければと思います。

 

今日のテーマは少し長いですが「WLSにデプロイしたアプリにtelnetからHTTPリクエストを送れる環境を作っちゃおうぜ」です。


(1)telnetのクライアントをインストールします。
 [root@oel7 oracle]# yum -y install telnet telnet
 読み込んだプラグイン:langpacks
 依存性の解決をしています
 --> トランザクションの確認を実行しています。
 ---> パッケージ telnet.x86_64 1:0.17-59.el7 を インストール
 --> 依存性解決を終了しました。
 
 依存性を解決しました
 
 ================================================================================
  Package アーキテクチャ
  バージョン リポジトリー 容量
 ================================================================================
 インストール中:
  telnet x86_64 1:0.17-59.el7 ol7_latest 62 k
 
 トランザクションの要約
 ================================================================================
 インストール 1 パッケージ
 
 総ダウンロード容量: 62 k
 インストール容量: 113 k
 Downloading packages:
 telnet-0.17-59.el7.x86_64.rpm | 62 kB 00:01
 Running transaction check
 Running transaction test
 Transaction test succeeded
 Running transaction
  インストール中 : 1:telnet-0.17-59.el7.x86_64 1/1
  検証中 : 1:telnet-0.17-59.el7.x86_64 1/1
 
 インストール:
  telnet.x86_64 1:0.17-59.el7
 
 完了しました!
 
(2)telnetサーバーをインストールします。
 [root@oel7 oracle]# yum install telnet-server
 読み込んだプラグイン:langpacks
 依存性の解決をしています
 --> トランザクションの確認を実行しています。
 ---> パッケージ telnet-server.x86_64 1:0.17-59.el7 を インストール
 --> 依存性解決を終了しました。
 
 依存性を解決しました
 
 ================================================================================
  Package アーキテクチャ
  バージョン リポジトリー 容量
 ================================================================================
 インストール中:
  telnet-server x86_64 1:0.17-59.el7 ol7_latest 39 k
 
 トランザクションの要約
 ================================================================================
 インストール 1 パッケージ
 
 総ダウンロード容量: 39 k
 インストール容量: 55 k
 Is this ok [y/d/N]: y
 Downloading packages:
 telnet-server-0.17-59.el7.x86_64.rpm | 39 kB 00:00
 Running transaction check
 Running transaction test
 Transaction test succeeded
 Running transaction
  インストール中 : 1:telnet-server-0.17-59.el7.x86_64 1/1
  検証中 : 1:telnet-server-0.17-59.el7.x86_64 1/1
 
 インストール:
  telnet-server.x86_64 1:0.17-59.el7
 
 完了しました!
 
(3)ファイヤウォールの設定を変更します。(接続を許可するネットワークセグメントなどは環境にあわせて変えます)
 [root@oel7 oracle]#
 [root@oel7 oracle]# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="telnet" log prefix="telnet" level="info" limit value="1/m" accept'
 success
 
(4)telnetサービスの起動ならびに有効化
 [root@oel7 oracle]# systemctl start telnet.socket
 [root@oel7 oracle]# systemctl enable telnet.socket
 
(5)WLSに適当なアプリケーションを任意の方法でデプロイします
 
(6)デプロイしたアプリを起動します。
 
(7)デプロイしたアプリケーションのコンテンツにHTTPリクエストを送りましょう。
 
 ▼下記、GETリクエストを送る例。レスポンスコードは200で成功
 [oracle@oel7 abc]$ telnet 192.168.1.8 7001
 Trying 192.168.1.8...
 Connected to 192.168.1.8.
 Escape character is '^]'.
 GET /hi.html HTTP/1.0
 
 HTTP/1.1 200 OK
 Connection: close
 Date: Thu, 22 Oct 2015 15:02:08 GMT
 Content-Length: 5
 Content-Type: text/html
 Last-Modified: Thu, 22 Oct 2015 14:43:12 GMT
 X-Powered-By: Servlet/3.0 JSP/2.2
 
 hi!!
 Connection closed by foreign host.
 
→最初のHTTP/1.1 200 OKはHTTPプロトコル転送で成功した事を意味します。
その後レスポンスヘッダーの情報が出力され最後にコンテンツのソースが表示されます。

RMANのバックアップ保存数設定について

■今回の検証概要

DBを運用するにあたってのバックアップ取得方法は、Oracleが提供するRMANを使った方法、OSのコピーコマンド、ストレージのシャドウコピーを使用した方法など多岐に渡ります。
 
今回はOracle社の推奨のバックアップ・リカバリツールであるRMANに焦点をあてバックアップの取得、保存ポリシーの設定、バックアップの自動削除について検証していきます。
 
計30分程で適当に検証・記述した内容なので考慮不足や誤りなども多々あるかと思いますが、何か気づいた点などあればお気軽にご指摘・ご意見頂ければと思います。

 
■検証環境
 
 OS:Oracle Enterprise Linux 5.8(x86_64)
 DB:Oracle Database 11.2.0.1
 シングル環境
 
■いざ、検証


(0)バックアップ取得先の空き容量の確認。
10g以降だとバックアップのデフォルトの保存先はフラッシュリカバリ領域(11gr2以降だと高速リカバリ領域へと名称変更)となっています。また、割り当て済みの容量や使用済み領域は以下SQLで確認できます。
 
 SQL> select * from V$recovery_file_dest;
 
 NAME
 --------------------------------------------------------------------------------
 SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
 ----------- ---------- ----------------- ---------------
 /opt/app/oracle/flash_recovery_area
  1.0737E+10 2944053760 900995072 24
 
 
 [SPACE_LIMIT列]:使用可能な容量を示す
 [SPACE_USERD列]:使用済み容量を示す


(1)OSターミナルからRMANに接続します。
 [oracle@hoge ~]$ rman target /
 Recovery Manager: Release 11.2.0.1.0 - Production on Sat Sep 26 14:02:57 2015
 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
 connected to target database: O11201 (DBID=373218561)
 

※上記は、RMANリカバリカタログに制御ファイル指定して接続しています。余り一般的ではありませんがリカバリカタログにカタログDBを指定する場合は別途手順が必要です。

 
(2)現状のバックアップ取得状況を確認します。
 RMAN> list backup;
 using target database control file instead of recovery catalog
 specification does not match any backup in the repository
 
※上記の出力はリカバリカタログとなる制御ファイル内にバックアップが存在していない(登録されていない)事を表します。

 
(3)RMANの永続設定を確認します。
 RMAN> show all;
 RMAN configuration parameters for database with db_unique_name O11201 are:
 CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
 CONFIGURE BACKUP OPTIMIZATION OFF; # default
 CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
 CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
 CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
 CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
 CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
 CONFIGURE MAXSETSIZE TO UNLIMITED; # default
 CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
 CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
 CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
 CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/opt/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_o11201.f'; # default
 
※上記がRMANの設定項目となります。「#default」となっている項目がデフォルトの設定となります。各項目の詳細などはマニュアルを参照下さい。


(4)試しにRMANの永続設定に冗長3を設定してみましょう。

 RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
 new RMAN configuration parameters:
 CONFIGURE RETENTION POLICY TO REDUNDANCY 3;
 new RMAN configuration parameters are successfully stored
 
 ※上記のように設定すると3世代のバックアップが保存される様になります。


(5)それではDBのフルバックアップを取得してみましょう。
 RMAN> backup database;
 Starting backup at 26-SEP-15
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=90 device type=DISK
 channel ORA_DISK_1: starting full datafile backup set
 channel ORA_DISK_1: specifying datafile(s) in backup set
 input datafile file number=00001 name=/opt/app/oracle/oradata/o11201/system01.dbf
 input datafile file number=00002 name=/opt/app/oracle/oradata/o11201/sysaux01.dbf
 input datafile file number=00005 name=/opt/app/oracle/oradata/o11201/example01.dbf
 input datafile file number=00003 name=/opt/app/oracle/oradata/o11201/undotbs01.dbf
 input datafile file number=00004 name=/opt/app/oracle/oradata/o11201/users01.dbf
 channel ORA_DISK_1: starting piece 1 at 26-SEP-15
 channel ORA_DISK_1: finished piece 1 at 26-SEP-15
 piece handle=/opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_nnndf_TAG20150926T143700_c0dcqwq5_.bkp tag=TAG20150926T143700 comment=NONE
 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45
 channel ORA_DISK_1: starting full datafile backup set
 channel ORA_DISK_1: specifying datafile(s) in backup set
 including current control file in backup set
 including current SPFILE in backup set
 channel ORA_DISK_1: starting piece 1 at 26-SEP-15
 channel ORA_DISK_1: finished piece 1 at 26-SEP-15
 piece handle=/opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T143700_c0dcsbvh_.bkp tag=TAG20150926T143700 comment=NONE
 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
 Finished backup at 26-SEP-15

 
(6)次にアーカイブログのバックアップを取得しましょう。
 
 RMAN> backup archivelog all;
 Starting backup at 26-SEP-15
 current log archived
 using target database control file instead of recovery catalog
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=177 device type=DISK
 channel ORA_DISK_1: starting archived log backup set
 channel ORA_DISK_1: specifying archived log(s) in backup set
 input archived log thread=1 sequence=7 RECID=1 STAMP=891437931
 input archived log thread=1 sequence=8 RECID=2 STAMP=891441940
 input archived log thread=1 sequence=9 RECID=3 STAMP=891441952
 input archived log thread=1 sequence=10 RECID=4 STAMP=891441964
 input archived log thread=1 sequence=11 RECID=5 STAMP=891441976
 input archived log thread=1 sequence=12 RECID=6 STAMP=891441988
 input archived log thread=1 sequence=13 RECID=7 STAMP=891442001
 input archived log thread=1 sequence=14 RECID=8 STAMP=891442013
 input archived log thread=1 sequence=15 RECID=9 STAMP=891442026
 input archived log thread=1 sequence=16 RECID=10 STAMP=891442038
 input archived log thread=1 sequence=17 RECID=11 STAMP=891442052
 input archived log thread=1 sequence=18 RECID=12 STAMP=891442065
 input archived log thread=1 sequence=19 RECID=13 STAMP=891442077
 input archived log thread=1 sequence=20 RECID=14 STAMP=891442085
 input archived log thread=1 sequence=21 RECID=15 STAMP=891442089
 input archived log thread=1 sequence=22 RECID=16 STAMP=891442093
 input archived log thread=1 sequence=23 RECID=17 STAMP=891442098
 input archived log thread=1 sequence=24 RECID=18 STAMP=891442103
 input archived log thread=1 sequence=25 RECID=19 STAMP=891442109
 input archived log thread=1 sequence=26 RECID=20 STAMP=891443754
 channel ORA_DISK_1: starting piece 1 at 26-SEP-15
 channel ORA_DISK_1: finished piece 1 at 26-SEP-15
 piece handle=/opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_annnn_TAG20150926T151555_c0dg0vl5_.bkp tag=TAG20150926T151555 comment=NONE
 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:55
 Finished backup at 26-SEP-15
 
※上記コマンドでは、単純にアーカイブログのバックアップのみです。通常はオプションを指定しバックアップ取得後、カレントのアーカイブは削除する様にします。

 
(7)取得したバックアップを確認しましょう。
 
以下の結果よりデータベースのフルバックアップ+αが取得された事が確認出来ますね。内訳としては[全てのデータファイル][制御ファイル][SPファイル][アーカイブログ]のバックアップとなります。オンラインREDOログは含まれませんが上記のみで障害発生時にも障害発生直前の時点まで復旧可能です。リカバリ時にオンラインREDOは再作成されます。
 
 
 RMAN> list backup;
 List of Backup Sets
 ===================
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 2 Full 1.01G DISK 00:00:40 26-SEP-15
  BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20150926T143700
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_nnndf_TAG20150926T143700_c0dcqwq5_.bkp
  List of Datafiles in backup set 2
  File LV Type Ckp SCN Ckp Time Name
  ---- -- ---- ---------- --------- ----
  1 Full 1068506 26-SEP-15 /opt/app/oracle/oradata/o11201/system01.dbf <-★
  2 Full 1068506 26-SEP-15 /opt/app/oracle/oradata/o11201/sysaux01.dbf <-★
  3 Full 1068506 26-SEP-15 /opt/app/oracle/oradata/o11201/undotbs01.dbf<-★
  4 Full 1068506 26-SEP-15 /opt/app/oracle/oradata/o11201/users01.dbf <-★
  5 Full 1068506 26-SEP-15 /opt/app/oracle/oradata/o11201/example01.dbf<-★
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 3 Full 9.36M DISK 00:00:02 26-SEP-15
  BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20150926T143700
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T143700_c0dcsbvh_.bkp
  SPFILE Included<-★: Modification time: 26-SEP-15
  SPFILE db_unique_name: O11201
  Control File Included<-★: Ckp SCN: 1068543 Ckp time: 26-SEP-15
 
 BS Key Size Device Type Elapsed Time Completion Time
 ------- ---------- ----------- ------------ ---------------
 4 859.26M DISK 00:00:48 26-SEP-15
  BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20150926T151555
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_annnn_TAG20150926T151555_c0dg0vl5_.bkp
 
  List of Archived Logs in backup set 4 <-★
  Thrd Seq Low SCN Low Time Next SCN Next Time
  ---- ------- ---------- --------- ---------- ---------
  1 7 1058806 03-SEP-15 1066264 26-SEP-15
  1 8 1066264 26-SEP-15 1070853 26-SEP-15
  1 9 1070853 26-SEP-15 1073090 26-SEP-15
  1 10 1073090 26-SEP-15 1075254 26-SEP-15
  1 11 1075254 26-SEP-15 1077415 26-SEP-15
  1 12 1077415 26-SEP-15 1079588 26-SEP-15
  1 13 1079588 26-SEP-15 1081937 26-SEP-15
  1 14 1081937 26-SEP-15 1084102 26-SEP-15
  1 15 1084102 26-SEP-15 1086291 26-SEP-15
  1 16 1086291 26-SEP-15 1088448 26-SEP-15
  1 17 1088448 26-SEP-15 1090611 26-SEP-15
  1 18 1090611 26-SEP-15 1092777 26-SEP-15
  1 19 1092777 26-SEP-15 1094652 26-SEP-15
  1 20 1094652 26-SEP-15 1095361 26-SEP-15
  1 21 1095361 26-SEP-15 1095925 26-SEP-15
  1 22 1095925 26-SEP-15 1096475 26-SEP-15
  1 23 1096475 26-SEP-15 1097023 26-SEP-15
  1 24 1097023 26-SEP-15 1097578 26-SEP-15
  1 25 1097578 26-SEP-15 1098133 26-SEP-15
  1 26 1098133 26-SEP-15 1100006 26-SEP-15
 
※データファイルのバックアップが[TAG20150926T143700]です。制御ファイルとSPファイルのバックアップが[TAG20150926T143700]、アーカイブのバックアップが[TAG20150926T151555]となります。

 
(8)DBへの更新、並びにバックアップ取得を05回実行します。
 
以下の様な簡単な「無名PL/SQLブロック」などを使用してDBへの更新を行います。その後フルバックアップ、アーカイブログのバックアップを実行します。順にそれぞれ5回実行します。
 
 SQL>
 SQL>ALTER TABLE SCOTT.EMP MODIFY (EMPNO NUMBER(10));
 Table altered.
 SQL>
 SQL>truncate table scott.emp;
  Table truncated.
 SQL>
 SQL>begin
 2 for i in 1..100000 loop
 3 insert into scott.emp (empno,ename,job,mgr,hiredate,sal,comm,deptno)
 4 values (i,DBMS_RANDOM.STRING('p',8),null,null,sysdate,null,null,null);
 5 end loop;
 6 commit;
 7 end;
 8 /
 PL/SQL procedure successfully completed.
 SQL>
 RMAN>
 RMAN> backup database;
 
 Starting backup at 26-SEP-15
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=90 device type=DISK
 channel ORA_DISK_1: starting full datafile backup set
 channel ORA_DISK_1: specifying datafile(s) in backup set
 input datafile file number=00001 name=/opt/app/oracle/oradata/o11201/system01.dbf
 input datafile file number=00002 name=/opt/app/oracle/oradata/o11201/sysaux01.dbf
 input datafile file number=00003 name=/opt/app/oracle/oradata/o11201/undotbs01.dbf
 input datafile file number=00005 name=/opt/app/oracle/oradata/o11201/example01.dbf
 input datafile file number=00004 name=/opt/app/oracle/oradata/o11201/users01.dbf
 channel ORA_DISK_1: starting piece 1 at 26-SEP-15
 channel ORA_DISK_1: finished piece 1 at 26-SEP-15
 piece handle=/opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_nnndf_TAG20150926T154053_c0dhholx_.bkp tag=TAG20150926T154053 comment=NONE
 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:55
 channel ORA_DISK_1: starting full datafile backup set
 channel ORA_DISK_1: specifying datafile(s) in backup set
 including current control file in backup set
 including current SPFILE in backup set
 channel ORA_DISK_1: starting piece 1 at 26-SEP-15
 channel ORA_DISK_1: finished piece 1 at 26-SEP-15
 piece handle=/opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T154053_c0dhkfs5_.bkp tag=TAG20150926T154053 comment=NONE
 channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
 Finished backup at 26-SEP-15
 ・・
 <※長くなるので省略※>
 ・・
 ・・
 
 
(9)DBへの更新、フルバックアップ取得、アーカイブログのバックアップ取得の順でそれぞれ5回実行が終わりました。取得後の結果を確認してみましょう。今回は[list backup]とあわせて、[list backup summary]の結果も確認します。

 
 RMAN> list backup;
 List of Backup Sets
 ===================
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 6 Full 9.36M DISK 00:00:02 26-SEP-15
  BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20150926T154053 <-★2回目に取得したフルBKP(SPファイルと制御ファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T154053_c0dhkfs5_.bkp
  SPFILE Included: Modification time: 26-SEP-15
  SPFILE db_unique_name: O11201
  Control File Included: Ckp SCN: 1104166 Ckp time: 26-SEP-15
 
 BS Key Size Device Type Elapsed Time Completion Time
 ------- ---------- ----------- ------------ ---------------
 7 913.80M DISK 00:00:51 26-SEP-15
  BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20150926T154208 <-★2回目に取得したアーカイブログBKP
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_annnn_TAG20150926T154208_c0dhl14p_.bkp
 
  List of Archived Logs in backup set 7
  Thrd Seq Low SCN Low Time Next SCN Next Time
  ---- ------- ---------- --------- ---------- ---------
  1 7 1058806 03-SEP-15 1066264 26-SEP-15
  1 8 1066264 26-SEP-15 1070853 26-SEP-15
  1 9 1070853 26-SEP-15 1073090 26-SEP-15
  1 10 1073090 26-SEP-15 1075254 26-SEP-15
  1 11 1075254 26-SEP-15 1077415 26-SEP-15
  1 12 1077415 26-SEP-15 1079588 26-SEP-15
  1 13 1079588 26-SEP-15 1081937 26-SEP-15
  1 14 1081937 26-SEP-15 1084102 26-SEP-15
  1 15 1084102 26-SEP-15 1086291 26-SEP-15
  1 16 1086291 26-SEP-15 1088448 26-SEP-15
  1 17 1088448 26-SEP-15 1090611 26-SEP-15
  1 18 1090611 26-SEP-15 1092777 26-SEP-15
  1 19 1092777 26-SEP-15 1094652 26-SEP-15
  1 20 1094652 26-SEP-15 1095361 26-SEP-15
  1 21 1095361 26-SEP-15 1095925 26-SEP-15
  1 22 1095925 26-SEP-15 1096475 26-SEP-15
  1 23 1096475 26-SEP-15 1097023 26-SEP-15
  1 24 1097023 26-SEP-15 1097578 26-SEP-15
  1 25 1097578 26-SEP-15 1098133 26-SEP-15
  1 26 1098133 26-SEP-15 1100006 26-SEP-15
  1 27 1100006 26-SEP-15 1102432 26-SEP-15
  1 28 1102432 26-SEP-15 1104188 26-SEP-15
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 8 Full 1.17G DISK 00:00:59 26-SEP-15
  BP Key: 8 Status: AVAILABLE Compressed: NO Tag: TAG20150926T154536 <-★3回目に取得したフルBKP(データファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_nnndf_TAG20150926T154536_c0dhrnrx_.bkp
  List of Datafiles in backup set 8
  File LV Type Ckp SCN Ckp Time Name
  ---- -- ---- ---------- --------- ----
  1 Full 1107076 26-SEP-15 /opt/app/oracle/oradata/o11201/system01.dbf
  2 Full 1107076 26-SEP-15 /opt/app/oracle/oradata/o11201/sysaux01.dbf
  3 Full 1107076 26-SEP-15 /opt/app/oracle/oradata/o11201/undotbs01.dbf
  4 Full 1107076 26-SEP-15 /opt/app/oracle/oradata/o11201/users01.dbf
  5 Full 1107076 26-SEP-15 /opt/app/oracle/oradata/o11201/example01.dbf
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 9 Full 9.36M DISK 00:00:01 26-SEP-15
  BP Key: 9 Status: AVAILABLE Compressed: NO Tag: TAG20150926T154536 <-★3回目に取得したフルBKP(SPファイルと制御ファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T154536_c0dhtmbz_.bkp
  SPFILE Included: Modification time: 26-SEP-15
  SPFILE db_unique_name: O11201
  Control File Included: Ckp SCN: 1107097 Ckp time: 26-SEP-15
 
 BS Key Size Device Type Elapsed Time Completion Time
 ------- ---------- ----------- ------------ ---------------
 10 966.33M DISK 00:00:51 26-SEP-15
  BP Key: 10 Status: AVAILABLE Compressed: NO Tag: TAG20150926T154814 <-★3回目に取得したアーカイブログBKP
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_annnn_TAG20150926T154814_c0dhxgxs_.bkp
 
  List of Archived Logs in backup set 10
  Thrd Seq Low SCN Low Time Next SCN Next Time
  ---- ------- ---------- --------- ---------- ---------
  1 7 1058806 03-SEP-15 1066264 26-SEP-15
  1 8 1066264 26-SEP-15 1070853 26-SEP-15
  1 9 1070853 26-SEP-15 1073090 26-SEP-15
  1 10 1073090 26-SEP-15 1075254 26-SEP-15
  1 11 1075254 26-SEP-15 1077415 26-SEP-15
  1 12 1077415 26-SEP-15 1079588 26-SEP-15
  1 13 1079588 26-SEP-15 1081937 26-SEP-15
  1 14 1081937 26-SEP-15 1084102 26-SEP-15
  1 15 1084102 26-SEP-15 1086291 26-SEP-15
  1 16 1086291 26-SEP-15 1088448 26-SEP-15
  1 17 1088448 26-SEP-15 1090611 26-SEP-15
  1 18 1090611 26-SEP-15 1092777 26-SEP-15
  1 19 1092777 26-SEP-15 1094652 26-SEP-15
  1 20 1094652 26-SEP-15 1095361 26-SEP-15
  1 21 1095361 26-SEP-15 1095925 26-SEP-15
  1 22 1095925 26-SEP-15 1096475 26-SEP-15
  1 23 1096475 26-SEP-15 1097023 26-SEP-15
  1 24 1097023 26-SEP-15 1097578 26-SEP-15
  1 25 1097578 26-SEP-15 1098133 26-SEP-15
  1 26 1098133 26-SEP-15 1100006 26-SEP-15
  1 27 1100006 26-SEP-15 1102432 26-SEP-15
  1 28 1102432 26-SEP-15 1104188 26-SEP-15
  1 29 1104188 26-SEP-15 1106599 26-SEP-15
  1 30 1106599 26-SEP-15 1107150 26-SEP-15
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 11 Full 1.18G DISK 00:00:49 26-SEP-15
  BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20150926T155216 <-★4回目に取得したフルBKP(データファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_nnndf_TAG20150926T155216_c0dj55q1_.bkp
  List of Datafiles in backup set 11
  File LV Type Ckp SCN Ckp Time Name
  ---- -- ---- ---------- --------- ----
  1 Full 1111200 26-SEP-15 /opt/app/oracle/oradata/o11201/system01.dbf
  2 Full 1111200 26-SEP-15 /opt/app/oracle/oradata/o11201/sysaux01.dbf
  3 Full 1111200 26-SEP-15 /opt/app/oracle/oradata/o11201/undotbs01.dbf
  4 Full 1111200 26-SEP-15 /opt/app/oracle/oradata/o11201/users01.dbf
  5 Full 1111200 26-SEP-15 /opt/app/oracle/oradata/o11201/example01.dbf
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 12 Full 9.36M DISK 00:00:01 26-SEP-15
  BP Key: 12 Status: AVAILABLE Compressed: NO Tag: TAG20150926T155216 <-★4回目に取得したフルBKP(SPファイルと制御ファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T155216_c0dj6s67_.bkp
  SPFILE Included: Modification time: 26-SEP-15
  SPFILE db_unique_name: O11201
  Control File Included: Ckp SCN: 1111223 Ckp time: 26-SEP-15
 
 BS Key Size Device Type Elapsed Time Completion Time
 ------- ---------- ----------- ------------ ---------------
 13 1.02G DISK 00:01:01 26-SEP-15
  BP Key: 13 Status: AVAILABLE Compressed: NO Tag: TAG20150926T155351 <-★4回目に取得したアーカイブログBKP
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_annnn_TAG20150926T155351_c0dj7zcl_.bkp
 
  List of Archived Logs in backup set 13
  Thrd Seq Low SCN Low Time Next SCN Next Time
  ---- ------- ---------- --------- ---------- ---------
  1 7 1058806 03-SEP-15 1066264 26-SEP-15
  1 8 1066264 26-SEP-15 1070853 26-SEP-15
  1 9 1070853 26-SEP-15 1073090 26-SEP-15
  1 10 1073090 26-SEP-15 1075254 26-SEP-15
  1 11 1075254 26-SEP-15 1077415 26-SEP-15
  1 12 1077415 26-SEP-15 1079588 26-SEP-15
  1 13 1079588 26-SEP-15 1081937 26-SEP-15
  1 14 1081937 26-SEP-15 1084102 26-SEP-15
  1 15 1084102 26-SEP-15 1086291 26-SEP-15
  1 16 1086291 26-SEP-15 1088448 26-SEP-15
  1 17 1088448 26-SEP-15 1090611 26-SEP-15
  1 18 1090611 26-SEP-15 1092777 26-SEP-15
  1 19 1092777 26-SEP-15 1094652 26-SEP-15
  1 20 1094652 26-SEP-15 1095361 26-SEP-15
  1 21 1095361 26-SEP-15 1095925 26-SEP-15
  1 22 1095925 26-SEP-15 1096475 26-SEP-15
  1 23 1096475 26-SEP-15 1097023 26-SEP-15
  1 24 1097023 26-SEP-15 1097578 26-SEP-15
  1 25 1097578 26-SEP-15 1098133 26-SEP-15
  1 26 1098133 26-SEP-15 1100006 26-SEP-15
  1 27 1100006 26-SEP-15 1102432 26-SEP-15
  1 28 1102432 26-SEP-15 1104188 26-SEP-15
  1 29 1104188 26-SEP-15 1106599 26-SEP-15
  1 30 1106599 26-SEP-15 1107150 26-SEP-15
  1 31 1107150 26-SEP-15 1109856 26-SEP-15
  1 32 1109856 26-SEP-15 1111251 26-SEP-15
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 14 Full 1.17G DISK 00:01:40 26-SEP-15
  BP Key: 14 Status: AVAILABLE Compressed: NO Tag: TAG20150926T155741 <-★5回目に取得したフルBKP(データファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_nnndf_TAG20150926T155741_c0djh9oj_.bkp
  List of Datafiles in backup set 14
  File LV Type Ckp SCN Ckp Time Name
  ---- -- ---- ---------- --------- ----
  1 Full 1114146 26-SEP-15 /opt/app/oracle/oradata/o11201/system01.dbf
  2 Full 1114146 26-SEP-15 /opt/app/oracle/oradata/o11201/sysaux01.dbf
  3 Full 1114146 26-SEP-15 /opt/app/oracle/oradata/o11201/undotbs01.dbf
  4 Full 1114146 26-SEP-15 /opt/app/oracle/oradata/o11201/users01.dbf
  5 Full 1114146 26-SEP-15 /opt/app/oracle/oradata/o11201/example01.dbf
 
 BS Key Type LV Size Device Type Elapsed Time Completion Time
 ------- ---- -- ---------- ----------- ------------ ---------------
 15 Full 9.36M DISK 00:00:02 26-SEP-15
  BP Key: 15 Status: AVAILABLE Compressed: NO Tag: TAG20150926T155741 <-★5回目に取得したフルBKP(SPファイルと制御ファイル)
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_ncsnf_TAG20150926T155741_c0djlj04_.bkp
  SPFILE Included: Modification time: 26-SEP-15
  SPFILE db_unique_name: O11201
  Control File Included: Ckp SCN: 1114194 Ckp time: 26-SEP-15
 
 BS Key Size Device Type Elapsed Time Completion Time
 ------- ---------- ----------- ------------ ---------------
 16 1.05G DISK 00:01:12 26-SEP-15
  BP Key: 16 Status: AVAILABLE Compressed: NO Tag: TAG20150926T155955 <-★5回目に取得したアーカイブログBKP
  Piece Name: /opt/app/oracle/flash_recovery_area/O11201/backupset/2015_09_26/o1_mf_annnn_TAG20150926T155955_c0djmck2_.bkp
 
  List of Archived Logs in backup set 16
  Thrd Seq Low SCN Low Time Next SCN Next Time
  ---- ------- ---------- --------- ---------- ---------
  1 8 1066264 26-SEP-15 1070853 26-SEP-15
  1 9 1070853 26-SEP-15 1073090 26-SEP-15
  1 10 1073090 26-SEP-15 1075254 26-SEP-15
  1 11 1075254 26-SEP-15 1077415 26-SEP-15
  1 12 1077415 26-SEP-15 1079588 26-SEP-15
  1 13 1079588 26-SEP-15 1081937 26-SEP-15
  1 14 1081937 26-SEP-15 1084102 26-SEP-15
  1 15 1084102 26-SEP-15 1086291 26-SEP-15
  1 16 1086291 26-SEP-15 1088448 26-SEP-15
  1 17 1088448 26-SEP-15 1090611 26-SEP-15
  1 18 1090611 26-SEP-15 1092777 26-SEP-15
  1 19 1092777 26-SEP-15 1094652 26-SEP-15
  1 20 1094652 26-SEP-15 1095361 26-SEP-15
  1 21 1095361 26-SEP-15 1095925 26-SEP-15
  1 22 1095925 26-SEP-15 1096475 26-SEP-15
  1 23 1096475 26-SEP-15 1097023 26-SEP-15
  1 24 1097023 26-SEP-15 1097578 26-SEP-15
  1 25 1097578 26-SEP-15 1098133 26-SEP-15
  1 26 1098133 26-SEP-15 1100006 26-SEP-15
  1 27 1100006 26-SEP-15 1102432 26-SEP-15
  1 28 1102432 26-SEP-15 1104188 26-SEP-15
  1 29 1104188 26-SEP-15 1106599 26-SEP-15
  1 30 1106599 26-SEP-15 1107150 26-SEP-15
  1 31 1107150 26-SEP-15 1109856 26-SEP-15
  1 32 1109856 26-SEP-15 1111251 26-SEP-15
  1 33 1111251 26-SEP-15 1113682 26-SEP-15
  1 34 1113682 26-SEP-15 1114219 26-SEP-15
 RMAN>
 RMAN> list backup summary;
 List of Backups
 ===============
 Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
 ------- -- -- - ----------- --------------- ------- ------- ---------- ---
 6 B F A DISK 26-SEP-15 1 1 NO TAG20150926T154053 <-★2回目に取得したフルBKP(SPファイルと制御ファイル)
 7 B A A DISK 26-SEP-15 1 1 NO TAG20150926T154208 <-★2回目に取得したアーカイブログBKP
 8 B F A DISK 26-SEP-15 1 1 NO TAG20150926T154536 <-★3回目に取得したフルBKP(データファイル)
 9 B F A DISK 26-SEP-15 1 1 NO TAG20150926T154536 <-★3回目に取得したフルBKP(SPファイルと制御ファイル)
 10 B A A DISK 26-SEP-15 1 1 NO TAG20150926T154814 <-★3回目に取得したアーカイブログBKP
 11 B F A DISK 26-SEP-15 1 1 NO TAG20150926T155216 <-★4回目に取得したフルBKP(データファイル)
 12 B F A DISK 26-SEP-15 1 1 NO TAG20150926T155216 <-★4回目に取得したフルBKP(SPファイルと制御ファイル)
 13 B A A DISK 26-SEP-15 1 1 NO TAG20150926T155351 <-★4回目に取得したアーカイブログBKP
 14 B F A DISK 26-SEP-15 1 1 NO TAG20150926T155741 <-★5回目に取得したフルBKP(データファイル)
 15 B F A DISK 26-SEP-15 1 1 NO TAG20150926T155741 <-★5回目に取得したフルBKP(SPファイルと制御ファイル)
 16 B A A DISK 26-SEP-15 1 1 NO TAG20150926T155955 <-★5回目に取得したアーカイブログBKP
 
 
上記の結果を確認して頂くと分かるかと思いますが、1回目に取得した全てのバックアップおよび2回目に取得したフルBKP(データファイル)が削除されてしまっている事が確認出来ます。
 
なぜ、これらのバックアップが削除されてしまったのでしょうか。それは手順の(4)にて永続設定で[CONFIGURE RETENTION POLICY TO REDUNDANCY 3;]と設定した為です。この設定は新しいバックアップを3世代(デフォルトは1)残し、それ以前は削除されます。
 
しかしながら、この設定はあくまでも○○世代のバックアップを保存するものであり、必ずしもそれ以前が全て削除される事を保障するものでも無い事についてご注意下さい。ご利用環境や領域使用率、バックアップ取得方法やバックアップ取得状況、その他永続設定との兼ね合いにも左右されます。
 
■バックアップを取得する上での簡単な考慮事項について
 

上記で簡単なバックアップ取得方法等を紹介致しましたが、実際の本番環境でのバックアップ取得にあたっては少なくとも以下の様な点について検討の上、取得いただく事になると思います。
 
・取得間隔や取得時間をどうするか
→業務処理とバッティングしない様に処理ピーク時間を避け取得など。
フルバックアップにするか差分バックアップにするか
→週次でフル、日時で差分を取得。もしくは最初の一度のみフルでそれ以降は差分を取得など。(※ちなみにフルバックアップを取得しない状態で差分バックアップを取得すると自動でフルバックアップが取得されます。)
・保存方針をどうすうするか
→○○世代を保存、○○日前までの障害発生直前に復旧可能なよう保存など。場合によってはコンプライアンスによる理由などで、過去1年分のバックアップを残しておく必要が出てくることもあります。
・バックアップの取得先はどうするか
→データベースが構成されているディスクの障害を考慮しバックアップは別ディスクへ取得、テープへの出力も検討など


おしまいだよん~

DBに1000セッション張って負荷を確認してみようぜ!!の巻

※ここで記載した内容は独断と偏見に基づく個人の見解であり、実行しているコマンドや手順も必ずしも正しい手順ではありません。その為、あくまで参考程度にご覧頂ければと思います。

 

■検証概要

DBへリスナー経由のセッションを繰り返し生成する検証です。


■検証環境
OS:Oracle Enterprise Linux 5.8(x86_64)
DB:Oracle Database Enterprise Linux 11.2.0.1
シングル環境


■検証1

上述した今回の目的の検証を行う前にシェルからDBへ繋げるかテストします。

(1)viコマンドを使って以下の様なスクリプトを作成します。
 [oracle@hoge ~]$ vi hoge.sh
 #!/bin/sh
 sqlplus -s scott/tiger@o11201 << EOF
  ALTER SESSION SET NLS_DATE_FORMAT = 'RR-MM-DD HH24:MI:SS';
  SELECT sysdate FROM dual;
  exit
 EOF
 
上記では、[sqlplus -s]オプションを使用しSQL*PLUSへの接続時にバナーを表示させない様にしています。また、[@o11201]と指定している部分に関しては、手元の環境の接続識別子なので実際に実行する場合はご利用環境の接続識別子に合わせて下さい。


(2)作成したスクリプトの実行権限を付与
 [oracle@hoge ~]$ chmod +x hoge.sh

上記を実行しないと実行時に「bash: ./hoge.sh: 許可がありません」のエラーとなり実行できません。


(3)早速スクリプトを実行します。
 [oracle@hoge ~]$ ./hoge.sh
 Session altered.

 SYSDATE
 -----------------
 15-09-26 23:23:52
 

上手く実行できましたね。上記の結果のとおりdual仮想表から現在時刻を引っ張ってくる結果となります。


■検証2

上記の検証1でシェルからDBへ接続可能な事は確認出来ました。
いよいよDBへリスナー経由のセッションを大量生成するスクリプトを作成・実行していきましょう。今回も非常にシンプルな手順となっています。


(1)以下のスクリプトを作成します。
 [oracle@hoge ~]$ vi hoge2.sh

 #!/bin/sh
 for i in {1..1000}
 do
  echo " $i 回目のループです."
  sqlplus -s scott/tiger@o11201 << EOF
  ALTER SESSION SET NLS_DATE_FORMAT = 'RR-MM-DD HH24:MI:SS';
  SELECT sysdate FROM dual;
  exit
 EOF
 done

 
for文を使って検証1で作成したスクリプトの処理を1000回繰り返し実行する様にしただけです。

 

(2)作成したスクリプトに実行権限を付与します。

 [oracle@hoge ~]$ chmod +x hoge2.sh


(3)早速実行してみよう。
 [oracle@hoge ~]$ ./hoge2.sh
  1 回目のループです.
 Session altered.
 SYSDATE
 -----------------
 15-09-26 23:39:07
  2 回目のループです.
 Session altered.
 SYSDATE
 -----------------
 15-09-26 23:39:07
  3 回目のループです.
 Session altered.
 SYSDATE
 -----------------
 15-09-26 23:39:07
 ・・
 ・・
 ・・
 <※長いので省略※>
 ・・
 ・・
 ・・
  998 回目のループです.
 Session altered.
 SYSDATE
 -----------------
 15-09-26 23:42:11
  999 回目のループです.
 Session altered.
 SYSDATE
 -----------------
 15-09-26 23:42:11
  1000 回目のループです.
 Session altered.
 SYSDATE
 -----------------
 15-09-26 23:42:11
 
上手く実行出来ましたね。ちなみに対象の処理は23:39分から23:42分頃にかけて実行されました。

(4)リスナーログを見てみましょう。
 [oracle@hoge trace]$ tail -n 100 listener.log
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23178)) * establish * o11201 * 0
 Sat Sep 26 23:39:07 2015
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23179)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23180)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23181)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23182)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23183)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23184)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23185)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23186)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23187)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23188)) * establish * o11201 * 0
 26-SEP-2015 23:39:07 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23189)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23190)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23191)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23192)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23193)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23194)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23195)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23196)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23197)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23198)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23199)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23200)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23201)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23202)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23203)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23204)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23205)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23206)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23207)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23208)) * establish * o11201 * 0
 26-SEP-2015 23:39:08 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=o11201)(CID=(PROGRAM=sqlplus@hoge)(HOST=hoge)(USER=oracle ))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.2)(PORT=23209)) * establish * o11201 * 0
  
上記出力から該当時間帯にはsqlplus経由で o11201サービスに対し大量の専用サーバ接続が行われている事が確認出来ます。また、今回は接続・切断を大量に繰り返していますので[23178] -> [23179] -> [23180] -> ・・・と順々に多くのエフェメラルポートが使われている状況も確認出来ますね。

 

(5)負荷テスト実行時の負荷状況について簡単に見てみよう

 

SARの結果から大量の接続/切断を繰り返していた時間帯の負荷状況を確認しましょう。該当の処理は「23:39頃から23:42頃」にかけて実行されていましたので「23:40」の出力を該当時間帯としてみていきます。

 
  CPU %user %nice %system %iowait %steal %idle
 17:10:01 1 0.03 0.01 0.52 0.00 0.00 99.43
 17:10:01 2 0.02 0.02 0.18 0.00 0.00 99.77
 17:20:01 all 0.02 0.00 0.59 0.01 0.00 99.38
 17:20:01 0 0.02 0.00 1.14 0.02 0.00 98.82
 17:20:01 1 0.03 0.00 0.49 0.00 0.00 99.48
 17:20:01 2 0.02 0.00 0.19 0.00 0.00 99.80
 23:00:01 all 0.04 0.00 0.72 0.07 0.00 99.16
 23:00:01 0 0.05 0.00 1.36 0.19 0.00 98.39
 23:00:01 1 0.05 0.00 0.58 0.02 0.00 99.35
 23:00:01 2 0.03 0.00 0.26 0.00 0.00 99.71
 23:10:01 all 0.04 0.00 0.70 0.02 0.00 99.24
 23:10:01 0 0.04 0.00 1.34 0.04 0.00 98.58
 23:10:01 1 0.06 0.00 0.59 0.01 0.00 99.35
 23:10:01 2 0.02 0.00 0.22 0.00 0.00 99.75
 23:20:01 all 0.27 0.00 1.35 0.07 0.00 98.32
 23:20:01 0 0.33 0.00 2.26 0.20 0.00 97.21
 23:20:01 1 0.36 0.00 1.16 0.01 0.00 98.47
 23:20:01 2 0.13 0.00 0.70 0.00 0.00 99.17
 23:30:01 all 0.07 0.01 0.84 0.01 0.00 99.07
 23:30:01 0 0.08 0.01 1.67 0.02 0.00 98.22
 23:30:01 1 0.11 0.00 0.65 0.01 0.00 99.24
 23:30:01 2 0.03 0.02 0.26 0.00 0.00 99.68

23:40:01 all 0.40 0.00 1.46 0.02 0.00 98.12
 23:40:01 0 0.48 0.00 1.71 0.03 0.00 97.78
 23:40:01 1 0.51 0.00 2.01 0.01 0.00 97.46
 23:40:01 2 0.21 0.00 0.72 0.02 0.00 99.05
 23:50:01 all 0.08 0.00 0.85 0.01 0.00 99.07
 23:50:01 0 0.10 0.00 1.65 0.01 0.00 98.23
 23:50:01 1 0.11 0.00 0.70 0.00 0.00 99.19
 23:50:01 2 0.03 0.00 0.26 0.00 0.00 99.71
 Average: all 0.11 0.16 1.26 2.13 0.00 96.34
 Average: 0 0.16 0.28 1.98 5.14 0.00 92.44
 Average: 1 0.13 0.05 1.38 1.24 0.00 97.20
 Average: 2 0.06 0.15 0.50 0.19 0.00 99.12

まず該当時間帯のCPUの使用率ですが、23:40頃は他時間帯に比べてほんの僅かにユーザプロセスやシステムによるCPU使用率が上昇していた傾向が読み取れます。メモリ使用率やディスク使用率は殆ど他時間帯との負荷状況の差異が見られなかったので割愛します。

 

次にネットワークの負荷状況を確認します。該当時間帯は他時間帯に比べて1秒間における受送信パケット数やバイト数が多い状況が確認出来ます。

 
  IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
 17:10:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 17:20:01 lo 0.04 0.04 1.82 1.82 0.00 0.00 0.00
 17:20:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 22:50:01 lo 0.04 0.04 1.76 1.76 0.00 0.00 0.00
 22:50:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 23:10:01 lo 0.47 0.47 27.56 27.56 0.00 0.00 0.00
 23:10:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 23:30:01 lo 1.56 1.56 330.72 330.72 0.00 0.00 0.00
 23:30:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

23:40:01 lo 29.04 29.04 7860.97 7860.97 0.00 0.00 0.00
 23:40:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 23:50:01 lo 0.45 0.45 25.28 25.28 0.00 0.00 0.00
 23:50:01 eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 Average: lo 2.88 2.88 878.64 878.64 0.00 0.00 0.00
 Average: eth0 0.00 0.00 0.00 0.00 0.00 0.00 0.00

なお、上記結果の各列の意味は以下です。(一部省略)

 

[IFACE 列] インタフェース名
[rxpck/s 列] 1秒間における受信パケット数
[txpck/s 列] 1秒間における送信パケット数
[rxbyt/s 列] 1秒間における受信バイト数
[txbyt/s 列] 1秒間における送信バイト数