AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 27725
Accepted
Kshitiz Sharma
Kshitiz Sharma
Asked: 2012-10-28 00:04:43 +0800 CST2012-10-28 00:04:43 +0800 CST 2012-10-28 00:04:43 +0800 CST

Como ver a lista de bancos de dados no Oracle?

  • 772

Existe um equivalente à SHOW DATABASESinstrução MySQL?

É possível encontrar bancos de dados em um cluster? ou seja, bancos de dados presentes na rede em algum outro sistema?

Eu poderia analisar os arquivos presentes em uma instalação do Oracle para encontrar os mesmos?

Com credenciais de acesso completas a um sistema Oracle, como você faria para enumerar todos os bancos de dados existentes?

oracle
  • 8 8 respostas
  • 351632 Views

8 respostas

  • Voted
  1. Best Answer
    Mat
    2012-10-28T00:28:38+08:002012-10-28T00:28:38+08:00

    Existe um equivalente à SHOW DATABASESinstrução MySQL?

    Não existe tal coisa. Você pode consultar ouvintes em uma máquina ( lsnrctl status) para ver quais serviços estão registrados lá, mas isso não mapeia um a um para o banco de dados (e pode haver vários ouvintes na mesma máquina). Caso contrário, as ferramentas comumente usadas se conectam a uma instância de banco de dados e uma instância pertence a um único banco de dados.

    Se você estiver falando sobre clusters Oracle RAC, cada instância conhece seus pares (outras instâncias que atendem ao mesmo banco de dados) e você pode encontrar as outras instâncias iniciadas atualmente para esse banco de dados usando a gv$instanceexibição.
    Você também pode usar o crsctlutilitário para listar os serviços (incluindo bancos de dados) registrados no cluster e seus status.
    Se você está falando sobre o software de cluster de outro fornecedor, tenho certeza de que todos eles têm esses tipos de utilitários de gerenciamento de recursos para consultar.

    Se você está falando de apenas um monte de máquinas, então não, não há uma maneira 100% confiável de enumerar todos os bancos de dados em uma rede.

    Para encontrar bancos de dados ativos (ou seja, iniciados), procure *_pmon_*processos no Unix (há um por instância de banco de dados) e serviços Oracle no Windows.

    Para localizar instalações do software de banco de dados Oracle, consulte no /etc/oratabUnix. Isso deve conter todos os ORACLE_HOMEs instalados. Você pode olhar dentro de cada um deles em $ORACLE_HOME/dbsfor spfile<SID>.orae/ou init<SID>.oraarquivos - haverá um para cada banco de dados.

    (Acredito que você possa encontrar o equivalente das informações nas oratabchaves de registro do Windows abaixo HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE, mas não conheço sua estrutura.)

    Agora, é claro, se você registrou todo o seu banco de dados com um servidor OEM (Enterprise Manager) quando os instalou, pode encontrar a lista completa lá - mas acho que se você está perguntando, não é o caso.

    • 28
  2. DevYudh
    2012-11-07T17:35:40+08:002012-11-07T17:35:40+08:00

    Oracle não tem bancos de dados, mas esquemas, você pode listá-los com

    SELECT USERNAME FROM ALL_USERS ORDER BY USERNAME; 
    

    ou algo parecido com isto :

    SELECT TABLESPACE_NAME FROM USER_TABLESPACES;
    
    • 18
  3. Jack Douglas
    2012-10-30T01:33:52+08:002012-10-30T01:33:52+08:00

    Simplesmente falando, não há analogia direta para 'bancos de dados' MySQL ou um 'cluster' no Oracle: a correspondência mais próxima é um 'esquema', mas isso ainda é muito diferente.

    Aparentemente , isso mudará no 12c com a introdução de bancos de dados conectáveis:

    A divisão clara das operações do banco de dados do conteúdo do usuário é uma grande transformação em relação às arquiteturas de banco de dados tradicionais. O Oracle 11g, e todos os seus antecessores, só podiam executar um banco de dados por vez, disse Kyte. Se uma organização quisesse executar vários bancos de dados em um único servidor, ela precisaria executar várias instâncias do Oracle 11g, uma para cada banco de dados. Como o nome indica, bancos de dados conectáveis ​​permitem que vários bancos de dados de locatário sejam executados em uma cópia do Oracle 12c.

    • 13
  4. rlblyler
    2015-08-13T05:18:51+08:002015-08-13T05:18:51+08:00

    Acho que uma resposta para futuros navegadores em * nix poderia ser:

    cat /etc/oratab

    • 11
  5. Peter
    2016-09-14T07:15:11+08:002016-09-14T07:15:11+08:00

    Se você tiver bancos de dados plugáveis ​​(recomendado) no Oracle 12, você pode fazer o seguinte:

    SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY PDB_ID;
    
    • 7
  6. t.menard
    2015-06-23T06:06:38+08:002015-06-23T06:06:38+08:00

    Basta conectar ao ASM e verificar o cliente do banco de dados.

    set pages 999 lines 120
    col SOFTWARE_VERSION for A15
    col INSTANCE_NAME for A20
    col DB_NAME for A20 trunc
    select INSTANCE_NAME, DB_NAME, STATUS, SOFTWARE_VERSION as "version"
    from  V$ASM_CLIENT;
    
    • 4
  7. Prokhozhii
    2019-08-16T23:54:33+08:002019-08-16T23:54:33+08:00

    Para banco de dados autônomo para obter a lista de bancos de dados que são iniciados automaticamente após a reinicialização do host:

    cat /etc/oratab | grep -i ":y" | grep -v "^#"
    

    ou apenas para obter a lista de todos os bancos de dados:

    cat /etc/oratab | grep -v "^#"
    

    Para bancos de dados RAC, o seguinte método pode ser útil:

    crsctl stat res -t | grep "\.db"
    

    ou informações muito mais detalhadas

    crsctl status resource -w 'TYPE = ora.database.type' -f
    

    Também como já foi mencionado o banco de dados em MySQL não é o mesmo que o banco de dados em Oracle. No Oracle é mais próximo do esquema - que é chamado de container para objetos do usuário. Para obter a lista de esquemas, você pode usar a seguinte instrução SQL:

    select username from dba_users order by 1;
    

    ou para obter esquemas de lista não relacionados ao sistema (disponíveis no Oracle RDBMS a partir da versão 12c):

    select username from dba_users where ORACLE_MAINTAINED='N' order by 1;
    
    • 4
  8. Chris joel Reddersen
    2021-09-30T13:46:41+08:002021-09-30T13:46:41+08:00

    SELECT proprietário DISTINCT FROM all_tables;. Isso listará os bancos de dados.

    • -1

relate perguntas

  • Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • ORDER BY usando prioridades personalizadas para colunas de texto

  • Interface sqlplus confortável? [fechado]

  • Como encontrar as instruções SQL mais recentes no banco de dados?

  • Como posso consultar nomes usando expressões regulares?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como ver a lista de bancos de dados no Oracle?

    • 8 respostas
  • Marko Smith

    Quão grande deve ser o mysql innodb_buffer_pool_size?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    restaurar a tabela do arquivo .frm e .ibd?

    • 10 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve