0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

orcl12cr1onlinux7(2インスタンス目)

Last updated at Posted at 2018-05-27

Oracle 12cr1 インスタンス作成 on Linux7(2インスタンス目)

環境

項目 1インスタンス目 2インスタンス目
ホスト名 tdb01 tdb01
IPアドレス 192.168.10.71 192.168.10.71
DB_NAME tremoro kotaro
ORACLE_SID tremoro kotaro

手順


'1. 1インスタンス目作成

Oracle 12cr1 インストール on Linux7(1インスタンス目)
https://qiita.com/kotarosan/items/ead0a4e680e847b46d43
に従いインスタンス1を作成する(tremoro)

'2. ディレクトリ作成

su - oracle
mkdir /u01/app/oracle/diag
mkdir -p /u01/app/oracle/admin/kotaro/adump
mkdir /data/oracle
mkdir /data/oracle/kotaro
mkdir /data/oracle/kotaro/redo
mkdir /data/oracle/kotaro/dbf
mkdir /data/oracle/kotaro/fast_recovery_area

'3. initora作成

su - oracle
export ORACLE_SID=kotaro
cd $ORACLE_HOME/dbs
cp -p init.ora init$ORACLE_SID.ora

vi init$ORACLE_SID.ora
init$ORACLE_SID.ora
# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)

db_name='kotaro'
db_unique_name='kotarop'
memory_target=512M
processes = 150
audit_file_dest='/u01/app/oracle/admin/kotaro/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/data/oracle/kotaro/fast_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (/data/oracle/kotaro/kotaro_control1.ctl, /data/oracle/kotaro/kotaro_control2.ctl)
compatible ='12.1.0'

'4. SPファイル生成(oracle)

(oracle)
sqlplus / as sysdba
CREATE SPFILE FROM PFILE;

'5. マウント

STARTUP NOMOUNT

'6. CREATE DATABASE

CREATE DATABASE kotaro
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/data/oracle/kotaro/redo/redo11.log','/data/oracle/kotaro/redo/redo12.log') SIZE 100M,
        GROUP 2 ('/data/oracle/kotaro/redo/redo21.log','/data/oracle/kotaro/redo/redo22.log') SIZE 100M,
        GROUP 3 ('/data/oracle/kotaro/redo/redo31.log','/data/oracle/kotaro/redo/redo32.log') SIZE 100M
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
CHARACTER SET JA16SJISTILDE
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/data/oracle/kotaro/dbf/system01.dbf'
  SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/data/oracle/kotaro/dbf/sysaux01.dbf'
  SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
   DATAFILE '/data/oracle/kotaro/dbf/users01.dbf'
   SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
   TEMPFILE '/data/oracle/kotaro/dbf/temp01.dbf'
   SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE undotbs1
   DATAFILE '/data/oracle/kotaro/dbf/undotbs01.dbf'
   SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;

'7. スクリプト実行

sqlplus / as sysdba
@$ORACLE_HOME/rdbms/admin/catalog.sql
@$ORACLE_HOME/rdbms/admin/catproc.sql

connect system/system_password
@$ORACLE_HOME/sqlplus/admin/pupbld.sql

'8. DB起動確認

SELECT STATUS FROM V$INSTANCE;

'9. Archive Logモード(必須ではない)

export ORACLE_SID=kotaro

sqlplus / as sysdba

select log_mode from v$database;

shutdown

startup mount

alter database archivelog;

alter database open;

SELECT STATUS FROM V$INSTANCE;

select log_mode from v$database;

'10. Force Loggingモード(必須ではない)

select force_logging FROM v$database;

alter database force logging;

select force_logging FROM v$database;

'11. 初期化パラメータ設定設定(必要に応じて実施 一例)

sqlplus / as sysdba

set linesize 1000
set pagesize 10000
col NAME_COL_PLUS_SHOW_PARAM FORM A50;
col TYPE form A20;
col VALUE_COL_PLUS_SHOW_PARAM form A200;
set trimspool off

show parameter DB_NAME
show parameter DB_UNIQUE_NAME
show parameter LOG_ARCHIVE_CONFIG
show parameter CONTROL_FILES
show parameter LOG_ARCHIVE_DEST_1
show parameter LOG_ARCHIVE_DEST_2
show parameter LOG_ARCHIVE_DEST_STATE_1
show parameter LOG_ARCHIVE_DEST_STATE_2
show parameter REMOTE_LOGIN_PASSWORDFILE
show parameter LOG_ARCHIVE_FORMAT
show parameter FAL_SERVER
show parameter DB_FILE_NAME_CONVERT
show parameter LOG_FILE_NAME_CONVERT
show parameter STANDBY_FILE_MANAGEMENT

ALTER SYSTEM SET db_unique_name=kotarop SCOPE = SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(kotarop,kotaroos)' SCOPE = SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=kotarop' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=kotaros ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=kotaros' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET FAL_SERVER=kotaros SCOPE=SPFILE;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO SCOPE=SPFILE;

shutdown

startup

set linesize 1000
set pagesize 10000
col NAME_COL_PLUS_SHOW_PARAM FORM A50;
col TYPE form A20;
col VALUE_COL_PLUS_SHOW_PARAM form A200;
set trimspool off

show parameter DB_NAME
show parameter DB_UNIQUE_NAME
show parameter LOG_ARCHIVE_CONFIG
show parameter CONTROL_FILES
show parameter LOG_ARCHIVE_DEST_1
show parameter LOG_ARCHIVE_DEST_2
show parameter LOG_ARCHIVE_DEST_STATE_1
show parameter LOG_ARCHIVE_DEST_STATE_2
show parameter REMOTE_LOGIN_PASSWORDFILE
show parameter LOG_ARCHIVE_FORMAT
show parameter FAL_SERVER
show parameter DB_FILE_NAME_CONVERT
show parameter LOG_FILE_NAME_CONVERT
show parameter STANDBY_FILE_MANAGEMENT

'12. tnsnames.ora設定(ノード1)

vi $ORACLE_HOME/network/admin/tnsnames.ora
tnsnames.ora
kotaro =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = tdb01)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = kotaro)
    )
  )

cat $ORACLE_HOME/network/admin/tnsnames.ora

'13. listener.ora設定

vi $ORACLE_HOME/network/admin/listener.ora
listener.ora

LISTENER_KOTARO=
  (DESCRIPTION=
    (ADDRESS_LIST=
      (ADDRESS=(PROTOCOL=tcp)(HOST=tdb01)(PORT=1522))
      (ADDRESS=(PROTOCOL=ipc)(KEY=extproc1522))))

SID_LIST_LISTENER_KOTARO=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=kotaro)
      (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
      (SID_NAME=kotaro)))

cat $ORACLE_HOME/network/admin/listener.ora

lsnrctl status LISTENER_KOTARO
lsnrctl start LISTENER_KOTARO
lsnrctl status LISTENER_KOTARO
ps -ef |grep LISTENER


sqlplus system/system_password@kotaro
quit

'14. 自動起動設定(sysvinit) ※この方法(従来型)か、15.のsystemd(Linux7の標準)のどちらかを利用する

su -
vi /etc/rc.d/init.d/oracle_kotaro
/etc/rc.d/init.d/oracle_kotaro
# !/bin/sh
#
# chkconfig: 2345 99 99

#
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_HOME_LISTENER=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=KOTARO
export ORACLE_LISTNER=LISTENER_KOTARO


# Source function library.
. /etc/rc.d/init.d/functions

# See how we were called.
case "$1" in
  start)
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl start $ORACLE_LISTNER"
        su  oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
        ;;
  stop)
        su  oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl stop $ORACLE_LISTNER"
        ;;
  restart|reload)
        su  oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl stop $ORACLE_LISTNER"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl start $ORACLE_LISTNER"
        su  oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
        ;;
  status)
        $ORACLE_HOME/bin/lsnrctl status $ORACLE_LISTNER
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload}"
        exit 1
esac

exit 0
chmod 755 /etc/rc.d/init.d/oracle_kotaro
chkconfig --add oracle_kotaro
cat /etc/oratab
vi /etc/oratab
/etc/oratab
tremoro:/u01/app/oracle/product/12.1.0/dbhome_1:Y
kotaro:/u01/app/oracle/product/12.1.0/dbhome_1:Y

cat /etc/oratab



'15. 自動起動設定(systemd) 

su -
vi /etc/sysconfig/oracledb


```:/etc/sysconfig/oracledb
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
vi /tmp/oracle.sh
/tmp/oracle.sh
# !/bin/sh

#
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1
export ORACLE_HOME_LISTENER=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_LISTNER1=LISTENER_TREMORO
export ORACLE_LISTNER2=LISTENER_KOTARO

# See how we were called.
case "$1" in
  start)
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl start $ORACLE_LISTNER1"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl start $ORACLE_LISTNER2"
        su  oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
        ;;
  stop)
        su  oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl stop $ORACLE_LISTNER1"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl stop $ORACLE_LISTNER2"
        ;;
  restart|reload)
        su  oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl stop $ORACLE_LISTNER1"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl stop $ORACLE_LISTNER2"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl start $ORACLE_LISTNER1"
        su  oracle -c "$ORACLE_HOME/bin/lsnrctl start $ORACLE_LISTNER2"
        su  oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
        ;;
  status)
        $ORACLE_HOME/bin/lsnrctl status $ORACLE_LISTNER1
        $ORACLE_HOME/bin/lsnrctl status $ORACLE_LISTNER2
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|reload}"
        exit 1
esac

exit 0
chmod 775 /tmp/oracle.sh
vi /usr/lib/systemd/system/oracledb.service
/usr/lib/systemd/system/oracledb.service
[Unit]
Description=Oracle Database service
After=network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/oracledb
ExecStart=/tmp/oracle.sh start
ExecStop=/tmp/oracle.sh stop
User=root

[Install]
WantedBy=multi-user.target
cat /etc/oratab
vi /etc/oratab
/etc/oratab
tremoro:/u01/app/oracle/product/12.1.0/dbhome_1:Y
kotaro:/u01/app/oracle/product/12.1.0/dbhome_1:Y

cat /etc/oratab


systemctl daemon-reload
systemctl status oracledb
systemctl enable oracledb
systemctl status oracledb

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?