Как я знаю, с которым узлом моего Oracle RAС я подключен?

Ошибка означает, что пароль является неправильным. Приложение при установке имеют какие-либо другие ссылки на какую-либо другую (более старую) учетную запись?

5
задан 10 April 2015 в 17:50
5 ответов

Для Вашей текущей сессии?

select host_name from gv$instance where instance_number=userenv('instance');

Для всех сессий:

select i.host_name, s.username from 
  gv$session s join
  gv$instance i on (i.inst_id=s.inst_id)
where 
  username is not null;
4
ответ дан 3 December 2019 в 01:11

Для текущей сессии:

ВЫБЕРИТЕ sys_context ('USERENV', 'ЭКЗЕМПЛЯР') AS instance#, sys_context ('USERENV', 'INSTANCE_NAME') AS instance_name ОТ двойного

4
ответ дан 3 December 2019 в 01:11

Если вы подключены к node1

SQL> select host_name from v$instance;
instance1

Если вы подключены к nodeN

SQL> select host_name from v$instance;
instanceN

Если вы хотите знать все экземпляры и все узлы

SQL> select instance_name,host_name from gv$instance;

или

$ crsctl stat res -t
cluster resource
 1 node host1  online
 2 node host2  online
 n node hostn  offline
2
ответ дан 3 December 2019 в 01:11
SELECT sid,serial#, inst_id,username,event,ownerid
    FROM GV$SESSION
    WHERE sid=(select sid from v$mystat where rownum=1);
0
ответ дан 3 December 2019 в 01:11

Мне было интересно то же самое, когда я пытался придумать способ установки ORACLE_SID в среде RAC. У одного из моих коллег-администраторов баз данных была схема, в которой он смотрел на процесс pmon и извлекал последнюю цифру как номер экземпляра, но это работало только в том случае, если экземпляр был запущен. Ниже приведено мое решение в виде специального кода в конце oraenv (переименованного в oraenvr), который будет захватывать номер узла как последнюю цифру имени запущенного экземпляра или извлекать последнюю цифру из запущенного экземпляра ASM. Это нужно делать только для экземпляров, не относящихся к ASM, потому что с ASM имя базы данных в / etc / oratab также является именем экземпляра (например, + ASM1). Но, опять же, вам понадобится запущенная база данных или экземпляр ASM, чтобы у него был запущенный процесс, из которого можно получить номер узла.

#
# Install any "custom" code here
#
# Add proceeding digit to ORACLE_SID if it's a database instance
#
if [ `expr $ORACLE_SID|cut -c1-4` != "+ASM" ]; then ## ASM instance name is also the /etc/oratab database name, so we don't need to change it.
   len=`ps -ef|grep smon|grep $ORACLE_SID|wc -c`
   if [ $len != "0" ]; then # we found the running non-ASM database instance
      len1=`expr $len - 1`
      nodenum=`ps -ef|grep smon|grep $ORACLE_SID|cut -c$len1-$len`
   else ## use ASM instance as node number reference since database instance is probably down.
      len=`ps -ef|grep smon|grep ASM|wc -c`
      len1=`expr $len - 1`
      nodenum=`ps -ef|grep smon|grep ASM|cut -c$len1-$len`
   fi
   ORACLE_SID=$ORACLE_SID$nodenum
fi

Blockquote

0
ответ дан 3 December 2019 в 01:11

Теги

Похожие вопросы