【Oracle】アプリケーション サーバー構築


--シェーカーズ環境設定用スクリプト(ORACLE12c Release2 用) 201810
--  このスクリプトは、ORACLEが C:\oracle\product\12.2.0\dbhome_1 にインストールされ、
--  デフォルトデータベースのSIDがORCLとなっている事を前提としています。
--  インストールドライブがDドライブ以外の場合や、
--  DBMS_SHARED_POOLを使用するためにはSYSユーザーにDBMS_SHARED_POOLパッケージが存在している必要があります。
--  DBMS_SHARED_POOL.KEEPを使用する場合はORAHOME\dbhome_1\RDBMS\ADMIN\dbmspool.sqlを実行後に当スクリプトを実行して下さい。

--
--ORACLEログイン(SYS)
CONNECT SYS/password AS SYSDBA
--
--DEFAULTプロファイルのパスワード無期限設定
alter profile default limit password_life_time unlimited;

--①アプリケーション用表領域作成

-- テーブル用表領域 (表領域名:NAME_DATA、500MB)
CREATE TABLESPACE NAME_DATA
    LOGGING
    DATAFILE 'C:\oracle\oradata\orcl\NAMEDAT01.DBF' SIZE 500M
    EXTENT MANAGEMENT LOCAL;

-- インデックス用表領域 (表領域名:COC_IDX、500MB)
CREATE TABLESPACE NAME_IDX
    LOGGING
    DATAFILE 'C:\oracle\oradata\orcl\NAMEIDX01.DBF' SIZE 500M
    EXTENT MANAGEMENT LOCAL;

--
--②アプリケーションユーザ作成

-- COC_RPS
CREATE USER NAME_RPS IDENTIFIED BY P
    DEFAULT TABLESPACE NAME_DATA
    TEMPORARY TABLESPACE TEMP
    ACCOUNT UNLOCK;
GRANT DBA TO NAME_RPS;

-- NAME_USR1
CREATE USER NAME_USR1 IDENTIFIED BY P
    DEFAULT TABLESPACE NAME_DATA
    TEMPORARY TABLESPACE TEMP
    ACCOUNT UNLOCK;
GRANT DBA TO NAME_USR1;
GRANT DELETE ANY TABLE TO NAME_USR1;
GRANT INSERT ANY TABLE TO NAME_USR1;
GRANT SELECT ANY TABLE TO NAME_USR1;
GRANT UPDATE ANY TABLE TO NAME_USR1;
GRANT EXECUTE ANY PROCEDURE TO NAME_USR1;
GRANT EXECUTE ON  SYS.DBMS_PIPE TO NAME_USR1;
GRANT EXECUTE ON  SYS.DBMS_LOCK TO NAME_USR1;
GRANT EXECUTE ON  SYS.DBMS_SHARED_POOL TO NAME_USR1;
GRANT CREATE LIBRARY TO NAME_USR1;
GRANT EXP_FULL_DATABASE TO NAME_USR1;
GRANT DEBUG CONNECT SESSION TO NAME_USR1;
GRANT DEBUG ANY PROCEDURE TO NAME_USR1;

-- NAME_USR9
CREATE USER NAME_USR9 IDENTIFIED BY P
    DEFAULT TABLESPACE NAME_DATA
    TEMPORARY TABLESPACE TEMP;
GRANT DBA TO NAME_USR9;

--
--③UNDO表領域変更

--UNDO表領域の拡張初期値が500Mのため実施不要
--ALTER DATABASE
--    DATAFILE 'C:\oracle\oradata\orcl\UNDOTBS01.DBF'
--    RESIZE 500M;
--
--④REDOログファイルの変更(各グループにメンバーを追加・200MBずつ)

-- REDO GROUP 1
ALTER DATABASE
    ADD LOGFILE
    MEMBER 'C:\oracle\oradata\orcl\REDO01A.LOG' TO GROUP 1;

-- REDO GROUP 2
ALTER DATABASE
    ADD LOGFILE
    MEMBER 'C:\oracle\oradata\orcl\REDO02A.LOG' TO GROUP 2;

-- REDO GROUP 3
ALTER DATABASE
    ADD LOGFILE
    MEMBER 'C:\oracle\oradata\orcl\REDO03A.LOG' TO GROUP 3;

--
--⑤初期化パラメータの変更

--変更前SPFILEの退避(退避ファイル名:SPFILEorcl_default.ORA)
--HOST COPY C:\oracle\product\12.2.0\dbhome_1\database\SPFILEorcl.ORA C:\oracle\product\12.2.0\dbhome_1\database\SPFILEorcl_default.ORA

--
--パラメータ追加(必須)
--ログ出力先(SC Coreでは不要)
--ALTER SYSTEM SET utl_file_dir=*
--   SCOPE=SPFILE;

--必要に応じパラメータを変更
--
--制御ファイル(制御ファイルを別ディレクトリに移動)
--変更後は、インスタンスを停止して制御ファイルの物理的な移動が必要
--ALTER SYSTEM SET control_files=
--        'C:\oracle\oradata\orcl\CONTROL01.CTL',
--        'C:\oracle\oradata\orcl\CONTROL02.CTL',
--        'C:\oracle\oradata\orcl\CONTROL03.CTL'
--    SCOPE=SPFILE;

--最大プロセス数(デフォルト:300 → 同時使用クライアントが30台以上の場合拡張)
--    目安:クライアント1台追加毎に10加算
--ALTER SYSTEM SET processes=300
--    SCOPE=SPFILE;

--
--⑥DATAPUMP用パラメータ設定

-- 必要に応じパラメータを変更してください。
--
-- DATAPUMP用フォルダの設定と作成
--
-- DATAPUMPで利用するフォルダの作成
HOST MD C:\TEMP\ORACLE\DATA
--
-- DIRECTORYに「PUMP_DIR」を作成
CREATE DIRECTORY PUMP_DIR AS 'C:\TEMP\ORACLE\DATA';
--
-- DATAPUMPを利用するユーザーへの権限追加(デフォルト:SYSTEM)
GRANT READ,WRITE ON DIRECTORY PUMP_DIR TO SYSTEM;

--
--ORACLE停止
--CONNECT SYS/password AS SYSDBA
--SHUTDOWN IMMEDIATE
--
--  control_filesパラメータを変更した場合は、必ずここで制御ファイルの移動を行ってください。
--
--  ORACLEインスタンスを起動し、動作確認を行ってください。
--  正常に動作することが確認できたら、ORACLEを停止して、
--  データファイル、REDOログファイル、制御ファイル、SPFILEを退避してください。
--
EXP NAME_USR1/P@10.xx.xx.x/orcl file=C:\datapumpdir\EXP_NAME.dmp log=C:\datapumpdir\EXP_NAME.LOG owner=NAME_USR1,NAME_USR9
IMP NAME_USR1/P@10.xx.xx.x/orcl file=C:\datapumpdir\EXP_NAME.dmp FROMUSER=NAME_USR1 TOUSER=NAME_USR1 BUFFER=15000 COMMIT=Y LOG=C:\datapumpdir\IMP_NAME_USR1.LOG
--
IMPDP SYSTEM/password DIRECTORY=PUMP_DIR DUMPFILE=DEMO.DMP SCHEMAS=NAME_USR9 REMAP_SCHEMA=NAME_USR9:NAME_USR9 LOGFILE=IMP_USR9.LOG
IMPDP SYSTEM/password DIRECTORY=PUMP_DIR DUMPFILE=DEMO.DMP SCHEMAS=NAME_USR1 REMAP_SCHEMA=NAME_USR1:NAME_USR1 LOGFILE=IMP_USR1.LOG
IMPDP SYSTEM/password DIRECTORY=PUMP_DIR DUMPFILE=RPS.DMP SCHEMAS=NAME_RPS REMAP_SCHEMA=NAME_RPS:NAME_RPS LOGFILE=IMP_RPS.LOG

No comments

Powered by Blogger.