營銷輔助測試包數據庫部署

一、備份

a>在數據庫裏創建臨時表備份

1.ORA00905:select * into A from B,缺少關鍵字,在PLSQL中寫了一個語句:select * into A from B,運行時提示:錯誤00905,缺少關鍵字

解決方法:那是MS-SQL的寫法,ORACLE是 create table b as select * from a 

1.用exp和imp備份

windows下:

exp  user/password@SID  file='C:\20140217.dmp'  query='where column=201401'  tables=(A,B(無單引號))

linux下:


創建路徑:create directory dumpdir as '/home/dumpdata/';在sqlplus下執行;

顯示所有的路徑:select * from dba_directories;在plsql下執行

刪除路徑:DROP DIRECTORYdirectory;在sqlplus下執行

更改路徑:create or replace directory dumpdir as '/home/dumpfiles';

1.創建目錄mkdir,更改linux服務器下目錄的讀寫權限chmod,更改所屬的用戶,chown.

2.oracle裏的命令的用法spool.

3.ls -lh查看文件的大小.

4.

方式一:

dbms_metadata.get_ddl()函數

1)dbms_metadata.get_ddl()包()內的參數都要大寫

2)是否查的當前用戶的DDL,不是要加上對象的schmea

3)如果信息顯示不全,set long 9999(隨便設置他的大小,就是爲了完全顯示查找的結果)

4)注意填寫待查詢的包名時,刪除空格

研究死鎖的情況:

第一步,將測試庫的文件導入到本地,導出exp,導入時imp,此時注意需要幫助時,可以imp/exp help=y 即可

第二步,可以用下面的視圖語句進行查詢剩餘時間:

SELECT sid, serial#, start_time, sofar, totalwork, time_remaining, message
FROM v$session_longops
WHERE time_remaining > 0

研究表授予權限的情況時:grant select on  A(table)   to  B(user);語句在B裏還得加上A表所屬的用戶名進行查詢,即selerct  * from  A表用戶.A;若不想加上這個用戶,同義詞解決了此類問題,create public synonym table_name for user.table_name,當然有弊端,不再講述。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章