Movendo usuários entre bases

Um pequeno lembrete para mim. Estou migrando do Oracle 9i para o 10g utilizando export e import.

O export por esquema “exp… owner… ” não traz para o Oracle 10g os usuários, portanto a importação irá falhar. O jeito é exportar primeiro os usuários. O procedimento é simples, basta puxar os usuários da tabela ‘dba_users’, mas um pequeno detalhe deve ser observado na importação da senha.

Segue o script:

SELECT
    'CREATE USER ' || username || ' IDENTIFIED BY VALUES ''' || password ||
    ''' DEFAULT TABLESPACE ' || default_tablespace || ';'
  FROM dba_users
  WHERE
    password != 'EXTERNAL' AND
    password != 'GLOBAL' AND
    default_tablespace NOT IN ('EXAMPLE','DRSYS','CWMLITE','ODM','XDB','SYSTEM')
  ORDER BY default_tablespace, username
;

SELECT
  'CREATE USER ' || username || ' IDENTIFIED BY EXTERNAL DEFAULT TABLESPACE ' || default_tablespace || ';'
  FROM dba_users
  WHERE password = 'EXTERNAL'
;

SELECT
  'CREATE USER ' || username || ' IDENTIFIED GLOBALLY AS ''' || external_name ||
  ''' DEFAULT TABLESPACE ' || default_tablespace || ';'
  FROM dba_users
  WHERE password = 'GLOBAL'
;

SELECT 'ALTER USER ' || username || ' QUOTA UNLIMITED ON ' || tablespace_name || ';' 
  FROM dba_ts_quotas;

Não é nada complexo, mas o detalhe está justamente no uso da senha criptografada. Na documentação da Oracle sobre o comando CREATE USER, não aparece nada sobre a opção de criar um usuário com uma senha criptografada, somente com uma senha normal, que precisa clausula ‘VALUES’. Bom… demorei para lembrar deste pequeno detalhe, agora não esqueço mais! 😉

Um comentário sobre “Movendo usuários entre bases

  1. Pingback: SAVEPOINT » Movendo usuários entre bases II

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s