10 보고 데이터베이스 구성

Oracle HSM에서는 지정된 파일 시스템의 모든 파일에 대한 최신 메타데이터 정보를 저장하는 선택적 보고 데이터베이스를 지원합니다. 이 사이드밴드 데이터베이스는 파일 및 파일 시스템 작업을 관리하고 이 작업에 대해 보고하는 데 매우 유용할 수 있습니다.

Oracle HSM 사이드밴드 데이터베이스는 구현하기 쉽습니다. samdb 명령을 사용하여 제공된 스키마(또는 사용자 정의 대안) 및 samfsdump 명령을 통해 생성된 복구 지점 파일로 MySQL 데이터베이스를 만들고 구성합니다. 그러면 해당 파일 시스템이 변경될 때 Oracle HSM 데몬 프로세스에서 자동으로 데이터베이스를 업데이트합니다. 추가 samdb 명령을 사용하여 데이터베이스를 쿼리하고 관리할 수 있습니다. 명령 및 옵션에 대한 자세한 내용은 samdbsamdb.conf 매뉴얼 페이지를 참조하십시오.

사이드밴드 데이터베이스 기능을 사용하려면 다음 작업을 수행합니다.

MySQL 서버 소프트웨어 설치 및 구성

samdb 보고 기능을 사용으로 설정하려면 MySQL 데이터베이스를 설치하고 구성해야 합니다. 다음과 같이 하십시오.

  1. http://dev.mysql.com/doc/에서 MySQL Reference Manual을 다운로드합니다.

    samdb 보고를 사용으로 설정할 때 필요한 MySQL 작업을 식별하려면 아래 절차를 따릅니다. 하지만 아래 단계가 완전하다거나 신뢰할 수 있다는 의미는 아닙니다. MySQL Reference Manual을 참조할 때 길잡이로 삼으십시오.

  2. MySQL 서버를 호스트하는 시스템을 root로 로그인합니다.

    Oracle HSM 메타데이터 서버 호스트나 독립 Solaris 또는 Linux 호스트에 MySQL 서버를 설치할 수 있습니다.

    예제에서는 MySQL을 Solaris 호스트 samsql에 설치합니다.

    [samsql]root@solaris:~# 
    
  3. MySQL Reference Manual에 지시된 대로 MySQL 서버 소프트웨어를 다운로드하고 설치합니다. 자동 시작을 사용으로 설정합니다.

  4. mysql 클라이언트 및 root 사용자 계정을 사용하여 MySQL 서버에 연결합니다. mysql --user=root -p 명령을 사용합니다. 메시지가 표시되면 설치 중 root 사용자에게 지정한 암호를 입력합니다.

    mysql 명령 셸이 시작합니다.

    [samsql]root@solaris:~# mysql --user=root -p
    Enter Password:
    mysql>
    
  5. Oracle HSM MySQL 사용자를 만듭니다. CREATE USER 'user_name'@'host_name' IDENTIFIED BY 'user-password' 명령을 사용합니다. 설명:

    • user_name은 Oracle HSM MySQL 사용자 이름입니다.

    • host_name은 MySQL이 Oracle HSM 메타데이터 서버 호스트에 설치된 경우 localhost이고, 그렇지 않은 경우 메타데이터 서버의 호스트 이름 또는 IP 주소입니다.

    • user-password는 Oracle HSM MySQL 사용자에 지정하는 암호입니다.

    예제에서는 Oracle HSM 메타데이터 서버 samqfs1mds에서 samsql 사용자를 만듭니다. 사용자 암호 samsqluserpassw0rd를 데모용으로 설정합니다(운용 데이터베이스용으로는 안전한 선택이 아님).

    [samsql]root@solaris:~# mysql --user=root
    Enter Password:
    mysql> CREATE USER 'samsql'@'samqfs1mds' IDENTIFIED BY 'samsqluserpassw0rd'
    mysql> 
    
  6. Oracle HSM 사용자에게 필요한 권한을 부여합니다. GRANT CREATE,DROP,INDEX,SELECT,INSERT,UPDATE,DELETE ON host_name TO 'user_name'@'host_name' 명령을 사용합니다.

    예제에서는 메타데이터 서버 samqfs1mds에서 samsql 사용자에게 권한을 부여합니다.

    [samsql]root@solaris:~# mysql --user=root -p
    Enter Password:
    mysql> CREATE USER 'samsql'@'host_name' IDENTIFIED BY 'samsqluserpassw0rd'
    mysql> GRANT CREATE,DROP,INDEX,SELECT,INSERT,UPDATE,DELETE ON samqfs1mds TO \ 
    'samsql'@'samqfs1mds'
    mysql> 
    
  7. MySQL 명령 인터페이스를 닫고 운영체제 명령 셸로 돌아갑니다. MySQL 명령 QUIT를 사용합니다.

    [samsql]root@solaris:~# mysql --user=root -p
    Enter Password:
    mysql> CREATE USER 'samsql'@'host_name' IDENTIFIED BY 'samsqluserpassw0rd'
    mysql> GRANT CREATE,DROP,INDEX,SELECT,INSERT,UPDATE,DELETE ON samqfs1mds TO \ 
    'samsql'@'samqfs1mds'
    mysql> QUIT
    Bye
    root@solaris:~# 
    
  8. 이제 데이터베이스 로드 파일 만들기를 수행합니다.

데이터베이스 로드 파일 만들기

  1. Oracle HSM 메타데이터 호스트에 root로 로그인합니다.

    예제에서는 samqfs1mds 호스트에 로그인합니다.

    [samqfs1mds]root@solaris:~# 
    
  2. 최신 복구 지점 파일이 이미 있으므로 복구 지점 파일의 내용에서 데이터베이스 로드 파일을 생성합니다. samfsrestore -SZ output-path-name -f recoverypoint-file 명령을 사용합니다. 설명:

    • -frecoverypoint-file을 입력 파일의 경로 및 파일 이름으로 지정합니다.

    • -SZ를 지정하면 명령에서 복구 지점 파일을 검색하고 output-path-name에서 지정한 경로 및 파일 이름을 사용하여 데이터베이스 로드 파일을 출력합니다.

    자세한 내용은 samfsdump 매뉴얼 페이지를 참조하십시오.

    예제에서는 samqfs1 파일 시스템을 구성할 때 예약한 일별 복구 지점 파일 /zfs1/hsmqfs1_recovery/140129를 사용합니다(파일 시스템 보호 구성 참조). 출력을 데이터베이스 로드 파일 /root/hsmqfs1dataload로 보냅니다(아래 명령은 한 라인으로 입력하며 줄바꿈이 백슬래시 문자로 이스케이프됨).

    [samqfs1mds]root@solaris:~# samfsrestore -SZ /root/hsmqfs1dataload -f \
    /zfs1/hsmqfs1_recovery/140129
    
  3. 최신 복구 지점 파일이 없는 경우 지금 데이터베이스 로드 파일을 만듭니다. Oracle HSM 파일 시스템의 루트 디렉토리로 변경합니다. 그런 다음 samfsdump -SZ output-path-name 명령을 사용합니다.

    자세한 내용은 samfsdump 매뉴얼 페이지를 참조하십시오. 예제에서는 /hsmqfs1 디렉토리로 변경합니다. 출력을 데이터베이스 로드 파일 /root/hsmqfs1dataload로 보냅니다.

    [samqfs1mds]root@solaris:~# cd /hsmqfs1
    [samqfs1mds]root@solaris:~# samfsdump -SZ /root/hsmqfs1dataload 
    
  4. 이제 사이드밴드 데이터베이스 만들기를 수행합니다.

사이드밴드 데이터베이스 만들기

  1. MySQL 서버 호스트에 root로 로그인합니다.

    예제에서는 MySQL 호스트가 Solaris 호스트 samqfs1mds에서 호스트됩니다.

    [samqfs1mds]root@solaris:~# 
    
  2. 텍스트 편집기에서 /etc/opt/SUNWsamfs/samdb.conf 파일을 엽니다.

    예제에서는 vi 편집기를 사용합니다. 먼저 제목 행을 주석으로 추가합니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    
  3. samdb.conf 파일의 첫번째 열에 파일 시스템의 패밀리 세트 이름을 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    예제에서는 패밀리 세트 이름 samqfs1을 입력합니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:
    
  4. 두번째 열에 MySQL 데이터베이스 서버의 호스트 이름을 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    예제에서는 Oracle HSM 메타데이터 서버 호스트 samqfs1mds에서 데이터베이스 서버를 공동 호스팅합니다. 따라서 호스트 이름 localhost를 입력합니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:
    
  5. 세번째 열에 Oracle HSM 소프트웨어가 MySQL 데이터베이스에 액세스할 때 사용하는 사용자 이름을 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    예제에서는 데이터베이스에 로그인하는 용도로 samqfs 사용자를 만들었습니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:
    
  6. 네번째 열에 Oracle HSM 소프트웨어가 MySQL 데이터베이스에 액세스할 때 사용하는 암호를 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    예제에서는 더미 암호 Pˆssw0rd를 사용합니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:
    
  7. 다섯번째 열에 MySQL 데이터베이스의 이름을 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    예제에서는 데이터베이스 이름을 samqfs1db로 지정합니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:
    
  8. 여섯번째 열에 데이터베이스 서버의 TCP/IP 포트를 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    예제에서는 0을 입력합니다. 원격 서버를 사용한 경우 0 값을 입력하거나 비워 두면 기본 포트 3306이 지정됩니다. 하지만 여기서는 localhost를 사용하므로 0은 단순히 자리 표시자로만 사용됩니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:0:
    
  9. 일곱번째 열에 MySQL 클라이언트 플래그를 입력한 후 콜론(:)을 열 구분자로 입력합니다.

    MySQL 클라이언트 플래그는 일반적으로 0으로 설정됩니다. 하지만 다양한 값 조합을 설정하여 특정 MySQL 기능을 사용으로 설정할 수 있습니다. 자세한 내용은 mysql_real_connect() 함수에 대한 MySQL 설명서를 참조하십시오.

    예제에서는 0을 입력합니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:0:0:
    
  10. 여덟번째인 마지막 열에 Oracle HSM 파일 시스템의 마운트 지점을 입력합니다. 파일을 저장하고 편집기를 닫습니다.

    예제에서는 파일 시스템이 /hsmqfs/hsmqfs1에 마운트됩니다.

    [samqfs1mds]root@solaris:~# vi /etc/opt/SUNWsamfs/samdb.conf
    # /etc/opt/SUNWsamfs/samdb.conf
            #FS_NAME:HOST:USER:PASSWORD:NAME:PORT:CLIENT_FLAG:MOUNT_POINT
    samqfs1:localhost:samqfs:Pˆssw0rd:samqfs1db:0:0:/hsmqfs/hsmqfs1
    :wq
    [samqfs1mds]root@solaris:~# 
    
  11. 새 데이터베이스 및 연관된 테이블을 만듭니다. samdb create family_set 명령을 사용합니다. 여기서 family_set/etc/opt/SUNWsamfs/mcf 파일에서 Oracle HSM 파일 시스템에 지정된 패밀리 세트 이름입니다.

    기본 데이터베이스 스키마는 /opt/SUNWsamfs/etc/samdb.schema입니다. 명령을 samdb create family_set -s schema로 입력하여 대체 스키마를 지정할 수 있습니다. 여기서 schema는 스키마 파일의 경로 및 이름입니다.

    예제에서는 기본 스키마를 사용하여 파일 시스템 패밀리 세트 samqfs1에 대한 데이터베이스를 만듭니다.

    [samqfs1mds]root@solaris:~# samdb create samqfs1 
    
  12. 이전 절차에서 만든 데이터베이스 로드 파일에 포함된 데이터로 데이터베이스를 채웁니다. samdb load family_set input_file 명령을 사용합니다. 여기서 family_set/etc/opt/SUNWsamfs/mcf 파일에서 파일 시스템에 대해 지정한 패밀리 세트이고 input_file은 데이터베이스 로드 파일의 경로 및 이름입니다.

    예제에서는 데이터베이스 로드 파일 /root/hsmqfs1dataload를 사용하여 파일 시스템 패밀리 세트 samqfs1에 대한 데이터베이스를 로드합니다.

    [samqfs1mds]root@solaris:~# samdb load samqfs1 /root/hsmqfs1dataload
    
  13. 데이터베이스가 일관성이 있는지 확인합니다. samdb check family_set 명령을 사용합니다. 여기서 family_set/etc/opt/SUNWsamfs/mcf 파일에서 파일 시스템에 지정한 패밀리 세트 이름입니다.

    samdb check 명령은 데이터베이스 항목을 현재 파일 시스템 메타데이터와 비교합니다. 로드 프로세스 중 발생할 수 있는 불일치를 발견하고 가능하면 수정합니다.

    예제에서는 데이터베이스 로드 파일 /root/hsmqfs1dataload를 사용하여 파일 시스템 패밀리 세트 samqfs1에 대한 데이터베이스를 로드합니다.

    [samqfs1mds]root@solaris:~# samdb check samqfs1
    
  14. 이제 데이터베이스 지원을 사용으로 설정하고 Oracle HSM 파일 시스템 마운트를 수행합니다.

데이터베이스 지원을 사용으로 설정하고 Oracle HSM 파일 시스템 마운트

  1. Oracle HSM 메타데이터 호스트에 root로 로그인합니다.

    [samqfs1mds]root@solaris:~#  
    
  2. /etc/vfstab 파일을 백업합니다.

    [samqfs1mds]root@solaris:~# cp /etc/vfstab /etc/vfstab.backup
    
  3. 텍스트 편집기에서 /etc/vfstab 파일을 열고 데이터베이스를 만든 파일 시스템 항목까지 아래로 스크롤합니다.

    예제에서는 vi 편집기를 사용합니다. 여기서는 samqfs1 파일 시스템 항목까지 아래로 스크롤합니다.

    [samqfs1mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samqfs1    -        /hsmqfs1  samfs   -     yes      ... ,partial=64
    
  4. /etc/vfstab 파일의 마지막 열에서 sam_db를 파일 시스템의 마운트 옵션 목록에 추가합니다. 그런 다음 파일을 저장하고 편집기를 닫습니다.

    예제에서는 samqfs1 파일 시스템에서 사이드밴드 데이터베이스를 사용으로 설정합니다.

    [samqfs1mds]root@solaris:~# vi /etc/vfstab 
    #File
    #Device    Device   Mount     System  fsck  Mount    Mount
    #to Mount  to fsck  Point     Type    Pass  at Boot  Options
    #--------  -------  --------  ------  ----  -------  -------------------------
    /devices   -        /devices  devfs   -     no       -
    ...
    samqfs1    -        /hsmqfs1  samfs   -     yes      ... ,partial=64,sam_db
    :wq
    root@solaris:~# 
    
  5. Oracle HSM 아카이빙 파일 시스템을 마운트합니다.

    파일 시스템이 sam_db 옵션을 사용하여 마운트되면 Oracle HSM 소프트웨어에서 사이드밴드 데이터베이스를 업데이트하는 프로세스를 시작합니다.

    예제에서는 파일 시스템 /hsmqfs1을 마운트합니다.

    [samqfs1mds]root@solaris:~# mount /hsmqfs1
    
  6. 다음에는 알림 및 로깅 구성으로 이동합니다.