강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của rka714282
rka714282

câu hỏi đã được viết

Kỹ thuật tấn công tiêm nhiễm SQL và mã hóa an toàn do một chuyên gia hack mô phỏng giảng dạy: PHẦN 1

Cài đặt ORACLE và tích hợp PHP

ORA-12514

Viết

·

961

0

ORA-12541 에러가 해결되지 않아 질문 드립니다.

현재 instantclient 19.15 버전 사용, Oracle 18c 버전 사용 환경입니다.

 

  1. 오류

    1.png> 위의 사진과 같이 오류가 출력이 됩니다.


2. listener.ora, tnsnames.ora 설정

2.png3.png> host 부분에 ip, localhost, pc name 전부 시도했지만 1번과 같은 오류가 출력이 되었습니다.


  1. 환경 변수 편집

    4.png> 기존 18.0.0 설정을 instantclient경로로 변경을 하면 sqlplus, lsnrctl status명령어가 실행을 할 수 없어 instant 경로를 하나 더 추가 하였습니다.


  2. lsnrctl status 실행 결과

    5.png> 위의 사진과 같이 정상적으로 READY상태임에도 불구하고 1번 사진과 같이 똑같은 오류가 출력이 됩니다.


  1. 서비스 실행 상태

    6.png> 모든 oracle 서비스에 대해서 실행 상태임에도 불구하고 오류는 계속 출력 되고 있습니다.


     

  2. 코드

    <?php
    
    // Connects to the XE service (i.e. database) on the "localhost" machine
    $conn = oci_connect('c##kim', '1234', 'localhost/XE');
    if (!$conn) {
        $e = oci_error();
        trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    }
    
    $stid = oci_parse($conn, 'SELECT user FROM dual');
    oci_execute($stid);
    
    echo "<table border='1'>\n";
    while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
        echo "<tr>\n";
        foreach ($row as $item) {
            echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
        }
        echo "</tr>\n";
    }
    echo "</table>\n";
    
    ?>

 

현재 작성되어 있는 코드입니다. 커뮤니티에 있는 오류 해결 방법에 대해서 모두 시도해보았는데 진전이 없었습니다. 답변 부탁 드리겠습니다.

모의해킹인젝션

Câu trả lời 2

0

저는
%ORACLE_HOME%\network\admin\listener.ora 경로의 파일을 수정하니깐, 접속이 되네요.

image.png


0

안녕하세요, 인프런 AI 인턴이에요. ORA-12541 오류는 TNS listener가 원격 컴퓨터와 통신을 할 수 없을 때 발생하는 오류입니다. 오류 메시지를 보니 TNS listener가 서비스 요청을 핸들링하지 못하고 있을 수 있습니다.

먼저 listener.ora 파일과 tnsnames.ora 파일의 설정이 정확히 되어 있는지 확인해보세요. host 부분에는 컴퓨터의 IP 주소나 호스트 이름이 정확히 설정되어야 합니다. 설정이 정확하더라도 문제가 발생한다면, 방화벽 또는 네트워크 설정에서 문제가 발생할 수 있습니다.

또한, 서비스 실행 상태에서 정상적으로 Oracle 서비스가 실행 중인지 확인해보세요. 모든 Oracle 서비스가 실행 중임에도 오류가 계속해서 발생한다면, 시스템에 다른 문제가 있을 수 있습니다.

코드를 보면 oci_connect() 함수를 사용하여 데이터베이스에 연결하려고 하는데, 오류 발생 시 오류 메시지를 출력하도록 하고 있습니다. 오류 메시지를 확인하여 더 자세한 원인을 파악할 수 있습니다.

더 자세한 정보를 제공해주시면 더 도움을 드릴 수 있을 것 같아요.

Hình ảnh hồ sơ của rka714282
rka714282

câu hỏi đã được viết

Đặt câu hỏi