원격 Oracle19c에 EMExpress 구축

겨우 Oracle 환경을 구축했으므로, 이번은 Enterprise Manager Express(이후 EExpress라고 표기)를 기동해, 브라우저로부터 조작해 보려고 한다!
→ 결과 : 꽤 고전했기 때문에, EMExpress 구축까지를 메모.

환경



Oracle Cloud OS : Oracle Linux 7.9
OracleDB : Oracle Database 19c

준비 작업



1, Oracle Cloud로 계정 생성
2, 가상 머신 생성
 -셰이프는 영구 무료의 것이 아니라, 하나 이상의 것을 선택하는 것을 추천. ※메모리가 부족하고, 설정 파일을 괴롭히는 수고가 걸리기 때문에.
3, 자신의 PC에 Oracle Database 19c Linux x86-64 RPM 다운로드
4, scp로 가상 머신에 다운로드 한 rpm 배치
5, Oracle19c 설치
→EMExpress에 액세스하면 여기에서 실패.

보안 목록 설정



EMExpress는 기본값이 5500 포트에서 작동하므로 가상 네트워크의 보안 목록에 5500 포트에 대한 통신을 허용해야합니다.
컴퓨팅 → 인스턴스 → 대상 인스턴스를 선택한 후 인스턴스 정보 탭의 기본 VNIC 서브넷을 선택합니다.



아래쪽에 있는 보안 목록을 선택합니다.



현재 규칙이 표시됩니다. 추가 규칙 추가를 선택합니다.



다음과 같이 입력하고 입구 규칙 추가를 선택합니다.
소스 CIDR: 소스 주소의 허용 범위. 이번은 모두 허가.
소스 포트 범위: 소스 포트의 범위. 이번은 모두 허가.
대상 포트: 대상 포트의 범위. 이번은 5500만.



이것으로 완료. 시간차로 반영된다.

방화벽 설정



AWS의 경우는, firewalld가 들어가 있지 않고, 보안 리스트를 설정하는 것만으로 포트 해방을 할 수 있다. 그러나 Oracle Cloud에서는 firewalld를 설정하지 않으면 포트가 허용되지 않습니다.
# ログイン後、管理者ユーザーに切り替えて以下を実行
$ firewall-cmd --list-all
public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh  # デフォルトではdhcpとsshのみ許可するようになっている
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

# 5500ポートを解放
$ firewall-cmd --add-port=5500/tcp --zone=public --permanent

# firewalldを再起動
$ systemctl restart firewalld

# 確認
$ firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens3
  sources:
  services: dhcpv6-client ssh
  ports: 5500/tcp  # 5500ポートが解放される
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

oracle 사용자의 비밀번호 설정



아래의 사이트를 참고로 패스워드를 설정.
설치 중에 작성된 oracle 사용자의 비밀번호 설정
SYS 사용자 · SYSTEM 사용자의 암호 설정

EMExpress 방문



다음 URL에 액세스하면 경고 화면이 표시됩니다. 표시되지 않는 경우 확인 항목
https://(인스턴스 공용 IP 주소):5500/em/



경고를 무시하고 열면 로그인 화면이 나온다.



여기서 oracle 사용자와 설정한 비밀번호가 통과하지 않고 https://IP 주소:5500이 사용자 이름과 비밀번호를 요청하고 있습니다. 사이트의 메시지: “XDB” 팝업이 나왔다.
다시 한 번 입력해도 통과하지 않습니다.



조사한 결과, sqlplus에서 이하의 프로시저를 실행해, 글로벌 포트의 설정이 필요한 것을 알았다.
이 사이트 덕분에 어떻게든 해결했다!
SQL> exec dbms_xdb_config.SetGlobalPortEnabled(TRUE)

상기의 커멘드를 실행해도, 로그인이 통과하는 조합은 이하만. 그 이외는 XDB의 팝업이 나오고 로그인할 수 없었다.

Username:sys 또는 system
Password: 방금 설정한 내용
Container Name: CDB$ROOT



마침내 로그인 할 수있었습니다! !



EMExpress가 시작되지 않음



EMExpress가 기동되지 않을 때의 확인 항목을 메모 계속 한다. (자신이 빠진 것)

· 보안 목록 설정
· firewalld 설정
· 리스너 · DB 시작 확인
oracle 사용자로 다음 명령을 실행합니다.

리스너 시작 확인
# 起動されている時はステータスが表示される。lsnrctl startで起動可能。
$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 08-12月-2020 10:02:13

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=instance-20201205-1646.subnet12041301.vcn12041301.oraclevcn.com)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日                    08-12月-2020 10:02:10
稼働時間                  0 日 0 時間 0 分 3 秒
〜(以下略)〜

DB 시작 확인
# sqlplusでshow pdbsが取得できるか確認。startupで起動可能。
$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 火 12月 8 10:22:24 2020
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.



Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
に接続されました。
SQL> show pdbs

    CON_ID CON_NAME           OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED           READ ONLY  NO
     3 ORCLPDB1           MOUNTED
SQL> 

끝에



정말 Bronze 공부를 위해 EMExpress를 만지려고 생각했지만, 기동에 생각 외에 고전했다. (그 덕분에 깊이 알았던 적도 있었지만 ^^)
다음 번에는 EMExpress에서 어떤 일을 할 수 있는지 알아 간다!

좋은 웹페이지 즐겨찾기