복붙노트

[SQL] 어떻게 데이터베이스가 오라클 및이 SQL을 사용하여 어떤 버전 확인할 수 있습니까?

SQL

어떻게 데이터베이스가 오라클 및이 SQL을 사용하여 어떤 버전 확인할 수 있습니까?

나는 응용 프로그램에 대한 설치 프로그램을 짓고 있어요. 사용자는이 데이터베이스의 무엇을 입력 그들이 구성한 데이터 소스 및 추천을 선택 가져옵니다. 나는 데이터베이스 유형이 실제로 오라클인지 확인하려면, 가능하면, 그들은 데이터 소스에 SQL 문을 전송하여 실행하는 오라클의 버전.

해결법

  1. ==============================

    1.이 SQL을 실행

    이 SQL을 실행

    select * from v$version;
    

    그리고 당신은 같은 결과를 얻을 수 있습니다 :

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for Solaris: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    
  2. ==============================

    2.두 가지 방법 :

    두 가지 방법 :

    select * from v$version;
    

    당신에게 줄 것이다 :

    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE 11.1.0.6.0 Production
    TNS for Solaris: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    

    또는 Oracle 데이터베이스 소프트웨어 릴리스를 확인 :

    select * from product_component_version;
    

    당신에게 줄 것이다 :

    PRODUCT VERSION STATUS
    NLSRTL  11.1.0.6.0  Production
    Oracle Database 11g Enterprise Edition  11.1.0.6.0  64bit Production
    PL/SQL  11.1.0.6.0  Production
    TNS for Solaris:    11.1.0.6.0  Production
    
  3. ==============================

    3.

    SQL> SELECT version FROM v$instance;
    VERSION
    -----------------
    11.2.0.3.0
    
  4. ==============================

    4.당신도 사용할 수 있습니다

    당신도 사용할 수 있습니다

    SELECT * FROM v$version;
    

    또는

    SET SERVEROUTPUT ON
    EXEC dbms_output.put_line( dbms_db_version.version );
    

    당신은 브이 $ 버전의 출력을 구문 분석하지 않으려면.

  5. ==============================

    5.인스턴스가 다운되면, 당신은 alert.log를의 버전 정보에 대한 모습이다

    인스턴스가 다운되면, 당신은 alert.log를의 버전 정보에 대한 모습이다

    리눅스 호스팅의 DB는 오라클 바이너리에 문자열을 시도하는 경우 또는 다른 원유 방법은, 오라클 바이너리로 보는 것입니다.

    strings -a $ORACLE_HOME/bin/oracle |grep RDBMS | grep RELEASE
    
  6. ==============================

    6.오라클 사용을 위해 :

    오라클 사용을 위해 :

    Select * from v$version;
    

    SQL 서버 사용을 위해 :

    Select @@VERSION as Version
    

    와 MySQL의 사용 :

    Show variables LIKE "%version%";
    
  7. ==============================

    7.다음 SQL 문 :

    다음 SQL 문 :

    select edition,version from v$instance
    

    보고:

    (V $ INSTANCE 뷰에 대한 SELECT 권한은 물론 필요하다)

  8. ==============================

    8.우리는 오라클의 버전 번호를 얻는 방법은 아래를 사용할 수 있습니다.

    우리는 오라클의 버전 번호를 얻는 방법은 아래를 사용할 수 있습니다.

    방법 번호 : 1

    set serveroutput on;
    BEGIN 
    DBMS_OUTPUT.PUT_LINE(DBMS_DB_VERSION.VERSION || '.' || DBMS_DB_VERSION.RELEASE); 
    END;
    

    방법 없음 : 2

    SQL> select *
      2  from v$version;
    
  9. ==============================

    9.다음은 간단한 기능이다 :

    다음은 간단한 기능이다 :

    CREATE FUNCTION fn_which_edition
            RETURN VARCHAR2
        IS
    
        /*
    
            Purpose: determine which database edition
    
            MODIFICATION HISTORY
            Person      Date        Comments
            ---------   ------      -------------------------------------------
            dcox        6/6/2013    Initial Build
    
        */
    
        -- Banner
        CURSOR c_get_banner
        IS
            SELECT banner
              FROM v$version
             WHERE UPPER(banner) LIKE UPPER('Oracle Database%');
    
        vrec_banner c_get_banner%ROWTYPE; -- row record
        v_database VARCHAR2(32767); --
    
    BEGIN
        -- Get banner to get edition
        OPEN c_get_banner;
        FETCH c_get_banner INTO vrec_banner;
        CLOSE c_get_banner;
    
        -- Check for Database type
        IF INSTR( UPPER(vrec_banner.banner), 'EXPRESS') > 0
        THEN
            v_database := 'EXPRESS';
        ELSIF INSTR( UPPER(vrec_banner.banner), 'STANDARD') > 0
        THEN
            v_database := 'STANDARD';
        ELSIF INSTR( UPPER(vrec_banner.banner), 'PERSONAL') > 0
        THEN
            v_database := 'PERSONAL';
        ELSIF INSTR( UPPER(vrec_banner.banner), 'ENTERPRISE') > 0
        THEN
            v_database := 'ENTERPRISE';
        ELSE
            v_database := 'UNKNOWN';
        END IF;
    
        RETURN v_database;
    EXCEPTION
        WHEN OTHERS
        THEN
            RETURN 'ERROR:' || SQLERRM(SQLCODE);
    END fn_which_edition; -- function fn_which_edition
    /
    

    끝난.

  10. from https://stackoverflow.com/questions/101184/how-can-i-confirm-a-database-is-oracle-what-version-it-is-using-sql by cc-by-sa and MIT license