Pular para o conteúdo
Visualizando 10 posts - 1 até 10 (de 10 do total)
  • Autor
    Posts
  • #76547
    rferreira
    Participante

      Pesosal, tudo bem?

      Preciso montar uns relatórios sobre as tabelas do Oracle e durante os meus estudos eu encontrei algumas dúvidas a respeito das consultas em DBA_OBJECT_TABLES ou DBA_OBJECTS, pois o numero de registros em que o OBJECT_TYPE=TABLE em DBA_OBJECTS é de 1123, que é infinitamente maior doque todos os registros de DBA_OBJECT_TABLES que somam 35. Porém esse sistema é uma instalação padrão para esses testes e não tem nenhuma tabela de usuário criada, o que me levou a crer que os dados mais objetivos estavam em DBA_OBJECT_TABLES.

      Um outro DBA que eu conversei disse para usar a DBA_OBJECTS mesmo, porém se eu fizer um relatório que terá várias páginas com dados que não são úteis, porque não se referem a tabelas que o usuário do banco manipula, ele ficará meio difícil de usar.

      De onde será que vem essas 1123 tabelas de DBA_OBJECTS?? Será que o usuário do banco precisa mesmo de um grande relatório com todas elas??

      Se alguem puder me ajudar eu agradeço…

      Renato A. Ferreira 🙂 🙂 🙂 🙂 🙂

      #76553
      Marcio68Almeida
      Participante

        Bom dia.
        Certamente o teu usuário não necessita de tantta informação, principalmente por se tratarem de tabelas de sistema e a grande maioria não erá acesso a elas 🙂
        Você pode usar tanto o DBA_TABLES quanto o DBA_OBJECTS, só que use a restrição por OWNER, mostre ao usuário apenas o que lhe diz respeito.
        Você também pode criar VIEWS para facilitar o teu trabalho.

        #76634
        rferreira
        Participante

          [quote=”Marcio68Almeida”:36iewx7c]Bom dia.
          Certamente o teu usuário não necessita de tantta informação, principalmente por se tratarem de tabelas de sistema e a grande maioria não erá acesso a elas 🙂
          Você pode usar tanto o DBA_TABLES quanto o DBA_OBJECTS, só que use a restrição por OWNER, mostre ao usuário apenas o que lhe diz respeito.
          Você também pode criar VIEWS para facilitar o teu trabalho.[/quote]

          Na verdade o sistema precisa inventariar o ambiente como um todo e não só as tabelas do esquema do usuário logado. O objetivo é montar uma árvore de esquemas e seus respectivos objetos. Será que essas tabelas de sistema que eu posso ignorar tem algum parâmetro ou fazem parte de algum esquema que eu posso usar como referência para ignorar?

          #76645
          Marcio68Almeida
          Participante

            [quote=”rferreira”:36911sy8]Será que essas tabelas de sistema que eu posso ignorar tem algum parâmetro ou fazem parte de algum esquema que eu posso usar como referência para ignorar?[/quote]
            Bom, esta tua frase ficou um pouco confusa… 😳
            Acho que você quer saber se há algum mode de filtrar tudo o que não seja seus aplicativos… Se for isso, você teria que colocar uma cláusula where com owner not in (‘SYS’, ‘SYSTEM’, ‘PUBLIC’, etc)

            #76648
            rferreira
            Participante

              [quote=”Marcio68Almeida”:1p052g6n][quote=”rferreira”:1p052g6n]Será que essas tabelas de sistema que eu posso ignorar tem algum parâmetro ou fazem parte de algum esquema que eu posso usar como referência para ignorar?[/quote]
              Bom, esta tua frase ficou um pouco confusa… 😳
              Acho que você quer saber se há algum mode de filtrar tudo o que não seja seus aplicativos… Se for isso, você teria que colocar uma cláusula where com owner not in (‘SYS’, ‘SYSTEM’, ‘PUBLIC’, etc)[/quote]

              o que eu quiz dizer era se existe algum parametro que eu possa usar no WHERE para ignorar os dados que não são “relevantes” como, por exemplo, o exemplo que voce deu de ignorar pelos donos dos esquemas…. mas será que os usuarios SYS, SYSTEM e PUBLIC excluem precisamente esses dados que eu não gostaria de mostrar?? não corro o risco de ignorar algo importante ou deixar passar muita coisa inútil??

              #76672
              Marcio68Almeida
              Participante

                Bom, não sei até onde vai a sua auditoria, mas certamente o que está debaixo do SYS, SYSTEM e PUBLIC, entre outros, não são dados para auditoria, são dados para administadores.
                Há outros usuários como XDB, WKPROXY, WKSYS, etc que também possuem dados que não são relevantes para uma auditoria.
                Agora… Saber quais os usuários de systema, depende da sua instalação, não sei te dizer quais são todos… Faça o seguinte :
                Select owner, count(*) from dba_objects group by owner order by owner;
                Tudo o que não for seus aplicativos coloque no WHERE…

                #76679
                rferreira
                Participante

                  Eu executei a sua query e só adcionei um WHERE para selecionar os OBJECT_TYPE=TABLE e retornou os seguintes valores:

                  CTXSYS: 37
                  DBSNMP: 21
                  FLOWS_FILES: 1
                  FLOWS_020100: 164
                  HR: 7
                  MDSYS: 37
                  OUTLN: 3
                  SYS: 678
                  SYSTEM: 138
                  TSMSYS: 1
                  XDB: 36

                  Buscando mais na web eu achei a seguinte listagem que estou pensando sériamente em usar: http://www.idevelopment.info/data/Oracl … A_26.shtml

                  E baseado nisso eu gerei a seguinte lista (java based) de schemas proibidos:

                  public static final String[] SchemasIgnorados = new String[] {
                  //default users
                  "SYS",
                  "SYSTEM",
                  "DBSNMP",
                  "OUTLN",
                  "MDSYS",
                  "ORDSYS",
                  "ORDPLUGINS",
                  "CTXSYS",
                  "DSSYS",
                  "PERFSTAT",
                  "WKPROXY",
                  "WKSYS",
                  "WMSYS",
                  "XDB",
                  "ANONYMOUS",
                  "ODM",
                  "ODM_MTR",
                  "OLAPSYS",
                  "TRACESVR",
                  "REPADMIN",

                  //jserv accounts
                  "AURORA$ORB$UNAUTHENTICATED",
                  "AURORA$JIS$UTILITY$",
                  "OSE$HTTP$ADMIN",

                  //well known referenced sample accounts
                  "SCOTT",
                  "ADAMS",
                  "JONES",
                  "CLARK",
                  "BLAKE",

                  //oracle9i sample schemas
                  "HR",
                  "OE",
                  "PM",
                  "SH",
                  "QS",
                  "QS_ES",
                  "QS_WS",
                  "QS_OS",
                  "QS_CB",
                  "QS_CS",
                  "QS_ADM",
                  "QS_CBADM"
                  }

                  Devo dar andamento no serviço baseado nessa lista que poderei editar futuramente, mas de olhometro da pra tirar algum furo dessa lista? Como por exemplo os schemas FLOWS_FILES ou FLOWS_020100 que não apareceram nessa lista??

                  #76684
                  Marcio68Almeida
                  Participante

                    Eu desconheço os esquemas FLOWS_020100 tem jeito de ser de suas aplicações…
                    Nos demais, pode coloca-los como filtro sim.

                    #76688
                    rferreira
                    Participante

                      [quote=”Marcio68Almeida”:qlwtown2]Eu desconheço os esquemas FLOWS_020100 tem jeito de ser de suas aplicações…
                      Nos demais, pode coloca-los como filtro sim.[/quote]

                      pior que não criamos nada meu, a instalação está padrãozona…. 🙄 🙄 🙄 🙄 🙄

                      agora, depois de pensar um pouco, resolvi so ignorar o primeiro grupo de usuarios… os demais, de exemplos e talz, é melhor aparecer pro administrador poder excluir se for o caso….

                      #76705
                      rferreira
                      Participante

                        Esse documento é interessante falando, do ponto de vista da segurança, sobre as contas padrão em todas as versões: http://www.ecuoug.org/?p=22

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