Oracle/Enterprise Manager Cloud Control †VMwareWorkstation(VMware Playerでも可能と思う) で CentOS 6.7 x64 で作成 Express版を使用する場合 †Oracle12cのデフォルトである、Express版へログインする方法も記載しておく。 -- 待ち受けポート番号を作成 exec dbms_xdb_config.sethttpsport(5500); -- 待ち受けポート番号を確認 SELECT DBMS_XDB_CONFIG.getHTTPsPort,DBMS_XDB_CONFIG.getHTTPPort from dual; GETHTTPSPORT GETHTTPPORT ------------ ----------- 5500 0 -- リスナーに登録されたことを確認 lsnrctl status (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=centos6db.com)(PORT=5500))(Security=(my_wallet_directory=/home/oracle/app/oracle/admin/orcl/xdb_wallet))(Presentation=HTTP)(Session=RAW)) -- ブラウザでアクセス https://IPアドレス/em/ インストールファイルの準備 †バイナリダウンロード先(2015/09/10時点) 以下の6ファイルをDL HW構成 †EMCC
CentOS6.7構成(EMCC) †選択するインストールパッケージ †
ネットワーク設定 †/etc/sysconfig/network-scripts/ifcfg-eth0 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.11.45 NETMASK=255.255.255.0 /etc/sysconfig/network echo "NOZEROCONF=yes" >> /etc/sysconfig/network /etc/hosts # Local 127.0.0.1 localhost.zone.com localhost # EMCC 192.168.11.45 emcc.zone.com emcc # EMCC Agent 192.168.11.46 emcca.zone.com emcca ネットワークを再起動 /etc/init.d/network restart セキュリティと不要なサービス無効化 †cat /etc/selinux/config | sed -e 's/=enforcing$/=disabled/' > /tmp/tmp; cp /tmp/tmp /etc/selinux/config /etc/rc.d/init.d/iptables stop chkconfig iptables off chkconfig ip6tables off chkconfig iscsi off chkconfig postfix off chkconfig bluetooth off chkconfig abrtd off chkconfig abrt-ccpp off chkconfig acpid off chkconfig atd off chkconfig cups off chkconfig cpuspeed off chkconfig netconsole off chkconfig netfs off /etc/〜各種設定 †/etc/sysconfig/ntpd cat /etc/sysconfig/ntpd | sed -e 's/OPTIONS=\"-u/OPTIONS=\"-x -u/' > /tmp/tmp; cp /tmp/tmp /etc/sysconfig/ntpd /etc/fstab cat /etc/fstab | sed -e 's/tmpfs defaults/tmpfs rw,exec,size=2560M/' > /tmp/tmp;cp /tmp/tmp /etc/fstab /etc/security/limits.conf oracle hard memlock 3145728 oracle hard nofile 65536 oracle soft nofile 4096 oracle hard nproc 16384 oracle soft nproc 2047 /etc/sysctl.conf kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65535 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 kernel.panic_on_oops = 1 -- 設定反映 sysctl -p 追加インストールパッケージ †mount -t iso9660 -r /dev/cdrom /mnt cd /mnt/Packages rpm -ivh compat-libstdc++*.x86_64.rpm rpm -ivh compat-libcap*.x86_64.rpm rpm -ivh libaio-devel-*.x86_64.rpm rpm -ivh unixODBC-*.x86_64.rpm rpm -ivh ksh-20120801-28.el6.x86_64.rpm ユーザー と グループ作成 †groupadd -g 503 oinstall groupadd -g 504 dba useradd -g oinstall -G dba,wheel oracle passwd oracle ディレクトリ作成 †mkdir -p /u01/app/oracle mkdir /u01/app/oraInventory chown -R oracle:oinstall /u01 chmod -R 775 /u01 環境変数 †~oracle/.bash_profile # ORACLE環境変数の設定 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1 # ORACLE_SIDは可変 ORACLE_SID=orcl1 NLS_LANG=Japanese_Japan.AL32UTF8 export ORACLE_BASE ORACLE_HOME ORACLE_SID NLS_LANG # PATHに$ORACLE_HOME/binを追加 export PATH=$PATH:$ORACLE_HOME/bin DBソフトウェアインストール †su - oracle unzip linuxamd64_12102_database_1of2.zip > /devnull unzip linuxamd64_12102_database_2of2 > /dev/null ./runInstaller
データベースの作成 †$ORACLE_HOME/assistants/dbca/templates フォルダに 12.1.0.2.0_Database_Template_for_EM12_1_0_5_0_Linux_x64 を解凍したファイルを配置 /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca
EMCC構成 †unzip em12105_linux64_disk1.zip > /dev/null unzip em12105_linux64_disk2.zip > /dev/null unzip em12105_linux64_disk3.zip > /dev/null ※ disk2 は カレントディレクトリに色々展開されるので注意 ./runInstaller
インストール後 emctl oms status ------------- WebTier is Up Oracle Management Server is Up OMSにある以下のファイルを修正(Agent配布の時エラーになるので) /u01/app/oms/oms/sysman/prov/agentpush/agentpush.properties ⇒ oracle.sysman.prov.agentpush.enablePtyを「true」に変更 CnetOS6.7構成(EMAC) †ネットワーク構成 〜 データベースの作成まで終わらせる sudo権限を与える visudo ※ %wheel ALL=(ALL) ALL のコメントを外す ターゲットにAgentを配布する https://192.168.11.45:7802/em ※ ユーザーは、sysman でパスワードはインストール内で設定したもの 設定 - ターゲットの追加 - ターゲットの手動追加 - ホスト追加 - 追加 インストール詳細 ベースディレクトリ :/u01/app/oa インスタンスディレクトリ:/u01/app/oa/agent_inst 名前付き資格証明 :+ボタン押下し、oracleユーザー(/u01/app のオーナー)を指定。sudoは空欄でOK -- 以下は、やらなくても良かった 数分でデプロイが完了するので、 設定 - 自動構成の検出 - ホスト上のターゲット 追加したターゲットを選択し「新規に検出」をクリックする データベース作成 /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbca ※ 管理オプションの箇所で、EM Cloud Controlの登録にチェックを入れる(Database Expressは外す) スクリプト †DB自動起動 †/etc/init.d/oracle #!/bin/bash # oracle: Start/Stop Oracle Database 12c R1 # # chkconfig: 345 90 10 # description: The Oracle Database is an Object-Relational Database Management System. # # processname: oracle . /etc/rc.d/init.d/functions LOCKFILE=/var/lock/subsys/oracle ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1 ORACLE_USER=oracle case "$1" in 'start') if [ -f $LOCKFILE ]; then echo $0 already running. exit 1 fi echo -n $"Starting Oracle Database:" su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start" su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" touch $LOCKFILE ;; 'stop') if [ ! -f $LOCKFILE ]; then echo $0 already stopping. exit 1 fi echo -n $"Stopping Oracle Database:" su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop" echo "shutdown abort" > /tmp/tmp.sql echo "quit" >> /tmp/tmp.sql su - $ORACLE_USER -c "sqlplus / as sysdba @/tmp/tmp.sql" # su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut" rm -f $LOCKFILE ;; 'restart') $0 stop $0 start ;; 'status') if [ -f $LOCKFILE ]; then echo $0 started. else echo $0 stopped. fi ;; *) echo "Usage: $0 [start|stop|status]" exit 1 esac exit 0 chmod 755 /etc/rc.d/init.d/oracle chkconfig --add oracle chkconfig oracle on パーティションテーブルメンテナンス †set line 10000 pages 0 num 20 colsep "," verify off feedback off trims on term off spool run.sql SELECT 'ALTER TABLE MGMT_AUDIT_LOGS DROP PARTITION "' || PARTITION_NAME || '" UPDATE GLOBAL INDEXES;' FROM ALL_TAB_PARTITIONS, SYSMAN.MGMT_AUDIT_MASTER WHERE TABLE_NAME = 'MGMT_AUDIT_LOGS' AND TABLE_OWNER = 'SYSMAN' AND PARTITION_NAME != 'MAX_VALUE' AND PARTITION_NAME < TO_CHAR(sysdate - 3, 'YYYY-MM-DD HH24:MI'); SELECT 'ALTER TABLE EM_CS_SCORE_HIST DROP PARTITION "' || PARTITION_NAME || '" UPDATE GLOBAL INDEXES;' FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME = 'EM_CS_SCORE_HIST' AND TABLE_OWNER = 'SYSMAN' AND PARTITION_NAME != 'MAX_VALUE' AND PARTITION_NAME < TO_CHAR(sysdate - 3, 'YYYY-MM-DD HH24:MI'); SELECT 'ALTER TABLE EM_CCC_FILEOBS_DIFF DROP PARTITION "' || PARTITION_NAME || '" UPDATE GLOBAL INDEXES;' FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME = 'EM_CCC_FILEOBS_DIFF' AND TABLE_OWNER = 'SYSMAN' AND PARTITION_NAME != 'MAX_VALUE' AND PARTITION_NAME < TO_CHAR(sysdate - 3, 'YYYY-MM-DD HH24:MI'); SELECT 'ALTER TABLE EM_CCC_OBSERVATION DROP PARTITION "' || PARTITION_NAME || '" UPDATE GLOBAL INDEXES;' FROM ALL_TAB_PARTITIONS WHERE TABLE_NAME = 'EM_CCC_OBSERVATION' AND TABLE_OWNER = 'SYSMAN' AND PARTITION_NAME != 'MAX_VALUE' AND PARTITION_NAME < TO_CHAR(sysdate - 3, 'YYYY-MM-DD HH24:MI'); spool off @ run.sql quit MGMT_AUDIT_LOGSの不要なパーティション(毎日01:00?に作成される)を自動的にメンテナンスする †-- SYSMANユーザーに'DATA_PUMP_DIR'への読み書き権限を付与 grant read,write on directory data_pump_dir to sysman; select * from dba_tab_privs where TABLE_NAME='DATA_PUMP_DIR' ; -- 外部化設定 emcli login -username=SYSMAN emcli sync emcli show_audit_settings $ORACLE_HOME/bin/emcli update_audit_settings -externalization_switch="ENABLE" -directory="DATA_PUMP_DIR" $ORACLE_HOME/bin/emcli update_audit_settings -data_retention_period="1" -directory="DATA_PUMP_DIR" emcli show_audit_settings emctl stop oms -all emctl start oms emctl status oms emcli show_audit_settings -- XMLファイル出力 sqlplus sysman exec EM_AUDIT_EXTERNALIZATION.audit_externalization_proc(); select * from dba_directories where directory_name='DATA_PUMP_DIR'; ! ls -l DATA_PUMP_DIRのパス ※ XMLファイルが出力されていること 各種操作 †WEBアクセス †https://192.168.11.45:7802/em https://192.168.11.45:7102/console emctlコマンド †${OMS_HOME}/oms/bin $<AGENT_BASE_DIRECTORY>/agent_inst/bin
emcli †
ファイル †
|