Permissões da Oracle na exportação e importação de dados

Por motivos de trabalho, a Oracle usa mais bancos de dados, e a parte de definição de autoridade também é usada com mais frequência. Hoje, utilizo principalmente dados de backup, ou seja, exporto dados como exemplo. Vou falar brevemente sobre questões de permissão e também vou dar a mim mesmo um resumo em etapas.

1. Classificação de permissão

As permissões são classificadas de acordo com características específicas e divididas em permissões de sistema e permissões de entidade.

Autoridade de sistema significa executar operações de gerenciamento de autoridade em usuários, e autoridade de entidade refere-se a executar operações de gerenciamento de autoridade em entidades, como tabelas e visualizações.

Em segundo lugar, para a classificação das permissões do sistema

As permissões do sistema são divididas em dois tipos: DBA com autoridade máxima e usuários comuns; DBA será designado durante o processo de instalação, geralmente usuários sys, é claro, você também pode autorizar seus usuários como DBA por meio de usuários sys, o método de autorização é tão segue:

grant dba to kqportal;

Claro, especificar dba definitivamente terá muitas permissões, mas eu recomendo fortemente que você não faça isso a menos que tenha tarefas especiais de gerenciamento; a forma de revogar a autorização é a seguinte:

revoke dba from kqportal;

Observação: a permissão pode ser concedida ou revogada da mesma maneira.

3. Classificação das permissões da entidade

A classificação de permissão de entidade é obter ou manipular a tabela ou visualização do usuário e outras entidades; por padrão, o usuário recém-criado tem algumas permissões. Se quiser mais permissões, você pode fazer o seguinte:

grant connect,resource,create session,create table,create view,create sequence to kqportal;

Quatro, backup de dados

Como o banco de dados foi esvaziado inexplicavelmente ontem, o sistema foi interrompido temporariamente. Felizmente, o instantâneo do banco de dados não foi destruído e os dados foram recuperados; aqui está um pouco mais, em geral, depois que os dados são esvaziados, nenhuma operação ddl é realizada Restaure os dados para aquele momento.

Diante da situação acima, escrevi um script para concluir o trabalho de backup automático de dados. O script será adicionado posteriormente e a otimização ainda está sendo feita.

Uma instrução de exportação comumente usada é escrita no script, da seguinte maneira:

exp kqportal/123456@ORCL file=D:\ksk\OrclDBackup\backupdbdir\kqportal_orcl_%BACKUPDATE%.dmp full=y

Você também deve ter notado que uma frase full = y foi adicionada; este parâmetro significa exportar todas as tabelas, incluindo tabelas do sistema e tabelas em outros espaços de tabela.

Se houver necessidade de exportar todas as tabelas, a frase acima não é suficiente, e será informado que é necessária autorização para exportar. Você pode usar a seguinte declaração para autorizar:

--需要以dba权限用户登录,进行EXP_FULL_DATABASE角色的授权
grant EXP_FULL_DATABASE to kqportal;

A declaração acima permite que você atinja o objetivo de exportar todas as tabelas e dados para usuários comuns. (Claro, se houver um papel EXP_FULL_DATABASE, haverá um papel IMP_FULL_DATABASE. Falarei sobre isso mais tarde, mas é quase o mesmo)

Mas, a seguir, vou me concentrar em explicar quais problemas surgirão após a execução da instrução acima e como resolvê-los.

A instrução acima oferece a capacidade de exportar todas as tabelas e dados, mas se houver vários espaços de tabela em seu banco de dados e tabelas com o mesmo nome de tabela nos espaços de tabela, seu programa não será executado. Um erro será relatado. Mais de uma tabela encontrada no namespace.

A solução final é executar a seguinte instrução:

revoke SELECT ANY TABLE from exp_full_database;

Explicação: EXP_FULL_DATABASE  contém 8 permissões, incluindo uma permissão SELECT ANY TABLE Por causa desta permissão, os usuários kqportal podem exp usuários mema em qualquer tabela.

Portanto, tentei retirar a permissão SELECT ANY TABLE de EXP_FULL_DATABASE e, em seguida, resolvi o problema.

Essa é a única maneira que penso agora, e não há outros problemas no teste atual. Se houver outros efeitos colaterais, vou adicioná-los mais tarde.

Acho que você gosta

Origin blog.csdn.net/joyksk/article/details/107359688
Recomendado
Clasificación