Как получить IP-адрес базы данных ORACLE 11 г на windows 10 для удаленного подключения к ней? - PullRequest
1 голос
/ 19 февраля 2020

Я установил oracle 11g на windows 10 f диск моего ноутбука. Я хочу знать IP-адрес базы данных, чтобы подключиться к ней с помощью python? Как мне найти IP-адрес?

Я попробовал эту команду: выберите sys_context ('USERENV', 'IP_ADDRESS') из dual; однако он дает мне адрес локального хоста.

Я также попытался выбрать SELECT UTL_INADDR.get_host_address из двойного; однако, это выдает ошибку, говоря, что доступ к сети запрещен списком контроля доступа

как мне узнать IP-адрес?

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Нет IP-адреса, назначенного для базы данных Oracle. В вашем случае база данных установлена ​​на вашем собственном компьютере, поэтому IP-адрес базы данных совпадает с IP-адресом вашего компьютера.

select sys_context('USERENV','IP_ADDRESS') from dual;

Вышеупомянутый запрос дает IP-адрес клиента который подключен к базе данных. Я думаю, что вы неправильно поняли это - это не IP-АДРЕС базы данных.

Если вам нужна HOST_NAME базы данных, вы можете использовать следующий запрос. Обратите внимание, что HOAST_NAME может использоваться для подключения к базе данных в строке подключения или в TNS_NAMES.ora

SQL> SELECT INSTANCE_NAME, HOST_NAME FROM V$INSTANCE;

INSTANCE_N HOST_NAME
---------- --------------------
orcl       DESKTOP-0******

SQL>

Я надеюсь, что это очистит все ваши Сомнения.

Ура !!

0 голосов
/ 19 февраля 2020

В вашей конфигурации Oracle должен быть файл TNSNAMES.ORA. Найдите этот файл и откройте его. Там должны быть IP-адреса и необходимые порты.

Из официальных документов:

По умолчанию tnsnames.ora находится в каталоге $ ORACLE_HOME / network / admin на UNIX операционные системы и в каталоге% ORACLE_HOME% \ network \ admin в Windows операционных системах. tnsnames.ora также может храниться в следующих местах:

Каталог, указанный переменной среды TNS_ADMIN или значением реестра

В UNIX операционных системах, каталог глобальной конфигурации. Например, в операционной системе Solaris этот каталог - /var/opt/oracle.

Затем вы можете подключить базу данных с библиотекой python cx_Oracle, используя синтаксис ниже для строки подключения.

connection_oracle_textfile.txt -> username/password@HOST:PORT/SERVICE_NAME (вы можете найти их все, кроме имени пользователя и пароля в файле tnsnames.ora)

import cx_Oracle as cx_Oracle
def get_oracle_table_from_dbm(sql_text):
if 'connection_oracle' not in  globals():
    print('connection does not exist. Try to connect it...')
    f = open('connection_oracle_textfile.txt', "r")
    fx = f.read()         
    ####
    global connection_oracle
    connection_oracle = cx_Oracle.connect(fx)
    ####
    print('connection established!!')

print('Already have connection. Just fetch data!!')
return pd.read_sql(sql_text, con=connection_oracle)

Документы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...