Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #94930
    ramasine
    Participante

      Caros,

      Tenho a seguinte situação:

      Preciso limitar a ação do usuário da seguinte forma, impedir que ele, ao logar com seu user, crie objetos em tablespaces que não forem assignadas a ele, especificadas a ele. Isso é possível?

      Uma trigger poderia ajudar?

      Já criei o user com a default tablespace que é dele, mas ao logar e criar uma tabela apontando uma outra tablespace, o oracle deixa criar….normalmente…

      É alguma imbecilidade qu estou esquecendo??

      Oracle 11.2

      #94931
      CleitonHanzen
      Participante

        Opá….

        Tá lembrado das Quotas??? ou melhor, do privilégio UNLIMITED TABLESPACE….maldita role RESOURCE que concede esse privilégio automaticamente…..rsrsrsrs….

        #94932
        ramasine
        Participante

          OPÁ foi boa..!!!!!!!

          Olha um exemplo, criei um user, atribui quota em uma tablespace e quota 0 onde eu não quero que ele crie NADA…dei grant de create session e create table SOMENTE ao user.

          Faço login com ele na base de dados, e mesmo assim crio objetos em qq lugar … 🙁

          O oracle é o 11.2.0.1 em AIX 6.1

          6:32:56 sql@schema01 > show user

          USER é “SYS”

          16:33:00 sql@schema01 > CREATE USER isa
          16:36:38 2 IDENTIFIED BY isa
          16:36:38 3 TEMPORARY TABLESPACE TEMP
          16:36:38 4 QUOTA 10M ON EPMS_DEV_DAT
          16:36:38 5 QUOTA 0 ON EPMS_CER_DAT
          16:36:38 6 QUOTA 0 ON EPMS_CER_IDX
          16:36:38 7 QUOTA 0 ON EPMS_CER_LOG
          16:36:38 8 ACCOUNT UNLOCK;

          Utilizador criado.

          6:32:56 sql@schema01 > show user

          USER é “SYS”

          16:36:47 sql@schema01 > grant create session to isa;

          Concessão com êxito.

          16:36:58 sql@schema01 > grant create table to isa;

          Concessão com êxito.

          16:37:05 sql@epms > disc
          Desligado de Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – 64bit Production
          With the Partitioning, OLAP, Data Mining and Real Application Testing options

          16:37:32 sql@schema01 > conn isa@schema01
          Introduzir senha: ***

          Ligado.

          16:37:41 sql@epms > select * from session_privs;

          PRIVILEGE

          CREATE SESSION
          CREATE TABLE

          2 linhas seleccionadas.

          16:38:27 sql@schema01 > create table t1 (col number(1))
          16:38:54 2 tablespace EPMS_CER_DAT;

          Tabela criada.

          16:41:31 sql@schema01 > create table t2 (col number(1))
          16:43:24 2 tablespace EPMS_DEV_IDX;

          Tabela criada.

          16:39:06 sql@epms > SHOW USER

          USER é “ISA”

          auauhaha….

          #94947
          ramasine
          Participante

            sql@schema1 > conn sys@schema1 as sysdba
            Introduzir senha: *********

            Ligado.

            CREATE USER orateste
            IDENTIFIED BY orateste
            TEMPORARY TABLESPACE TEMP
            ACCOUNT UNLOCK;

            GRANT CREATE SESSION TO orateste;
            GRANT CREATE TABLE TO orateste;

            Sem alterar nada…ele deixa criar o objeto!

            sql@schema1 > conn orateste@schema1
            Introduzir senha: ********

            Ligado.

            sql@schema1 > create table t2(col number(1))
            2 tablespace schema1_CER_DAT;

            Tabela criada.

            Atentar que existem QUOTAS definidas nesta tablespace, e NENHUMA para este user (orateste)

            sql@schema1 > alter session set deferred_segment_creation=false;

            sql@schema1 > create table t2(col number(1))
            2 tablespace schema1_CER_DAT;

            create table t2(col number(1))
            *
            ERRO na linha 1:
            ORA-01950: nenhum privilégio no tablespace ‘schema1_CER_DAT’

            E aí?? É isso mesmo?? rss

            Alterando esse parâmetro para FALSE eu consigo fazer com que o user só crie objetos onde tem permissões para isso??

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.