Ajuda com banco de dados oracle

10 respostas
G

Bem eu sei que ninguem aqui é um DBA e nada do tipo, mas estou com uma dificuldade tremenda de fazer select nos usuarios que fazem parte do banco , o banco de dados é o Oracle 10g, e necessito também deletar o usuario, e bloquea-lo coloca-lo como lock

se alguem puder me ajudar desde ja agradeço

10 Respostas

fantomas

Carinha, vc vai ter que explicar melhor o que vc está precisando.

  1. Você vai utilizar Java, Pl/Sql, SQL, tudo junto?

  2. Quais as tabelas e respectiva colunas?

  3. Quais os critérios?

  4. Vc já fêz algum código?

Bem vindo ao forum.

flws

edmarr

fantomas:
Carinha, vc vai ter que explicar melhor o que vc está precisando.

  1. Você vai utilizar Java, Pl/Sql, SQL, tudo junto?

  2. Quais as tabelas e respectiva colunas?

  3. Quais os critérios?

  4. Vc já fêz algum código?

Bem vindo ao forum.

flws


Reforço as perguntas .

G

1)Na verdade nem sei q q eh isso q vc falou
2) como dito vou fazer select da tabela em que o oracle guarda os proprios usuarios
3)Eu vou ter que pegar nessa tabela os nomes dos usuarios(ja feito), e vou ter que deletar o usuario e ou bloquear esse usuario
4)ja sim tudo inclusive toda a parte visual, tabela dinamica, o unico problema ta sendo esse select

fantomas

:shock:

Curiosidade…o que vc está utilizando para desenvolver?

Se estou entendendo direito vc deve estar querendo utilizar as tabelas de controle do Oracle (infraestrutura) onde os usuários DA BASE (NÃO da aplicação) são cadastrados. Se for isso, vc terá que conseguir os nomes das tabelas com algum DBA (infelizmente não lembro) ou na internet. E o detalhe bem importante são os direitos de acesso a estas tabelas - não é qualquer um que pode por a mãozinha nelas.

E ai, chutei perto da trave?

flws

marciosantri

Este select te retorna os usuários da base, inclusive os de controle do Oracle.

select username from all_users

Para dropar

drop user XXXX cascade

Lock no usuário

alter user XXXX account lock

Unlock no usuário

alter user XXXX account unlock

Estes últimos 3 comandos devem ser rodados com um usuário que seja DBA no banco ou o SYSTEM.
Ps: Achei estranho vc perguntar sobre lock/unlock do Oracle sem saber como localizar um usuário ou dropar. Normalmente estas perguntas são feitas quando já se tem experiência no assunto. Resumindo: cuidado com o que vc vai fazer.

Inté.

lina

Oi,

Então… o nome da tabela que você quer é all_users.

Você poderá executar o select nesta tabela, estando conectado como system

select * from all_users

Porém, não conseguira deletar esses usuario, pois são como “Deus” do oracle. Apenas conseguira deletar os usuarios criados por você e etc…

Tchauzin!

G

Curiosidade…o que vc está utilizando para desenvolver?

Se estou entendendo direito vc deve estar querendo utilizar as tabelas de controle do Oracle (infraestrutura) onde os usuários DA BASE (NÃO da aplicação) são cadastrados. Se for isso, vc terá que conseguir os nomes das tabelas com algum DBA (infelizmente não lembro) ou na internet. E o detalhe bem importante são os direitos de acesso a estas tabelas - não é qualquer um que pode por a mãozinha nelas.

E ai, chutei perto da trave?

flws


Eu estou usando netbeans, exatamente isso =) eu sei por isso que eu criei uma interface grafica para poder logar no banco dinamicamente informando login senha … que nem quando voce loga no sql server msm

Estes últimos 3 comandos devem ser rodados com um usuário que seja DBA no banco ou o SYSTEM.
Ps: Achei estranho vc perguntar sobre lock/unlock do Oracle sem saber como localizar um usuário ou dropar. Normalmente estas perguntas são feitas quando já se tem experiência no assunto. Resumindo: cuidado com o que vc vai fazer.

Inté.

Ou muito obrigado cara é exatamente isso porem eu gostaria de deletar pelo User_id ja que seria mais facil, bem cara euu nao sei sintaxe nenhuma, nem de java nem de sql, e eu to pegando pelo pelo index do getselectrow, ja que estou usando uma tabela dinamica no java para poder apresentar todos os resultados, dai eu to usando isso aki oh

drop user cascade where user_id = ?

PreparedStatement pst = con.prepareStatement(sql);

pst.setInt(1, cod);

sera que funcionaria?

Oi,

Então… o nome da tabela que você quer é all_users.

Você poderá executar o select nesta tabela, estando conectado como system

select * from all_users

Porém, não conseguira deletar esses usuario, pois são como “Deus” do oracle. Apenas conseguira deletar os usuarios criados por você e etc…

Tchauzin!

Brigadao ^^ eu ja tinha conseguido da select nela, mas como ja disse sou inexperiente em sintaxes… tenho 5 meses em programaçao java e nunca tinha programado antes.
euu seii que sao como deuses por isso que eu irei logar com DBA =)

marciosantri

marciosantri

Cara, na verdade se exclui usuário no Oracle pelo nome.

Por exemplo, tenho um usuário chamado TELEFONE.

Tenho que logar com um usuário DBA, que nem o SYSTEM, e rodar o comando:

String sql = “drop user TELEFONE cascade”;
PreparedStatement pst = con.prepareStatement(sql);

G

Cara, na verdade se exclui usuário no Oracle pelo nome.

Por exemplo, tenho um usuário chamado TELEFONE.

Tenho que logar com um usuário DBA, que nem o SYSTEM, e rodar o comando:

String sql = “drop user TELEFONE cascade”;
PreparedStatement pst = con.prepareStatement(sql);

Poh cara apenas pelo nome que se exclui? da pra excluir pelo user_id nao??
nao tudo bem, sobre a questao de logar como dba, msm pq eu ja fiz a interface pro usuario logar no banco, se ele num tiver login ele nao tem acesso

Criado 10 de setembro de 2009
Ultima resposta 10 de set. de 2009
Respostas 10
Participantes 5