커맨드라인 툴

커맨드라인 툴 TBASCMD를 사용하여 디스크 스페이스에 저장된 파일을 조회하고 관리하는 방법을 설명합니다.

개요

TBASCMD는 사용자가 간단한 명령어를 통해서 디스크 스페이스의 정보를 조회하고 디스크 스페이스에 저장된 파일을 조회 및 관리할 수 있도록 해줍니다. 또한 로컬 디렉터리에 있는 파일을 디스크 스페이스에 저장하거나 디스크 스페이스에 있는 파일을 로컬 디렉터리에 저장할 수 있도록 해줍니다.

사용자가 명령어를 입력하면 TBASCMD는 TAS 인스턴스에 접속하여 필요한 정보 및 작업을 요청하게 됩니다.

TBASCMD 실행

TBASCMD를 실행할 때에 정보 및 작업을 요청할 TAS 인스턴스에 대한 접속 정보를 다음과 같이 인자로 지정하면 됩니다.

[예 1] TBASCMD 실행 인자

tbascmd (-p) {port}
tbascmd (-p) {port} -c "{cmd}"

$ tbascmd 52000
ASCMD 7

TmaxData Corporation Copyright (c) 2008-. All rights reserved. 

ASCMD>

TBASCMD는 입력한 포트 번호로 로컬의 TAS 인스턴스에 접속하게 됩니다. 포트 정보는 필수적으로 입력 해주어야 합니다. 커맨드라인 툴을 실행하기 전에 접속할 TAS 인스턴스가 부팅되어 있어야 합니다.

또한 하나의 명령어만 수행하고 TBASCMD를 종료하고자 할 경우 -c "{cmd}" 옵션을 추가하여 TBASCMD 실행과 동시에 명령어를 수행하고 즉시 종료할 수 있으며, 이 때 명령어는 큰따옴표(" ") 또는 작은따옴표 (' ') 로 감싸서 입력해야 합니다.

TBASCMD 명령어

TBASCMD를 통해 사용할 수 있는 명령어는 다음과 같습니다.

명령어
설명

cd

현재 경로를 변경

du

현재 경로에 존재하는 파일들이 차지하는 디스크 공간의 크기를 보여주거나 디스크 스페이스들의 용량을 조회

exit

TBASCMD를 종료

help

명령어들에 대한 도움말을 조회

ls

현재 경로에 있는 모든파일의 목록을 보여주거나 디스크 스페이스의 목록을 조회

lsds

디스크 스페이스들에 대한 정보를 조회

pwd

현재 경로를 조회

rm

TAS 파일을 제거

cp

TAS 파일을 복사하여 새로운 TAS 파일을 생성

cpfromlocal

로컬 경로의 파일을 복사하여 TAS 파일을 생성

cptolocal

TAS 파일을 복사하여 로컬 파일을 생성

mkdir

디렉터리를 생성

mv

TAS 파일을 이동시킴

check

TAS 파일에 대한 정합성 검사를 실시

circle-info

참고

7.2.1 릴리즈부터 mv, check 명령어를 지원하며, du 명령어는 현재 경로에 존재하는 디렉터리내 파일들이 차지하는 디스크 공간을 보여줍니다.

명령어에 파일이름이나 경로를 인수로 입력하는 경우에 그 경로를 절대 경로나 상대 경로로 입력할 수 있습니다.

절대 경로

절대 경로는 경로명 전체를 의미하며 다음과 같이 '+'로 시작하고 디스크 스페이스 이름과 디스크 스페이스 내에서의 경로가 명시됩니다.

상대 경로

상대 경로는 입력할 전체 경로명 중에서 현재 경로로 지정되지 않은 나머지 경로를 의미하는 것으로, 결과적으로 상대 경로는 다음과 같이 현재 경로와 조합되어 명령어 실행에 사용됩니다.

상대 경로를 사용하는 경우에 다음의 심볼을 사용할 수 있습니다.

심볼
설명

"."

현재 경로를 나타낸다.

".."

상위 경로(경로명에서 마지막 '/' 또는 현재 경로가 디스크 스페이스라면 최상위 경로 인 '+')를 나타낸다.

다음과 같이 "."과 ".."뒤에 추가 경로를 입력해줄 수 있습니다.

cd

cd 명령어를 통해 현재 경로를 변경할 수 있습니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

path

절대 경로 및 상대 경로로 입력될 수 있으며 존재하는 경로라면 입력한 경로로 현재 경로가 변경됨

du

du 명령어를 사용하여 지정한 경로에 존재하는 파일 또는 디렉터리가 차지하는 디스크 공간의 크기를 조회할 수 있습니다. 최상위 경로(+)에 대해 명령어를 실행하면 디스크 스페이스들의 용량과 남은 용량을 조회합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

-a

-a 옵션을 사용하는 경우 지정한 경로 뿐만 아니라 하위 디렉터리의 모든 파일에 대해 크기를 조회

path

  • path는 필수적으로 입력될 필요는 없음

  • path를 입력하지 않는다면 현재 경로에 대해서 명령어가 수행됨

circle-info

참고

7.2.1 릴리즈부터 현재 경로에 존재하는 디렉터리내 파일들이 차지하는 디스크 공간을 보여줍니다.

예제

du 명령어는 해당 경로에 있는 파일들의 크기를 보여줄 뿐만 아니라 미러링된 파일들을 고려한 크기도 조회합니다.

다음 예제에 나타나는 mirror used mb가 이와 같이 mirroring을 고려한 파일 크기입니다.

exit

exit 명령어를 입력하면 프로그램이 종료됩니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

help

help 명령어를 입력하면 사용할 수 있는 모든 명령어들에 대한 도움말이 출력됩니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

ls

ls 명령어를 사용하여 지정한 경로의 파일들의 목록을 조회할 수 있습니다. 최상위 경로(+)에 대해 명령어를 실행하면 디스크 스페이스들의 목록을 조회합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

-a

-a 옵션을 사용하는 경우 지정한 경로 뿐만 아니라 하위 디렉터리의 모든 파일 목록을 조회

-s, --size

-s 옵션을 사용하는 경우 지정한 경로 뿐만 아니라 파일의 크기 정보를 조회

-l, --long

-l 옵션을 사용하는 경우 지정한 경로 뿐만 아니라 파일의 상세 정보를 조회

path

path를 입력하지 않는다면 현재 경로에 대해서 명령어가 수행됨

circle-info

참고

-s, -l 옵션은 7.2.1 릴리즈부터 지원합니다.

예제

다음은 ls 파일 목록 예제입니다.

다음은 ls 디스크 스페이스 목록 예제입니다.

lsds

디스크 스페이스들의 목록과 그 정보를 조회합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

예제

다음 예제와 같이 디스크 스페이스들의 번호, 이름, 상태, 중복 레벨, 섹터 사이즈, 메타 블록 크기, 디스크 할당 단위의 크기, 총 용량, 여유 용량을 조회합니다.

pwd

현재 경로를 조회합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

예제

rm

rm 명령어를 사용하면 TAS 파일을 제거할 수 있습니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

-f, --force

-f 옵션을 사용하는 경우 존재하지 않는 파일을 무시하고 에러 메시지를 표시하지 않음

-r, --recursive

-r 옵션을 사용하는 경우 디렉터리를 제거할 수 있음

-v, --verbose

-v 옵션을 사용하는 경우 작업 결과를 출력해줌

files

files는 상대 경로 및 절대 경로로 지정할 수 있으며 여러 파일의 이름을 입력하면 여러 파일을 동시에 제거할 수 있음

circle-info

참고

-f, -r, -v 옵션은 7.2.1 릴리즈부터 지원합니다.

예제

DB가 기동 중인 상황에서는 .arc 파일을 제외하고 오류가 발생합니다.

cp, cpfromlocal, cptolocal

cp 명령어를 사용하면 TAS 파일을 복사하여 새로운 TAS 파일을 생성할 수 있으며 cpfromlocal 명령어를 사용하면 로컬 파일을 복사하여 TAS 파일을 생성할 수 있습니다.

cptolocal 명령어를 사용하면 TAS 파일을 로컬 파일로 복사할 수 있습니다. 생성할 파일명이 이미 존재합니다면 복사를 수행을 하지않고 오류 메시지를 출력합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

infile, outfile

  • infile과 outfile은 절대 경로와 상대 경로로 지정해 줄 수 있음

  • infile로 지정한 file을 복사하여 outfile을 생성

  • 또한 복사한 용량, 소요시간, 속도를 출력

-redun redun_no

  • 대상 파일의 미러링 복사본 중 하나를 특정하여 복사하고자 할 때 사용

  • re dun_no 번호에 해당하는 미러링 복사본을 복사하게 되며, redun_no는 대상 파일의 중복 레벨에 따라 0~2 사이의 값을 가질 수 있음

-t file_type

파일이 TAS 상에서 어떤 파일 타입을 가질 것인지 결정하는 옵션 (“4.1.6. V$AS_FILE” 참고)

-r, --recursive

-r 옵션을 사용하는 경우 디렉터리를 복사할 수 있음

-v, --verbose

-v 옵션을 사용하는 경우 작업 결과를 출력해줌

-b, --blksize

-b 옵션을 사용하는 경우 파일의 블록 크기를 정해줌

--bs BYTES

입/출력 블록 사이즈의 크기를 설정하며 한번에 <BYTES> 만큼 읽고 쓰며 ibs, obs

설정을 덮어씀

--ibs BYTES

infile 입/출력 블록 크기를 설정하며 한번에 <BYTES> 만큼 infile 에서 읽어옴

--obs BYTES

outfile 입/출력 블록 크기를 설정하며 한번에 <BYTES> 만큼 outfile 에 씀

--count N

<N> 개의 블록만 복사

--skip N

infile의 <N> 번째 블록부터 읽기를 시작

--seek N

outfile의 <N> 번째 블록부터 쓰기를 시작

circle-info

참고

-r, -v, -b, --bs, --ibs, --obs, --count, --skip, --seek 옵션은 7.2.1 릴리즈부터 지원합니다.

예제

mkdir

mkdir 명령어를 이용하면 디렉터리를 생성할 수 있습니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

-f, --force

-f 옵션을 사용하는 경우 존재하는 디렉터리를 무시하고 에러 메시지를 표시하지 않음

dirname

dirname에 해당하는 디렉터리를 생성

circle-info

참고

-f 옵션은 7.2.1 릴리즈부터 지원합니다.

예제

mv

mv 명령어를 이용하면 파일을 이동시킬 수 있습니다.

circle-info

참고

mv 명령어는 7.2.1 릴리즈부터 지원합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

-v

-v 옵션을 사용하는 경우 작업 결과를 출력해줌

src_file, dest_file

  • src_file과 dest_file은 절대 경로와 상대 경로로 지정해 줄 수 있음

  • src_file로 지정 한 file을 dest_file로 변경

예제

check

check 명령어를 이용하면 사용자가 알고 있는 TAS 파일 정보에 대해 정합성 검사를 할 수 있습니다.

circle-info

참고

check 명령어는 7.2.1 릴리즈부터 지원합니다.

명령어의 세부 내용은 다음과 같습니다.

사용법

인자
설명

--ds_no

사용자가 알고 있는 디스크 스페이스 번호를 입력

--file_no

사용자가 알고 있는 파일 번호를 입력

--blksize

사용자가 알고 있는 블록 크기를 입력

--size

사용자가 알고 있는 파일 크기를 입력

filename

절대 경로 및 상대 경로로 입력할 수 있으며 검사하고자 하는 파일 이름을 입력

예제

TBASCMD 에러코드

다음은 TBASCMD를 사용하는 도중에 발생할 수 있는 에러에 대한 원인과 해결 방법에 대한 설명입니다.

circle-info

참고

7.2.1 릴리즈 이전까지 해당 에러코드가 적용됩니다.

ERROR CODE -1: invalid tas port number

원인

포트 번호로 0이나 음수 또는 숫자가 아닌 문자열이 입력된 경우

해결 방법

포트 번호를 확인

ERROR CODE -2: more arguments needed

원인

tbascmd를 실행하는 경우 argument가 하나도 입력되지 않았을 경우

해결 방법

포트 번호를 확인

ERROR CODE -3: invalid argument

원인

tbascmd를 실행하는 경우 올바르지 않은 argument가 입력된 경우

해결 방법

올바른 argument를 입력

ERROR CODE -4: connection failed

원인

포트 번호를 통해 TAS 인스턴스와 연결하는데 실패했을 경우

해결 방법

포트 번호 또는 TAS 인스턴스가 실행되어 있는지 확인

ERROR CODE -5: invalid command "INPUT CMD"

원인

유효하지 않은 tbascmd 명령어가 입력된 경우

해결 방법

유효한 tbascmd 명령어를 입력

ERROR CODE -6: length of command cannot exceed "ASCMD_CMD_LEN_MAX"

원인

입력한 tbascmd 명령어가 길이 제한을 초과한 경우

해결 방법

2048 글자 이하의 tbascmd 명령어를 입력

ERROR CODE -7: invalid option "INPUT OPTION" for command "INPUT CMD"

원인

입력한 tbascmd 명령어와 옵션이 서로 맞지 않은 경우

해결 방법

tbascmd 명령어와 옵션을 확인

ERROR CODE -8: invalid option "INPUT OPTION"

원인

tbascmd에서 정의되어있지 않은 옵션을 사용한 경우

해결 방법

tbascmd에 정의된 옵션을 입력

ERROR CODE -9: blksize cannot exceed "ASCMD_BLOCK_SIZE_MAX"

원인

cpfromlocal 명령어의 옵션으로 입력한 block size가 최대값을 초과한 경우

해결 방법

32KB이하의 ASCMD_BLOCK_SIZE를 입력

ERROR CODE -10: invalid file type "INPUT FILE TYPE" valid types [data, redo, ctrl, temp, arch]

원인

cpfromlocal 명령어의 옵션으로 지정한 파일 타입이 tbascmd에 정의되어있는 타입에 해당하지 않는 경우

해결 방법

명령어의 옵션으로 지정한 파일 타입이 정의된 파일 타입인지 확인

ERROR CODE -12: too many arguments for command "INPUT CMD"

원인

tbascmd 명령어의 argument가 요구사항보다 많이 입력된 경우

해결 방법

해당 tbascmd 명령어 사용법을 확인

ERROR CODE -13: need more arguments for command "INPUT CMD"

원인

tbascmd 명령어의 argument가 요구사항보다 적게 입력된 경우

해결 방법

해당 tbascmd 명령어 사용법을 확인

ERROR CODE -14: invalid argument "INPUT ARG" for command "INPUT CMD"

원인

argument가 필요없는 명령어에 argument를 전달했을 경우

해결 방법

해당 tbascmd 명령어 사용법을 확인

ERROR CODE -15: cannot parse NULL path

원인

파일 경로로 NULL값이 전달된 경우

해결 방법

NULL이 아닌 파일 경로를 입력

ERROR CODE -16: length of path must be less than "ASCMD_PATH_LEN_MAX"

원인

파일 경로의 길이가 제한 길이를 초과한 경우

해결 방법

256 글자 이하의 파일 경로를 입력

ERROR CODE -18: path "INPUT PATH" has invalid form

원인

파일 경로의 형식이 올바르지 않은 경우

해결 방법

올바른 파일 경로 형식을 입력

ERROR CODE -19: no such path

원인

입력한 파일 또는 경로가 존재하지 않는 경우

해결 방법

존재하는 파일 경로를 입력

ERROR CODE -20: length of diskspace name must be less than "ASCMD_DS_NAME_LEN_MAX"

원인

디스크 스페이스의 이름이 제한 길이를 초과한 경우

해결 방법

48 글자 이하의 디스크 스페이스 이름을 입력

ERROR CODE -22: no such diskspace "INPUT DS NAME"

원인

경로에 포함된 디스크 스페이스를 찾지 못한 경우

해결 방법

해당 경로에 디스크 스페이스를 생성하거나, 디스크 스페이스가 존재하는 path를 입력

ERROR CODE -23: no diskspace found

원인

디스크 스페이스가 하나도 존재하지 않는 경우

해결 방법

디스크 스페이스를 생성

ERROR CODE -24: length of file name must be less than "ASCMD_FILE_NAME_LEN_MAX"

원인

파일명이 제한 길이를 초과한 경우

해결 방법

48 글자 이하의 파일명을 입력

ERROR CODE -25: invalid filename ‘FILENAME’

원인

파일명으로 올바르지 않은 문자열이 전달된 경우

해결 방법

올바른 파일명을 확인

ERROR CODE -26: file 'FILENAME' already exists

원인

cp 명령어를 수행하는 경우 대상 파일과 같은 이름의 파일이 이미 존재할 경우

해결 방법

같은 이름의 파일이 이미 존재하므로, 다른 파일명을 입력

ERROR CODE -27: length of directory path must be less than "ASCMD_PATH_LEN_MAX"

원인

입력한 경로의 길이가 제한 길이를 초과한 경우

해결 방법

255 글자 이하의 경로를 입력

ERROR CODE -29: cannot use directory with cp command

원인

cp 명령어를 수행할 때 두 파일명 중 하나 이상이 디렉터리 경로가 들어온 경우

해결 방법

올바른 파일 경로나 파일명인지 확인

ERROR CODE -30: cannot alloc memory

원인

파일 복사에 사용할 버퍼의 메모리 할당에 실패한 경우

해결 방법

기술지원을 통한 연구소 분석을 요청

ERROR CODE -31: asfd_pread failed

원인

cp 명령어 수행 중 파일 읽기에 실패한 경우

해결 방법

올바른 파일 경로나 파일명인지 확인하거나 경로와 파일명의 권한 설정을 확인

ERROR CODE -32: asfd_pwrite failed

원인

cp 명령어 수행 중 파일 쓰기에 실패한 경우

해결 방법

올바른 파일 경로나 파일명인지 확인하거나 경로와 파일명의 권한 설정을 확인

ERROR CODE -33: file resize failed

원인

TAS가 파일의 alignment를 맞추기 위한 resize 작업을 수행하다가 실패한 경우

해결 방법

기술지원을 통한 연구소 분석을 요청

ERROR CODE -35: file name is not entered ascmd is not allowed to remove diskspace

원인

rm 명령어의 argument로 입력한 경로에 파일명 없이 디스크 스페이스만 주어진 경우

해결 방법

올바른 파일명을 입력합니다. 만약, 디스크 스페이스를 지우고 싶다면 tbsql에서 DROP DISKSPACE 구문을 사용

ERROR CODE -36: ascmd command should be given after -c, --cmd option

원인

tbascmd -c, --cmd 옵션 뒤에 명령어를 입력하지 않았을 경우

해결 방법

tbascmd 명령어와 옵션을 확인

ERROR CODE -37: cannot open file

원인

TAS가 cp 명령어 수행 과정에서 파일을 여는데 실패한 경우입니다. 원인이 다양하여 특정할 수 없음

해결 방법

기술지원을 통한 연구소 분석을 요청

ERROR CODE -38: tas failed to get ds list

원인

TAS가 디스크 스페이스의 목록을 읽어오다가 실패한 경우

해결 방법

기술지원을 통한 연구소 분석 필요

ERROR CODE -39: tas failed to get file info

원인

TAS가 file size, redun number 등의 파일 정보를 얻어오는데 실패한 경우

해결 방법

기술지원을 통한 연구소 분석을 요청

ERROR CODE -40: valid input should be given to option 'OPTION'

원인

cpfromlocal 명령어 뒤에 사용되는 -b, --blksize, -t, --type 등의 옵션 뒤에 올바르지 않은 값이 입력된 경우

해결 방법

cpfromlocal 명령어의 사용법을 확인

Last updated