Onde fica o SQL compilado no banco Oracle

Olá pessoal.
Eu não sei se estou escrevendo no lugar certo, mas tenho uma dúvida e acredito que talves alguém poderá me ajudar a respeito.

Digamos que eu esteja criando o meu banco de dados, “Criei somente algumas tabelas, funções procedures e triggers”.
Agora digamos que eu esteja trabalhando com o Oracle Express.
Após eu compilar o meu código, “meu sql” após fazer deletes, insert e alguns updates.
O meu código compilado no banco de dados, onde ele fica, pois ele não deverá ter um update neste sql compilado ou um delete, mas
sim e somente o meu código limpo.
A minha dúvida é onde fica armazenado este meu código no banco de dados.

Espero que eu tenha sido bem claro, para que assim possam me ajudar com está duvida.
Obrigado desde já!!!

Nossa achei bem confuso o que você escreveu, procure ser mais claro.

Bem para pegar o código de programas use USER_SOURCE, por exemplo:

E para pegar as suas tabelas use ALL_TAB_COLS, por exemplo:

Se não for isso da um grito…

Olha deste modo eu ja trabalhei, pegando codigo atraves de consulta.
Eu quero pegar o local aonde ficam armazenadas estas informações.
As pastas onde estão os arquivos compilados no banco.
Digamos um arquivo.sql onde eles ficam no banco.
Não sei se estou sendo meio obscuro, mas é deste modo que preciso fazer.
Não quero fazer consultas sql no pelo java. Apenas o local onde ficam armazenadas os scripts
"Digamos os scripts limpo do banco" só o sql compilado, pois estou criando um compilador e minha ideia é pegar o sript inteiro do banco
e criar um banco digamos virtual para que possa executar, ele
Acho que talves assim vc consiga me ajudar.

E obrigado pela resposta.

Cara posso estar falando besteira, mas acho que o Oracle não armazena isso em arquivos dessa forma que você quer. A forma de pegar o código das tabelas e programas que eu conheço é essa.

Digamos assim.
Vc foi lá e criou um banco, inseriu atributos ou campos em uma tabela, mas de repente vc percebe que alguns campos que foram feitos
não tem utilidade. O que vc faz então, vai lá e da um delete neles, blz. Ai quando vc olha la nas tuas tabelas criadas no banco vc tem um
script com delets, inserts e updates. Já penso se toda a vez que eu fosse executar o meu código eu tivesse de passar por todos estes procedimentos novamente o
transtorno que seria.
Então é veridico o fato de que em algum lugar do banco fica este sql pronto para a execução.
É este código que quero pegar, nada mais além dele.
O problema é como pegar.

Viu valeu pela ajuda de qualquer forma.

Talvés alguém ai saiba como resolver.

você quer saber de algum script para a criação das estruturas presentes no banco de dados?

tipo, quando criou suas tabelas por exemplo onde obter o script para a criação destas? se for, o banco não guarda isso, normalmente as IDEs geram mas que eu saiba o banco não guarda isso…

Acho q ele quer saber onde fica o banco. Tipo, o firefird criar um [quote]banco.fdb[/quote].

Ola, sou programador Oracle a mais de 6 anos e posso afirmar que o que você procura não existe na estrutura do Oracle.

Uma vez criada as tabelas elas são registradas nas views de administração, nas quais não são gerados em arquivos e sim tabelas e estruturas dentro dele mesmo.
Quando voce cria uma tabela, o Oracle registra ela na All_tables por exemplo, e caso você altere a tabela ele altera este registro e não mantém a posição antiga da tabela. De forma que, uma vez alteradas as tabelas/views/etc apenas nas visões do DBA é possivel recupera-las, mas nem por isso o Oracle cria “arquivos” para cada objeto. Ele cria apenas um objeto “banco” e dentro dele todas as estruturas que tu possui. Em momento algum ele “armazena sqls” o que ele armazena são objetos de banco…

Tche desculpa, mas agora eu não entendi o que vc falo. Desculpa.
Mas a idéia é pegar o script gerado após a execução.
Digamos que vc criou uma tabela, esta tabela tem uma estrutura basica.

Exemplo

CREATE TABLE tblprofessor (codprofessor INTEGER CONSTRAINT primarykey PRIMARY KEY, nome TEXT (50), endereco TEXT (50) telefone TEXT (15), nascimento DATE, sexo TEXT (1), ativo BIT, observacao TEXT (100));

Pronto foi criada a tabela ai vc resolve fazer uns delets em alguns dos campos.
digamos que vc vai deletar o campo endereço ai na tua visão de código vai ficar o código com um delet ou update seja lá o que for.
Mas para o banco após vc executar vai apenas existir um código limpo “Digamos sem o teu delet ou insert seja lá o que for”, e este script que eu quero pegar.
Só que não podemos esquecer que quero pegar este código em um Banco Oracle.

" E poder pegar ele em cada cliente que eu tiver que eu tiver e sempre atualizado ".
E obrigado pela ajuda

Tche pergunta eu não tinha visto a tua resposta e acabei respondendo.

Me diga um negocio estes objetos banco ficam em que formato e em que local?

Estes objetos estão localizados em tabelas do banco e são administrados por ele.

Porém, Ahhh porém… todo banco possui um local fisico onde ele é gerado/instalado/gravado mas este é um arquiv com TODO o banco e nele você não consegue abrir, pois esta criptografado, e se não estiver se foi pro espaço a segurança do seu banco.

Mas me responda você agora, para que você precisa do “arquivo”?
Você precisa recriar o banco é isto? Se for isto, existem ferramentas que geram os scripts de criação do banco a partir do seu estado atual.

[quote=andre07041989]Tche desculpa, mas agora eu não entendi o que vc falo. Desculpa.
Mas a idéia é pegar o script gerado após a execução.
Digamos que vc criou uma tabela, esta tabela tem uma estrutura basica.

Exemplo

CREATE TABLE tblprofessor (codprofessor INTEGER CONSTRAINT primarykey PRIMARY KEY, nome TEXT (50), endereco TEXT (50) telefone TEXT (15), nascimento DATE, sexo TEXT (1), ativo BIT, observacao TEXT (100));

Pronto foi criada a tabela ai vc resolve fazer uns delets em alguns dos campos.
digamos que vc vai deletar o campo endereço ai na tua visão de código vai ficar o código com um delet ou update seja lá o que for.
Mas para o banco após vc executar vai apenas existir um código limpo “Digamos sem o teu delet ou insert seja lá o que for”, e este script que eu quero pegar.
Só que não podemos esquecer que quero pegar este código em um Banco Oracle.

" E poder pegar ele em cada cliente que eu tiver que eu tiver e sempre atualizado ".
E obrigado pela ajuda[/quote]

Isso que você quer tem naquele primeiro post que eu te mandei… Só que ele fica no banco e não em um arquivo…

Cara o avsouza falo tudo o que eu quero saber
É exatamente isto que eu quero fazer!

Pegar o script do banco.

O oracle não cria um arquivo único para o banco de dados como o Firebird, ele cria n arquivos e todos são criptografados.

Mas não existe “Script” do banco.

O que existe é o arquivo BANCO. E este arquivo contem alem da estrutura do banco toda a massa de dados.
No Oracle este arquivo não é possivel abrir, e caso o abra não entenderá nada pois estará critografado.

Nos explique o que você quer fazer que talvez possamos te oferecer uma proposta mais plausivel.

Boa!
Agora estou entendo um pouco mais a respeito desta ferramenta.

A minha idéia é criar um código em java que compile sql como se fosse um banco.
Ai no caso eu irria precisar do sql para imitar o banco do meu cliente.
Mas como não há uma forma de fazer deste modo eu penso em fazer com que meu cliente export o banco, o sql
e passo isto em um txt por exemplo.
Ai eu pego este txt executo o código, podendo assim percorrer linha por linha do meu código.
E verificar o que esta ocorrendo em cada execução do sql, “digamos um sql debugger”.
Só que uma ferramenta minha mesma.
A verdade é que tambem preciso interpretar o SQL e executar ele como se fosse uma linha de codigo java.
Este vai ser o meu trabalho academico.

E valeu pelas respostas.

Então você quer criar um gerenciador para o banco de dados, com uma espécie de compilador… Acho que você não vai precisar ler essas tabelas, pq elas não vão estar com o código errado, porque já estão criadas no banco. Você vai ter que entrar com novos objetos e compilar, verificando a sintaxe…

Não é tão complicado, porém cuidado para não “criar a roda novamente”…

Digamos que a idéia de gerenciador sai do contexto do que estou desenvolvendo.
Na verdade a idéia é somente criar um compilador de sql com java.
Compilar o sql e poder pegar os resultados na tela em tempo de execução.
Não sei se deu para entender.

Pessoal valeu pelas respostas ai.
A minha dúvida foi exclarecida, então no caso só posso pegar o sql do banco exportando mesmo.
Como minha idéia era pegar este sql no meu cliente sem que ele tivesse de exportar não deu certo tenho de partir para outra forma de trabalho.
Obrigado a todos pela ajuda.
Valeu e até a próxima.