현상
TAS 환경에서 아카이브 로그 파일 미존재 시, 아카이브 ds(disk space) 경로에서 ls 수행 실행하면 아래와 같이 no such path (rc=-19) 메세지가 발생합니다.
ASCMD> cd archive
current path = +DS/archive
ASCMD> ls
<File_name>
log-t0-r0-s5.arc
- Number of files found: 1
ASCMD> rm log-t0-r0-s5.arc
rm complete: +DS/archive/log-t0-r0-s5.arc --> archive 삭제
ASCMD> ls
ERROR: no such path '+DS/archive/' (rc=-19)
SQL
복사
원인
TAS 환경에서는 disk space에 파일을 생성할 때, 전체 경로(path)를 포함한 문자열을 하나의 파일 이름(filename)으로 인식합니다.
예를 들어, +DS0/test 경로에 testfile이라는 파일을 생성하면, TAS는 이를 +DS0/test/testfile이라는 하나의 파일 이름으로 처리합니다.
TBASCMD는 사용자가 간단한 명령어를 통해 disk space의 정보를 조회하고, 저장된 파일들을 확인 및 관리할 수 있도록 제공되는 커맨드 도구입니다.
이 도구는 TAS로부터 파일 목록을 받아와 경로를 분석한 뒤, 마치 디렉토리 계층이 존재하는 것처럼 사용자에게 구조화된 형태로 보여줍니다.
따라서, 특정 디렉토리 하위의 모든 DB 파일이 삭제되면, 해당 경로를 포함한 파일이 TAS 상에서 존재하지 않게 되며, TBASCMD에서도 해당 디렉토리는 자동으로 사라진 것처럼 보이는 것이 정상 동작입니다.
단, mkdir 명령어 등을 통해 수동으로 생성한 디렉토리의 경우, 하위에 파일이 없어도 디렉토리 경로는 조회될 수 있습니다.
해결
TAS 환경에서 아카이브 로그 파일이 생성되기 전에는, 아카이브 disk space 경로에서 ls 수행 시 no such path 에러가 발생하는 것이 정상 동작 입니다.
아카이브 로그 파일 생성 후, 아카이브 disk space 경로에서 ls 수행 시 아래와 같이 정상적으로 조회 됨을 확인할 수 있습니다.
ASCMD> ls
<File_name>
log-t0-r0-s6.arc
Number of files found: 1
SQL
복사