Por vezes, necessitamos colocar algum tablespace em READ ONLY. Esta maravilhosa feature permite que os dados que estejam neste tablespace fiquem disponíveis apenas para Leitura, porém há um pequeno detalhe e que pode por em causa a razão que levou para a utilização desta feature.
Vamos a um exemplo prático:
Agora com o tablespace em READ ONLY vou tentar efectuar duas operações:
Como pode-se ver a operação de DML (Insert), que é uma escrita na tabela, não funcionou. Porém o DDL (drop table) funcionou perfeitamente.
Pois é, mais um por menor no universo Oracle Database, colocar o tablespace READ ONLY irá previnir que os dados não sejam alterados por comandos DML, no entanto os DDL continuam a funcionar.
Por isso que digo, dependendo da razão que se coloca o tablespace em Read Only, pode ser que somente isto atenda a sua necessidade, caso queira prevenir o drop, de muitas alternativas que existem, pode-se utilizar o comando abaixo:
alter table x_tbl disable table lock;
Este comando irá inibir os comandos DDL:
Saudações Vascaínas….