[SQL] 어떻게 데이터베이스가 오라클 및이 SQL을 사용하여 어떤 버전 확인할 수 있습니까?
SQL어떻게 데이터베이스가 오라클 및이 SQL을 사용하여 어떤 버전 확인할 수 있습니까?
나는 응용 프로그램에 대한 설치 프로그램을 짓고 있어요. 사용자는이 데이터베이스의 무엇을 입력 그들이 구성한 데이터 소스 및 추천을 선택 가져옵니다. 나는 데이터베이스 유형이 실제로 오라클인지 확인하려면, 가능하면, 그들은 데이터 소스에 SQL 문을 전송하여 실행하는 오라클의 버전.
해결법
-
==============================
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.두 가지 방법 :
두 가지 방법 :
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.
SQL> SELECT version FROM v$instance; VERSION ----------------- 11.2.0.3.0
-
==============================
4.당신도 사용할 수 있습니다
당신도 사용할 수 있습니다
SELECT * FROM v$version;
또는
SET SERVEROUTPUT ON EXEC dbms_output.put_line( dbms_db_version.version );
당신은 브이 $ 버전의 출력을 구문 분석하지 않으려면.
-
==============================
5.인스턴스가 다운되면, 당신은 alert.log를의 버전 정보에 대한 모습이다
인스턴스가 다운되면, 당신은 alert.log를의 버전 정보에 대한 모습이다
리눅스 호스팅의 DB는 오라클 바이너리에 문자열을 시도하는 경우 또는 다른 원유 방법은, 오라클 바이너리로 보는 것입니다.
strings -a $ORACLE_HOME/bin/oracle |grep RDBMS | grep RELEASE
-
==============================
6.오라클 사용을 위해 :
오라클 사용을 위해 :
Select * from v$version;
SQL 서버 사용을 위해 :
Select @@VERSION as Version
와 MySQL의 사용 :
Show variables LIKE "%version%";
-
==============================
7.다음 SQL 문 :
다음 SQL 문 :
select edition,version from v$instance
보고:
(V $ INSTANCE 뷰에 대한 SELECT 권한은 물론 필요하다)
-
==============================
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.다음은 간단한 기능이다 :
다음은 간단한 기능이다 :
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 /
끝난.
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
'SQL' 카테고리의 다른 글
[SQL] 나는 다른 데이터베이스 테이블에 하나의 데이터베이스와 삽입에서 포함 된 테이블을 복사하려면 (0) | 2020.07.20 |
---|---|
[SQL] 소켓 '/tmp/mysql.sock'을 통해 지역의 MySQL 서버에 연결할 수 없습니다 (2) (0) | 2020.07.20 |
[SQL] 침투 테스트 도구 [마감] (0) | 2020.07.20 |
[SQL] 어떻게하면 테이블의 모든 열을 표시합니까? (0) | 2020.07.20 |
[SQL] 왜 역사적으로 사람들은 데이터베이스 필드의 크기 255하지 256을 사용합니까? (0) | 2020.07.19 |