Sybase 데이터베이스의 덤프 파일 크기를 줄이는 방법이 있습니까?

StackOverflow https://stackoverflow.com/questions/206787

  •  03-07-2019
  •  | 
  •  

문제

Sybase 데이터베이스를 덤프 할 때 테이블에 데이터가 있는지 여부는 중요하지 않은 것 같습니다. 파일 크기는 동일합니다. 나는 이것이 내 덤프 파일이 바이너리이고 논리적이지 않다는 사실에 달려 있다고 들었으므로 덤프 파일의 파일은 데이터베이스의 할당 된 크기를 기반으로합니다. Oracle은 논리적 덤프 파일을 사용할 수 있다는 것을 알고 있지만 Sybase가 비슷한 일을하도록 할 수 있습니까? 아니면 덤프 파일 크기를 줄이는 다른 몰래 방법이 있습니까?

도움이 되었습니까?

해결책

버전 12에 어딘가에 있기 때문에 ASE에서 압축 덤프를 수행 할 수있었습니다.

구문은 다음과 같습니다. 덤프 데이터베이스 database_name to file_name [compression = compress_level

compress_level은 0-9입니다. 0은 압축이 아니며 9가 가장 많습니다. 더 많이 압축할수록 덤프를 실행하는 동안 CPU 사용량이 높아집니다. 적절한 크기 대 성능의 균형을 찾으려면 약간의 테스트를 수행하면됩니다.

덤프를로드하기 위해 특별 명령이 필요하지 않습니다.

다른 팁

Compress_Level 9를 이미 사용하고 있지만 여전히 더 많은 압축을 원한다면 BZIP2로 파일을 다시 압축 할 수 있습니다.

압축 파일을 간단히 BZIP2하면 ~ 10% 개선됩니다. 압축 및 재 압축을 풀면 30% 범위의 개선이 표시 될 수 있습니다. 그러나 Sybase가로드하려면 파일을 압축하지 않고 다시 gzip해야한다는 것을 명심하십시오.

gunzip -c pubs_1.dmp | bzip2 > pubs.dmp.bz2

위의 링크 (구문은)는 Sybase 문서를 가리키기 때문에 명백히 정확하지만 주석은 오도됩니다.

간단한 형식의 구문은 다음과 같습니다.

덤프 데이터베이스 {database_name}은 "compress :: {#compression_level} :: {stripe_device}"로

EG : "compress :: 1 ::/sybase_dumps/mydb_17022009"로 데이터베이스 MyDB를 덤프합니다.

데이터베이스 덤프로드 측면에서 :: compress; 옵션을 다시 제공해야합니다.

예를 들어. "compresss ::/sybase_dumps/mydb_17022009"에서 데이터베이스 MyDB로드

압축 수준이 필요하지 않거나 다음과 같은 콜론이 필요하지 않습니다.

균형을 찾는 테스트는 좋은 지적입니다. 덤프가 상당히 오래 걸릴 것으로 기대할수록 더 높이기. 나는 1-3이 충분한 것 이상인 것을 발견했다. 나는 6을 넘지 못한 적이 없다.

내가 임시적이라면 위에서 설명한대로 파일을 bzip2합니다. 이것이 제작 호스트라면 파일을 다른 호스트에게 배송하고이를 수행합니다. 리소스 히트는 상당 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top