公司可能有規定需要定期去檢視 TIPTOP 系統權限是否設定正確.
因此提供 SQL 指令把所有人員的 TIPTOP 系統權限清單列示出來,
就方便各主管去檢視囉~~
參考以下指令 :
select zx01,zx02,zx03,zx04,'','',zxw04,gaz03,zxw05 from zx_file,zxw_file,gaz_file
where zx01 = zxw01
and zxw03 = 2
and zxw04 = gaz01(+)
and (gaz02 = 0 or gaz02 is null)
union
select zx01,zx02,zx03,zx04,zy01,zw02,zy02,gaz03,zy03 from zx_file,zxw_file,zw_file,zy_file,gaz_file
where zx01 = zxw01
and zxw03 = 1
and zxw04 = zy01
and zxw04 = zw01
and zy02 = gaz01(+)
and (gaz02 = 0 or gaz02 is null)
order by 1,5
2010年12月15日
2010年12月1日
職委會在 TIPTOP 如何建置 ?? 多帳別設定.
相信每一間公司都有職委會慰勞大家在辛苦的工作能放鬆一下心情,
不過職委會是現金流入流出制的會計原則,
一般只會在總帳切傳票做流水帳記錄,
新增一個資料庫區分 BU 反而顯的殺雞用牛刀的感覺,
可以試試看 TIPTOP 5.x 版以上的多帳別的功能,
輕輕鬆鬆就可以達成囉~~沒事跟會計人員泡茶聊天吧~~
步驟:
1. agli101 帳別資料維護, 新增福委會帳別.
2.agli102 科目資料明細維護,加入職委會所需的會計科目.
3.重點來了,如何讓會計人員可以輸入傳票呢??
在 p_zz 加入新程式, 記得要帶參數,以範例職委會帳別是 02
4.之後就有專屬於職委會的傳票作業囉~~~所有報表也可以輸入帳別 02 即可以執行.
簡單吧~~
不過職委會是現金流入流出制的會計原則,
一般只會在總帳切傳票做流水帳記錄,
新增一個資料庫區分 BU 反而顯的殺雞用牛刀的感覺,
可以試試看 TIPTOP 5.x 版以上的多帳別的功能,
輕輕鬆鬆就可以達成囉~~沒事跟會計人員泡茶聊天吧~~
步驟:
1. agli101 帳別資料維護, 新增福委會帳別.
2.agli102 科目資料明細維護,加入職委會所需的會計科目.
3.重點來了,如何讓會計人員可以輸入傳票呢??
在 p_zz 加入新程式, 記得要帶參數,以範例職委會帳別是 02
4.之後就有專屬於職委會的傳票作業囉~~~所有報表也可以輸入帳別 02 即可以執行.
簡單吧~~
2010年11月25日
新進 IT 人員的 TIPTOP 系統帳號設定
公司應該很少 TIPTOP 系統從頭到尾都交由一個人負責吧~~
ERP 系統算起來也是一套大型的系統.
因此當新增 IT 幫手的時候, 權限要如何設定才比較好呢?
又可以避免非 IT 人員隨意的存取 TIPTOP 檔案或是資料.
記得要先把 TiptopGP 主機的 ftp 登入帳號設限喔~~只能允許 IT 人員 FTP 登入而已.
修改 /etc/vsftpd/vsftpd.conf 加上兩行設定
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
新增文字檔, 並將 IT 人員帳號加入 /etc/vsftpd/user_list 檔案中.
加入 IT 人員的 TIPTOP 維護帳號步驟如下 :
1. 新增 Linux 帳號和 Tiptop 帳號 (p_zx).
2. 加入 FTP 登入的權限
編輯 /etc/vsftpd/user_list
3. 加入 oracle group 的權限
usermod -G dba USER_NAME
4. 置換 .profile 檔
不是用 cp /u1/usr/tiptop/.profile . 的指令來蓋掉喔~~
如果有設 link .profile 檔案的話..就出包啦~~
所以要先執行 rm .profile , 把 .proifle 的 ln 刪掉.
再來就是 cp /u1/usr/tiptop/.profile . 才會有專屬於 IT 人員此帳號的 .profile
5. 最後就是 vsftpd 重啟囉~~
/etc/init.d/vsftpd restart
ERP 系統算起來也是一套大型的系統.
因此當新增 IT 幫手的時候, 權限要如何設定才比較好呢?
又可以避免非 IT 人員隨意的存取 TIPTOP 檔案或是資料.
記得要先把 TiptopGP 主機的 ftp 登入帳號設限喔~~只能允許 IT 人員 FTP 登入而已.
修改 /etc/vsftpd/vsftpd.conf 加上兩行設定
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
新增文字檔, 並將 IT 人員帳號加入 /etc/vsftpd/user_list 檔案中.
加入 IT 人員的 TIPTOP 維護帳號步驟如下 :
1. 新增 Linux 帳號和 Tiptop 帳號 (p_zx).
2. 加入 FTP 登入的權限
編輯 /etc/vsftpd/user_list
3. 加入 oracle group 的權限
usermod -G dba USER_NAME
4. 置換 .profile 檔
不是用 cp /u1/usr/tiptop/.profile . 的指令來蓋掉喔~~
如果有設 link .profile 檔案的話..就出包啦~~
所以要先執行 rm .profile , 把 .proifle 的 ln 刪掉.
再來就是 cp /u1/usr/tiptop/.profile . 才會有專屬於 IT 人員此帳號的 .profile
5. 最後就是 vsftpd 重啟囉~~
/etc/init.d/vsftpd restart
2010年11月20日
將 TIPTOP CR 主機虛擬化, 安裝篇
自從 TIPTOP GP 5.x 版開始, 報表顯示改由 CR 主機 IIS Web Service 來提供,
並由 Client 端 IE 來呈現.
但是當 CR 主機故障重置, 或是想要充份利用 CR 主機的資源, 虛擬化當然是最好的囉~~~
因為 IIS Application Pool 預設 .Net Framework 是提供實際記憶體的 60% 為最大值,
所以就算你的記憶體裝的再怎麼大,實際利用的還是有限啦~~ (可以手動改為比例)
以下就是 CR 主機的安裝步驟 :
1. 安裝 Windows Server 2008 R2 (只要有 IIS 的 OS 即可)
2. 安裝 IIS 和 .Net Framework (加上 ASP .Net的功能)
原理 : TIPTOP GP 在網址上加密 (編譯) , 然後由 ASP .Net 解密 (組譯) ,
再傳給 CR ActiveX 告訴 CR 是那一個模版、那一個 temp table (權限管控).
3. 安裝 Oracle Client, 並設定 Net Manager . (需要是 32 位元的)
4. 安裝 Crystal Report . (鼎新有附光碟片)
這裡要小心喔,要自訂安裝, 記得要安裝 資料存取\ADO.Net 的功能,
不然可是會顯示 .Net Framework 找不到 CR ActiveX 的元件的錯誤訊息.
5. 設定 IIS (鼎新有做一個批次檔,執行就可以了)
5.1 複製 topprod 目錄.
5.2 複製 crystalpreortviewers115 目錄.
5.3 建立虛擬目錄 topprod 到指定磁碟位置.
5.4 設定 topprod 為應用程式集區.
5.5 設定 topprod 為 Framework 2.0
5.6 設定應用程式集區 crap1,crap2…
5.7 將 topprod 資料夾權限設定為 IUSER可讀取,背景作業才可寄附件。
6.設定印表機的所有需要用到的紙張格式、大小。
並由 Client 端 IE 來呈現.
但是當 CR 主機故障重置, 或是想要充份利用 CR 主機的資源, 虛擬化當然是最好的囉~~~
因為 IIS Application Pool 預設 .Net Framework 是提供實際記憶體的 60% 為最大值,
所以就算你的記憶體裝的再怎麼大,實際利用的還是有限啦~~ (可以手動改為比例)
以下就是 CR 主機的安裝步驟 :
1. 安裝 Windows Server 2008 R2 (只要有 IIS 的 OS 即可)
2. 安裝 IIS 和 .Net Framework (加上 ASP .Net的功能)
原理 : TIPTOP GP 在網址上加密 (編譯) , 然後由 ASP .Net 解密 (組譯) ,
再傳給 CR ActiveX 告訴 CR 是那一個模版、那一個 temp table (權限管控).
這裡要小心喔,要自訂安裝, 記得要安裝 資料存取\ADO.Net 的功能,
不然可是會顯示 .Net Framework 找不到 CR ActiveX 的元件的錯誤訊息.
5. 設定 IIS (鼎新有做一個批次檔,執行就可以了)
5.1 複製 topprod 目錄.
5.2 複製 crystalpreortviewers115 目錄.
5.3 建立虛擬目錄 topprod 到指定磁碟位置.
5.4 設定 topprod 為應用程式集區.
5.5 設定 topprod 為 Framework 2.0
5.6 設定應用程式集區 crap1,crap2…
5.7 將 topprod 資料夾權限設定為 IUSER可讀取,背景作業才可寄附件。
6.設定印表機的所有需要用到的紙張格式、大小。
很簡單吧~~也可以玩玩 Windows Server 的 NLB 的功能, 分散 CR 報表伺服器的負載囉~~
2010年11月1日
如何新增測試資料庫 , Oracle 備份還原篇.
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 的資料刪掉,不然匯入的時候會一堆錯誤訊息。
有時也會遇到 "嘟丟ㄍㄨ一" 莫名奇妙的情況發生,
因此偶而把之前的 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 的資料刪掉,不然匯入的時候會一堆錯誤訊息。
2010年10月10日
常用的系統維護指令-維護篇
隨著公司不斷的成長和擴張, 子公司的加入, 廠線、員工、交易等資料量的增加,
系統和資料庫管理也顯得越來越重要,
因此把常用到的管理指令列入日常工作的一部份,
以避免系統異常的情況發生,造成不可預期的後果.
1. 查詢 Linux 系統效能 (可以查出是否有程式佔 CPU 100% )
指令 : top
2. 查詢 Oracle 資料庫佔 tablespace 的容量
指令 : oraq q_tbsFREE , 再輸入 system 密碼.
3. 搜尋特定字串 (可以查出 4gl 程式裡面特字文字)
指令 : find . -name '*.4gl' -exec grep -nil 'XXXX' {} \; > xxx.txt
4. 批次修改檔案權限為可以修改 (避免 IT 人員上傳檔案鎖 owner )
指令 : chmod 775 *.4fd /u1/topprod -R
5. 設定 Oracle Table 為 public (建立新的 table 時,會造成其他 db user 不能讀取)
指令 : grant all on xxx_file to public ( 5.25 版原本是 public 改為 TIPTOPGP 群組)
6. 重整資料庫的資料 (類似檔案重組的功能,把資料做重組)
指令 : analyze2 DB-name
7. 刪除不要用的資料庫
指令 : drop user database_name cascade
8. 建立新的資料庫
指令 : createdb database_name [1,2,3,4] , 請參考 createdb 指令說明.
9. 查詢目前 Geoero 線上使用人數
指令 : fglWrt -a info users (小心不要把 Geoero License 給砍了)
10. 匯出和匯入 Oralce 的資料 (備份還原資料)
匯出指令 : exp system/manager owner=DBUSER file=xxx.dmp
或是
exp DBUSER/PASSWORD file=xxx.dmp
匯入指令 : imp system/manager fromuser=AAA touser=BBB file=xxx.dmp ignore=y
加上 tables=(A,B) 就可以單獨匯出/匯入指定的 Table
11. 新增 tablespace file 到 dbs1 (tablespace 空間不足會造成資料 insert 失敗的危險)
指令 : alter tablespace dbs1 add datafile '/u2/oradb/oradata/topprod/dbs1-XX.dbf'
size 2000M ;
12. 修改全部 4GL 的檔案權限.
指令 : chmod 775 *.4fd /u1/topprod -R
13. 修改檔案 owner
指令:chown tiptop *.4gl /u1/topprod -R
14. 修改檔案 group
指令:chgrp tiptop *.4gl /u1/topprod -R
15. 找出佔用磁碟空間很大的檔案,查 1G 以上的檔案
指令:find / -type f -size +1G -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
16. 重新啟動 apache web service
指令:apachectl restart 或 service httpd restart
Web Service 要切換到 tiptop 帳號,執行 startws 來開啟
系統和資料庫管理也顯得越來越重要,
因此把常用到的管理指令列入日常工作的一部份,
以避免系統異常的情況發生,造成不可預期的後果.
1. 查詢 Linux 系統效能 (可以查出是否有程式佔 CPU 100% )
指令 : top
2. 查詢 Oracle 資料庫佔 tablespace 的容量
指令 : oraq q_tbsFREE , 再輸入 system 密碼.
3. 搜尋特定字串 (可以查出 4gl 程式裡面特字文字)
指令 : find . -name '*.4gl' -exec grep -nil 'XXXX' {} \; > xxx.txt
4. 批次修改檔案權限為可以修改 (避免 IT 人員上傳檔案鎖 owner )
指令 : chmod 775 *.4fd /u1/topprod -R
5. 設定 Oracle Table 為 public (建立新的 table 時,會造成其他 db user 不能讀取)
指令 : grant all on xxx_file to public ( 5.25 版原本是 public 改為 TIPTOPGP 群組)
6. 重整資料庫的資料 (類似檔案重組的功能,把資料做重組)
指令 : analyze2 DB-name
7. 刪除不要用的資料庫
指令 : drop user database_name cascade
8. 建立新的資料庫
指令 : createdb database_name [1,2,3,4] , 請參考 createdb 指令說明.
9. 查詢目前 Geoero 線上使用人數
指令 : fglWrt -a info users (小心不要把 Geoero License 給砍了)
10. 匯出和匯入 Oralce 的資料 (備份還原資料)
匯出指令 : exp system/manager owner=DBUSER file=xxx.dmp
或是
exp DBUSER/PASSWORD file=xxx.dmp
匯入指令 : imp system/manager fromuser=AAA touser=BBB file=xxx.dmp ignore=y
加上 tables=(A,B) 就可以單獨匯出/匯入指定的 Table
11. 新增 tablespace file 到 dbs1 (tablespace 空間不足會造成資料 insert 失敗的危險)
指令 : alter tablespace dbs1 add datafile '/u2/oradb/oradata/topprod/dbs1-XX.dbf'
size 2000M ;
12. 修改全部 4GL 的檔案權限.
指令 : chmod 775 *.4fd /u1/topprod -R
13. 修改檔案 owner
指令:chown tiptop *.4gl /u1/topprod -R
14. 修改檔案 group
指令:chgrp tiptop *.4gl /u1/topprod -R
15. 找出佔用磁碟空間很大的檔案,查 1G 以上的檔案
指令:find / -type f -size +1G -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'
16. 重新啟動 apache web service
指令:apachectl restart 或 service httpd restart
Web Service 要切換到 tiptop 帳號,執行 startws 來開啟
2010年10月2日
終於可以把 Excel 資料匯入 TIPTOP 了
TIPTOP GP 系統, 採用的是 4js Geoero 的環境,
最大的問題之一, 就是在 Excel 做好的資料, 還要一筆一筆 key 入系統裡 ,
不然就是把資料丟給資訊單位進行匯入,Orz...
不過在新版的 GDC (Geoero Desktop Client) 提供了 Excel 複製 ,
在TIPTOP GP 的單身貼上, 就可以快速又整整齊齊的匯入囉~~
(注意 : 只是把輸入的方式原本是鍵盤改為系統剪貼布而已,所以只需要匯入要 key 入的欄位)
如果常常在 Excel 計算或是整理的資料的使用者, 想要用 Excel 匯入的功能,
記得要先更新 GDC 到 2.20.10 版以後喔~~~
(會造成 GDC 自訂畫面清除, 核、確、無等圖示有可能會縮小 (只要改 4fd 檔為 fix 即可) ,
還有開啟多欄位的程式(訂單變更,採購變更,個人班別...等)會速度變慢很多(約1分鐘))
還不知道怎麼用?? 把 TIPTOP 資料匯出 Excel 後,再刪除部份不需輸入的欄位,再匯入試試吧~~
也算是勉勉強強可以用吧~~至少可以提高一點效率.
最大的問題之一, 就是在 Excel 做好的資料, 還要一筆一筆 key 入系統裡 ,
不然就是把資料丟給資訊單位進行匯入,Orz...
不過在新版的 GDC (Geoero Desktop Client) 提供了 Excel 複製 ,
在TIPTOP GP 的單身貼上, 就可以快速又整整齊齊的匯入囉~~
(注意 : 只是把輸入的方式原本是鍵盤改為系統剪貼布而已,所以只需要匯入要 key 入的欄位)
如果常常在 Excel 計算或是整理的資料的使用者, 想要用 Excel 匯入的功能,
記得要先更新 GDC 到 2.20.10 版以後喔~~~
(會造成 GDC 自訂畫面清除, 核、確、無等圖示有可能會縮小 (只要改 4fd 檔為 fix 即可) ,
還有開啟多欄位的程式(訂單變更,採購變更,個人班別...等)會速度變慢很多(約1分鐘))
還不知道怎麼用?? 把 TIPTOP 資料匯出 Excel 後,再刪除部份不需輸入的欄位,再匯入試試吧~~
也算是勉勉強強可以用吧~~至少可以提高一點效率.
訂閱:
文章 (Atom)