TIPTOP 隨著功能不斷的增加,客製越來越頻繁時, 相對的問題就越來越多囉~~
有時也會遇到 "嘟丟ㄍㄨ一" 莫名奇妙的情況發生,
因此偶而把之前的 Oracle 備份資料還原到新的測試資料庫去查,
把問題徹底的找出來,才是解決問題的根本之道.
相信每天都有在備份資料庫的資料吧~~預設是用 exp 指令來匯出資料備份.
這樣想要還原到那一天的備份檔都可以囉~~執行效率也比較高.
1. 先建立新的測試資料庫 user 和 db name .
createdb testdb 1
或是比較習慣用 create user 的方式,用 sys 帳號 sysdba 方式登入
conn sys/sys_dsc as sysdba;
--create user
CREATE USER testdb
IDENTIFIED BY testdb
DEFAULT TABLESPACE DBS1
TEMPORARY TABLESPACE TEMP
PROFILE TIPTOPGP
ACCOUNT UNLOCK;
-- 2 Roles for testdb
GRANT RESOURCE TO testdb;
GRANT TIPTOPGP TO testdb;
ALTER USER testdb DEFAULT ROLE ALL;
-- 5 System Privileges for testdb
GRANT UNLIMITED TABLESPACE TO testdb;
GRANT CREATE VIEW TO testdb;
GRANT CREATE TABLE TO testdb;
GRANT CREATE SYNONYM TO testdb;
GRANT CREATE SESSION TO testdb;
-- 1 Object Privilege for testdb
GRANT SELECT ON SYS.V_$SESSION TO testdb;
2. 再來就是把資料匯入囉.
imp system/manager file=xxx.dmp fromuser=yyy touser=testdb ignore=y
3. 最後就是在 TIPTOP 建立營運中心囉~~完成!!
aooi931、p_zo、p_zxy
4. 記得要把參數都 update 喔~~不然程式可是會拋到正式資料庫造成錯亂的
update TESTDB.apz_file set apz02p = 'TESTDB',apz04p = 'TESTDB';
update TESTDB.ooz_file set ooz02p = 'TESTDB';
update TESTDB.sma_file set sma87 = 'TESTDB';
update TESTDB.oaz_file set oaz02p = 'TESTDB';
update TESTDB.och_file set och03 = 'TESTDB';
update TESTDB.nmz_file set nmz02p = 'TESTDB';
update TESTDB.faa_file set faa02p = 'TESTDB';
update TESTDB.faf_file set faf03 = 'TESTDB';
update TESTDB.ccz_file set ccz11 = 'TESTDB';
5. 如果是建立空白資料庫再匯入備份檔的話,要再多修改 FGLPROFILE 檔.
不然會顯示 Fail in Reading System Parameter 的錯誤訊息.
vi $FGLPROFILE
或
vi /u1/genero.run/etc/fglprofile.prod
補充:
imp 可以加上 tables=(a_file,b_file) 就可以單獨還原 a_file、b_file 的 Table,
記得要把原本的 Table 的資料刪掉,不然匯入的時候會一堆錯誤訊息。
張先生:
回覆刪除Info: User of tiptop Fail in Reading System Parameter.
$FGLPROFILE 我都有確認過已包括新增的資料庫.
但執行udm7還是無法順利進入則會出現上述訊息.
您好,會有 Fail in Reading System Parameter 的情況,
刪除一般都是 zx_file 的 zx08 欄位沒有對應的資料庫名稱,
不然就是 $FGLPROFILE 帳號密碼錯誤或是沒有建立。
再檢查看看是不是這二種情況。