Existem duas maneiras de se conectar ao Oracle como administrador usando o sqlplus:
sqlplus sys as sysdba
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?
SYS
DBA
papelCHANGE_ON_INSTALL
(certifique-se de alterá-la)SYSDBA
As tabelas no
SYS
esquema 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 userSYS
. Os usuários do banco de dados não devem se conectar ao banco de dados Oracle usando aSYS
conta.SYSTEM
DBA
papelMANAGER
(certifique-se de alterá-la)Nunca use o
SYSTEM
esquema para armazenar tabelas de interesse de usuários não administrativos./através da
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.
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".
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:
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.