我要执行一个存储过程,这个存储过程包含用户名和密码。我希望这两个值传到database server一端时是不能被DBA查看到的。在实验的过程中,我使用Toad监视结果Toad显示了这两个参数的值,不过只显示的他们的第一个字符。请问各位达人, 存储过程传过来的参数是否都能被DBA查看到?在实验的过程中我join 了v$sql和v$sql_bind_capture两个视图,发现在v$sql_bind_capture中有两个参数的记录,它的最后一个字段是anydata型的,叫什么名称我忘了,它是用来存储参数值的,其他的一些sql的参数的值都可以在这里找到,但我的两个参数的值我没有取出来。我的Oracle的版本是10.2的。请高手指点迷津~~~,分不够可以加,谢谢

解决方案 »

  1.   

    >请问各位达人, 存储过程传过来的参数是否都能被DBA查看到?那肯定,你所有执行的sql dba都能看到,要不还要DBA干啥?不想让dba看密码,那就把密码加密,不要用明文密码
      

  2.   

    >请问各位达人, 存储过程传过来的参数是否都能被DBA查看到?所有的sql dba都能看到的,要不然还能叫DBA?密码不要用明文,这样更安全。
      

  3.   

    基本没有什么可以对DBA隐藏的吧?
    即使你加了密, DBA查看procedure的source还不是一样可以反加密?
      

  4.   

    可以通过DBA的数据视图查看到!
    对了,我们的添删查改等操作对DBA有什么隐藏的呢?
      

  5.   

    那请问怎样才可以查询到应用程序端(比如:ADO.NET等)调用存储过程时,所传递的存储过程的值呢?
      

  6.   

    alter session set sql_trace=true;
    然后执行的sql就会存到trace文件里
    看这篇 tkprof 的使用:
    http://leminsky.itpub.net/post/25567/230859
      

  7.   

    md5加个密 Key只有自己知道就行了