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 / 405
Accepted
Lazer
Lazer
Asked: 2011-01-08 12:00:46 +0800 CST2011-01-08 12:00:46 +0800 CST 2011-01-08 12:00:46 +0800 CST

Qual é a diferença entre contas sys e system em bancos de dados Oracle?

  • 772

Existem duas maneiras de se conectar ao Oracle como administrador usando o sqlplus:

  1. sqlplus sys as sysdba
  2. sqlplus system/manager

Essas contas devem ser usadas para propósitos diferentes, suponho.

Para quais tarefas esses dois esquemas se destinam? Quando devo usar um ou outro entre eles?

oracle oracle-11g-r2
  • 4 4 respostas
  • 90117 Views

4 respostas

  • Voted
  1. Best Answer
    Eddie Awad
    2011-01-08T12:22:29+08:002011-01-08T12:22:29+08:00

    SYS

    • Criado automaticamente quando o banco de dados Oracle é instalado
    • Concedido automaticamente o DBApapel
    • Tem uma senha padrão: CHANGE_ON_INSTALL (certifique-se de alterá-la)
    • Possui as tabelas e visualizações base para o dicionário de dados do banco de dados
    • O esquema padrão quando você se conecta comoSYSDBA

    As tabelas no SYSesquema são manipuladas apenas pelo banco de dados. Eles nunca devem ser modificados por nenhum usuário ou administrador de banco de dados, e ninguém deve criar nenhuma tabela no esquema de user SYS. Os usuários do banco de dados não devem se conectar ao banco de dados Oracle usando a SYSconta.

    SYSTEM

    • Criado automaticamente quando o banco de dados Oracle é instalado
    • Concedido automaticamente o DBApapel
    • Tem uma senha padrão: MANAGER (certifique-se de alterá-la)
    • Usado para criar tabelas e visualizações adicionais que exibem informações administrativas
    • Usado para criar tabelas e visualizações internas usadas por várias opções e ferramentas do banco de dados Oracle

    Nunca use o SYSTEMesquema para armazenar tabelas de interesse de usuários não administrativos.

    /através da

    • 44
  2. Leigh Riffel
    2011-01-12T13:19:31+08:002011-01-12T13:19:31+08:00

    Da Documentação do Oracle 11g :

    Usuários do SISTEMA E DO SISTEMA

    As seguintes contas de usuário administrativo são criadas automaticamente quando você instala o Oracle Database. Ambos são criados com a senha que você forneceu na instalação e ambos recebem automaticamente a função de DBA.

    • SYS

      Esta conta pode executar todas as funções administrativas. Todas as tabelas e visualizações básicas (subjacentes) do dicionário de dados do banco de dados são armazenadas no esquema SYS. Essas tabelas e visualizações básicas são críticas para a operação do Oracle Database. Para manter a integridade do dicionário de dados, as tabelas no esquema SYS são manipuladas apenas pelo banco de dados. Eles nunca devem ser modificados por nenhum usuário ou administrador de banco de dados. Você não deve criar nenhuma tabela no esquema SYS.

      O usuário SYS recebe o privilégio SYSDBA, que permite que um usuário execute tarefas administrativas de alto nível, como backup e recuperação.

    • SYSTEM

      Esta conta pode executar todas as funções administrativas, exceto as seguintes:

      • Restaurar e recuperar

      • Atualização do banco de dados

      Embora essa conta possa ser usada para executar tarefas administrativas diárias, a Oracle recomenda enfaticamente a criação de uma conta de usuários nomeados para administrar o banco de dados Oracle para permitir o monitoramento da atividade do banco de dados.

    Privilégios do sistema SYSDBA e SYSOPER

    SYSDBA e SYSOPER são privilégios administrativos necessários para executar operações administrativas de alto nível, como criar, iniciar, encerrar, fazer backup ou recuperar o banco de dados. O privilégio de sistema SYSDBA é para administradores de banco de dados totalmente habilitados e o privilégio de sistema SYSOPER permite que um usuário execute tarefas operacionais básicas, mas sem a capacidade de examinar os dados do usuário.

    Os privilégios de sistema SYSDBA e SYSOPER permitem o acesso a uma instância de banco de dados mesmo quando o banco de dados não está aberto. O controle desses privilégios está, portanto, completamente fora do próprio banco de dados. Esse controle permite que um administrador que tenha um desses privilégios se conecte à instância do banco de dados para iniciar o banco de dados.

    Você também pode pensar nos privilégios SYSDBA e SYSOPER como tipos de conexões que permitem executar determinadas operações de banco de dados para as quais privilégios não podem ser concedidos de outra forma. Por exemplo, se você tiver o privilégio SYSDBA, poderá se conectar ao banco de dados usando AS SYSDBA.

    O usuário SYS recebe automaticamente o privilégio SYSDBA na instalação. Ao efetuar login como usuário SYS, você deve se conectar ao banco de dados como SYSDBA ou SYSOPER. Conectar-se como um usuário SYSDBA invoca o privilégio SYSDBA; conectar como SYSOPER invoca o privilégio SYSOPER. O Oracle Enterprise Manager Database Control não permite que você efetue login como usuário SYS sem se conectar como SYSDBA ou SYSOPER.

    Ao se conectar com o privilégio SYSDBA ou SYSOPER, você se conecta com um esquema padrão, não com o esquema geralmente associado ao seu nome de usuário. Para SYSDBA este esquema é SYS; para SYSOPER o esquema é PÚBLICO.

    • 21
  3. StephenK
    2012-01-05T22:33:20+08:002012-01-05T22:33:20+08:00

    Um exemplo de uma grande diferença entre SYS (ou qualquer outra conexão SYSDBA) e todos os outros usuários: SYS não pode fazer leitura consistente . Uma implicação disso (há outras) é que você não pode fazer uma exportação CONSISTENT=Y como SYS usando o antigo utilitário exp.

    O funcionário e especialista da Oracle, Tom Kyte, é da opinião de que você raramente deve usar qualquer um deles . Em relação ao SYS, ele ressalta que ele funciona de forma diferente, como indica o exemplo acima, mas de maneira mais geral ele os considera "de propriedade" da Oracle Corporation. Se você fizer uma alteração ou adicionar algo em qualquer esquema e ocorrer um problema (por exemplo, uma atualização de banco de dados falha), suspeito que a resposta do Suporte Oracle seria: "Você não deveria ter feito isso".

    • 10
  4. Lance Ashdown
    2019-03-26T11:47:32+08:002019-03-26T11:47:32+08:00

    Isso soa como se o pôster estivesse dizendo que existem apenas duas maneiras de se conectar:

    "Existem duas maneiras de se conectar ao Oracle como administrador usando o sqlplus:

    sqlplus sys as sysdba
    sqlplus system/manager"
    

    Uma conta de administrador é qualquer conta de usuário Oracle com o privilégio SYSDBA ou a função DBA. SYS é um usuário predefinido com SYSDBA e SYSTEM é um usuário predefinido com DBA. Se houver n contas de administrador em um banco de dados, então há n usuários que podem se conectar com privilégios de administrador (por definição) -- não há apenas dois deles.

    Outro ponto diz respeito ao SQL*Plus. Você pode se conectar como SYS usando a autenticação do SO no prompt do SO: sqlplus / as sysdba. Você também pode iniciar o SQL*Plus e depois CONNECT / AS SYSDBA. Você pode especificar uma senha no prompt do SO, em uma instrução CONNECT ou fazer com que o SQL*Plus a solicite. Você pode usar um nome de serviço de rede. Você pode (e deve) alterar a senha do SISTEMA. E assim por diante.

    O que o pôster quis dizer, eu acho, é que existem pelo menos duas contas de administrador em um banco de dados Oracle, e se SYSTEM tiver a senha padrão e se a autenticação do SO estiver configurada, esses são dois (de muitos) exemplos de como SYS e SYSTEM podem efetuar login no banco de dados usando SQL*Plus.

    A questão da diferença entre SYS e SYSTEM é diferente e já foi respondida.

    • 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 você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 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

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 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
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +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
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +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
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +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