qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          dbms_sqldiag 創建sql測試用例

            你需要創建一個SQL測試用例,在另一臺機器上重現SQL失敗??赡苁怯脕磉M行你自己的診斷,也可能是讓oracle技術團隊能夠重現失敗。
          sys@ORCL> conn /as sysdba
          已連接。
          sys@ORCL> grant read,write on directory exp_dir to u2;
          授權成功。
          sys@ORCL> grant read,write on directory exp_dir to u1;
          授權成功。
          sys@ORCL> grant dba to u2;
          sys@ORCL> grant dba to u1;
          授權成功。
            directory目錄前面已經創建了,授權給用戶u1、u2。而且用戶u1、u2需要擁有dba權限。
          sys@ORCL> conn u2/u2
          已連接。
          u2@ORCL> select count(*) from t;
          COUNT(*)
          ----------
          1
          u2@ORCL> conn u1/u1
          已連接。
          u1@ORCL> select count(*) from t;
          select count(*) from t
          *
          第 1 行出現錯誤:
          ORA-00942: 表或視圖不存在
            可以看見u1下面是不可以執行t表的查詢的,現在我們就把u2下面的這個sql用例導入到u1用戶下。
          導出:
          u2@ORCL> conn u2/u2
          已連接。
          u2@ORCL> declare mycase clob;
          2  begin
          dbms_sqldiag.export_sql_testcase(directory => 'EXP_DIR',sql_text => 'select count(*) from t',user_name => 'U2',exportData => true,testcase => mycase);
          4  end;
          5  /
          PL/SQL 過程已成功完成。

           可以看見directory目錄多了很多東西:
          [root@linux exp_dir]# ll
          總計 248
          -rw-r----- 1 oracle oinstall 196608 11-08 21:49 oratcb1_007D001B0001dpexp.dmp
          -rw-r--r-- 1 oracle oinstall    969 11-08 21:49 oratcb1_007D001B0001dpexp.log
          -rw-r--r-- 1 oracle oinstall   4563 11-08 21:48 oratcb1_007D001B0001dpexp.sql
          -rw-r--r-- 1 oracle oinstall   3773 11-08 21:49 oratcb1_007D001B0001dpimp.sql
          -rw-r--r-- 1 oracle oinstall   1763 11-08 21:49 oratcb1_007D001B0001main.xml
          -rw-r--r-- 1 oracle oinstall    239 11-08 21:48 oratcb1_007D001B0001ol.xml
          -rw-r--r-- 1 oracle oinstall    173 11-08 21:48 oratcb1_007D001B0001sql.xml
          -rw-r--r-- 1 oracle oinstall    388 11-08 21:49 oratcb1_007D001B0001ssimp.sql
          -rw-r--r-- 1 oracle oinstall    422 11-08 21:49 oratcb1_007D001B0001xplf.sql
          -rw-r--r-- 1 oracle oinstall    654 11-08 21:49 oratcb1_007D001B0001xplo.sql
          -rw-r--r-- 1 oracle oinstall    399 11-08 21:49 oratcb1_007D001B0001xpls.sql
          -rw-r--r-- 1 oracle oinstall   1891 11-08 21:49 oratcb1_007D001B0001xpl.txt
          -rw-r--r-- 1 oracle oinstall   2316 11-08 21:48 README.txt
            導入:
          u2@ORCL> conn u1/u1
          已連接。
          u1@ORCL> exec dbms_sqldiag.import_sql_testcase(directory => 'EXP_DIR',filename => 'oratcb1_007D001B0001main.xml',importData => true);
          PL/SQL 過程已成功完成。
          u1@ORCL> select count(*) from t
          2  ;
          COUNT(*)
          ----------
          1
          u1@ORCL> select * from t;
          A
          ----------
          1
          u1@ORCL> select * from tab;
          TNAME                          TABTYPE  CLUSTERID
          ------------------------------ ------- ----------
          T                              TABLE

          posted on 2013-11-13 10:37 順其自然EVO 閱讀(225) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2013年11月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 华阴市| 黔东| 新昌县| 德钦县| 蕲春县| 永修县| 彰武县| 华亭县| 龙川县| 秦皇岛市| 湖口县| 红原县| 商河县| 九江县| 威信县| 上林县| 永年县| 深水埗区| 齐齐哈尔市| 黄冈市| 杭州市| 乌兰浩特市| 锦州市| 彰化县| 石屏县| 福鼎市| 怀仁县| 白玉县| 亳州市| 合江县| 武穴市| 华池县| 瑞昌市| 贵阳市| 牙克石市| 古田县| 新邵县| 平塘县| 宜君县| 奎屯市| 保定市|