Microsoft .NET 네트워크를 구축 중이고 백엔드가 Oracle 데이터베이스를 실행하는 경우 백엔드를 SQL Server로 마이그레이션해야 합니다. 이 질문의 핵심은 데이터베이스 성능을 비교하는 것이 아니라 자신에게 가장 적합한 도구를 찾는 것입니다. .NET 아키텍처에서 이 두 가지 질문에 답할 수 있는 답은 단 하나, 바로 .NET 서버입니다. 이 문서에서는 먼저 네트워크에 Oracle 서버가 있는 이유를 살펴본 다음 이를 SQL Server로 마이그레이션하는 방법을 논의하고 마지막으로 이러한 이동의 장단점을 설명합니다.
시스템의 Oracle
네트워크에 Oracle 서버가 있는 경우 해당 서버가 필요한 이유, 즉 누가 이를 사용하고 있는지, 어떤 애플리케이션이 이를 사용하고 있는지, 어떤 애플리케이션이 실행되고 있는지 등을 파악해야 합니다.
누가 사용하고 있나요?
먼저 누가 Oracle 서버를 사용하고 있는지 알아내야 합니다. 그렇지 않고, 답변을 받기도 전에 서둘러 서버를 옮기게 되면 큰 실수로 이어질 가능성이 높습니다. 물론, 정말로 이 작업을 수행하려면 데이터베이스 사용자를 찾는 것이 빠른 방법입니다. 하지만 우리는 여전히 그렇게 하지 말라고 조언합니다.
네트워크 관리자는 Oracle 사용량을 모니터링하거나 기록하기 위한 절차를 갖고 있을 수 있습니다. 개발자는 현재 서버를 사용하여 애플리케이션을 개발할 수 있습니다. 관리자는 데이터베이스에 저장된 데이터를 기반으로 분석 보고서를 생성하거나 Oracle 백엔드를 사용하여 비즈니스 결정을 내려야 할 수도 있습니다. 그리고 데이터베이스 사용자는 전 세계에 있을 수 있습니다. Oracle에서 SQL Server로의 마이그레이션 프로세스로 인해 어떤 사용자가 영향을 받을지 결정할 때 이러한 가능성을 모두 고려해야 합니다.
어떤 응용 프로그램을 사용합니까?
이제 누가 Oracle을 사용하고 있는지 알아보기 위해 모든 사용자에게 한 명씩 질문한다고 가정해 보겠습니다. 그들의 대답은 '아니오'입니다. 그러면 로그 파일을 확인하여 어떤 워크스테이션이 데이터베이스에 액세스하고 있는지 파악해야 합니다. 이러한 로그 파일을 확인하면 워크스테이션이 데이터베이스에 액세스하고 있을 뿐만 아니라 다른 서버도 데이터베이스에 액세스하고 있음을 알 수 있습니다.
좋아요, 펜을 들고 데이터베이스에 액세스하는 서버를 기록한 다음 해당 서버가 데이터베이스에 액세스하는 특정 응용 프로그램이 무엇인지 알아보세요. 이러한 애플리케이션은 데이터 테이블에 저장된 데이터를 서버에서 실행 중인 애플리케이션과 비교하여 식별할 수 있습니다.
Oracle 서버에서는 어떤 애플리케이션이 실행되고 있습니까?
이제 데이터베이스에 액세스하는 사용자와 외부 애플리케이션을 알았으므로 이제 데이터베이스 서버 자체에서 어떤 애플리케이션이 실행되고 있는지 알아야 합니다. 이러한 애플리케이션은 데이터베이스 저장 프로시저(및 해당 트리거, 사용자 정의 데이터 유형, 보안 설정 등)이거나 Oracle 내에서 실행되지 않는 독립적인 애플리케이션일 수 있습니다. 특히 서버에 추가된 Oracle 개발 도구에 주의를 기울여야 합니다.
SQL Server로 마이그레이션
Oracle 서버를 즉시 분리하고 SQL Server를 설치하고 싶은 유혹을 받아서는 안 됩니다. 중요한 서버를 마이그레이션하기 전에 두 번 생각해야 합니다. 이 프로세스를 특별히 마이그레이션이라고 부르는 이유는 무엇입니까? 마이그레이션이 항상 갑자기 발생하는 것은 아니기 때문입니다. 몇 가지 간단하고 합리적인 조치를 취하면 아무런 장애 없이 마이그레이션 프로세스를 완료할 수 있습니다.
응용 프로그램을기본 응용 프로그램과 외부 응용 프로그램
으로 마이그레이션하려면다음 단계를 수행하십시오.
1. 네트워크에 새 SQL Server를 설치합니다.
2. 애플리케이션에서 사용되는 "장치" 및 데이터 테이블을 생성합니다.
3. 애플리케이션의 데이터베이스 액세스를 금지하고 애플리케이션을 오프라인으로 만듭니다.
4. 현재 데이터를 Oracle에서 SQL Server로 복사합니다.
5. 모든 애플리케이션이 새 데이터베이스를 가리키도록 합니다.
6. 애플리케이션이 데이터 테이블 및 장치의 새로운 데이터에 액세스할 수 있도록 허용합니다.
SQL Server와 Oracle 간의SQL 마이그레이션을 고려할
때 치명적인 문제가 있습니다. 두 가지 SQL 방언, 즉 SQL-PL/SQL(Oracle)과 Transact-SQL(Microsoft)을 사용합니다.
대부분의 경우 하나의 SQL 언어를 사용할 수 있으면 다른 SQL 언어도 사용할 수 있습니다. SQL 함수, 연산자, 명령문 등을 고려하여 SQL Programmer's Reference를 특별히 편집했습니다. 이 정보는 다양한 DBMS에서 지원하는 기능을 보여줍니다. 물론, 이들 미국의 SQL 제품 공급업체들이 미국 표준 SQL(ANSI-SQL)을 정직하게 준수한다면 왜 이렇게 큰 문제가 발생하겠는가!
또한 다음과 같은 문제가 발생할 수도 있습니다.
Oracle의 이중 테이블 - SQL Server에서는 select 'x';와 같은 문이 나타날 수 있습니다. Oracle에서는 이 명령문을 이중에서 'x' 선택으로 변환해야 합니다. Dual은 Oracle이 생성한 시스템 테이블입니다. 이 SQL 구문 문제 외에도 이 테이블은 Oracle 시스템 테이블이기 때문에 SQL Server에 복사할 수 없습니다.
자르기 - 두 DBMS 모두 FLOOR 및 ROUND 기능을 지원하지만 Oracle에는 추가 TRUNC 기능도 있습니다. Oracle 시스템이 TRUNC 함수를 사용하는 경우 관련 부분을 다시 편집해야 합니다. 이를 FLOOE 또는 ROUND 함수로 변경하는 것을 고려해야 할 수도 있습니다.
연결-SQL Server 7은 ANSI 연결 방법을 지원하지 않지만 SQL Server 2000은 지원합니다. 이제 두 데이터베이스 모두 더하기 기호(+)를 사용하여 연결을 나타내지만 산술 연산에는 이 기호를 사용하는 것이 더 좋습니다!
사용 중인 두 서버의 특정 버전에 따라 다르지만 SQL 언어 마이그레이션 문제는 거의 항상 갑자기 발생합니다.
Oracle을 포기하는 비즈니스 사례
이 데이터베이스 마이그레이션은 단순한 감정적 게임이 아니며 Oracle 대신 Microsoft 제품을 선택하는 것이 비즈니스 사례에 의해 뒷받침됩니다. Oracle은 법정 및 선전 전투에서 Microsoft를 물리치기 위해 상당한 자원을 투자해 왔습니다. 그러나 경제적 관점에서 볼 때 Oracle은 비용 효율적이지 않습니다. 게다가 오라클은 핵심 제품이 단 하나뿐이어서 여전히 마이크로소프트에 비해 자신감이 떨어진다. 복잡한 영업 과정 외에도 지원을 제공할 수 있는 좀 더 인상적인 회사를 찾는 것이 좋습니다. 회사는 건강하고 번영해야 하며, 그 제품은 일반적으로 인기가 있어야 합니다. 더 강력한 상대를 만나기 전에 회사가 적어도 몇 년 동안 매우 강력할 수 있도록 보장해야 합니다.
SQL Server로 마이그레이션하면 무엇을 얻을 수 있나요?
첫째, 네트워크 아키텍처와 일관성이 뛰어난 시스템을 확보합니다. UNIX 시스템을 관리하기 위해 전담 인력이 필요하지 않습니다. DBMS에 맞춰진 관리 도구는 이러한 네트워크 운영 체제 도구와 최적으로 작동합니다.
둘째, 시스템은 .NET 애플리케이션에 대한 기본 지원을 구현합니다. .NET 아키텍처에서는 SQL Server를 사용할 필요가 없지만 이 서버가 기본 데이터베이스입니다. Oracle용 ODBC 드라이버는 확실히 훌륭하지만 항상 실패 지점이 될 수 있습니다.
셋째, .NET 네트워크에서 Oracle을 사용하는 비용은 SQL Server를 사용하는 것보다 높습니다. VS.NET 및 Office 라이선스뿐만 아니라 Win2K 서버 라이선스를 추가로 구매하면 할인을 받을 수 있습니다.
마지막으로 SQL Server 시스템을 별도로 구매하더라도 Oracle보다 저렴할 수 있습니다. 요즘 Oracle 라이센스를 놓고 흥정하는 것은 마치 이빨을 뽑는 것처럼 느껴질 수 있습니다. 영업사원에게 가격을 물었고 실제로 "이 가격을 감당할 수 있습니까?"라고 말했던 기억이 납니다.
요약
.NET 네트워크를 구축하는 경우 SQL Server를 DBMS로 사용하는 것이 합리적입니다. Microsoft .NET의 핵심 구성 요소이기 때문입니다. 서버 애플리케이션 제품군. 한 플랫폼에서 다른 플랫폼으로 마이그레이션하는 것은 신중하게 고려하고 계획해야 하는 중요한 프로세스입니다. 플랫폼을 전환하기 전에 통합되고 효과적이며 관리하기 쉽고 안정적인 .NET 기반이 있어야 합니다.