2011年2月21日 星期一

自學SAP三道坎[轉貼]

寫得真好!
其實我在接手並摸索了SAP BASIS 這塊一陣子之後,
想說一句:自學SAP,天方夜譚!

出處:http://sophieprofession.pixnet.net/blog/post/16120601

打算進入SAP諮詢領域的朋友很多,只是SAP的產品過於複雜,
而實施了SAP的企業也不願意重新培養自己SAP人員
――培養了不長時間就因為薪資待遇問題而離職,得不償失。
所以對於有ERP工作經驗的人來說,SAP的門檻太高。
入行的機會甚至遠小於那些剛畢業的學生。
通過自學SAP進入SAP諮詢領域,相信是很多ERPer共同的夢想,那麼如何跨過這道門檻呢?
在這裏我總結了些經驗供大家參考。

[第一道坎]:
入門自學SAP的人在入門的時候常常遇到的有四個誤區,或許很多人都沒有仔細考慮過,這樣的錯誤我也曾犯過,也耽誤了不少時間。

(誤區一):
不 學前臺學後臺有ERP經驗的人自學SAP反倒不如沒有ERP經驗的人學習SAP快,或許這個問題很多人都沒有想過。在論壇裏跟很多自學SAP的朋友溝通 過,似乎大夥所看重的不過是如何配置SAP系統。裝上個IDES就要研究SPRO――前臺嘛,那算什麼?可問題就在於:根基不穩,如何能走的快,走的遠? 很多人倚仗自己對別的ERP產品的理解來研究SAP,可往往在學習了很久以後仍看不到自己的長進,原因也就在於此:不夠踏實。

(誤區二):
不看功能,看維護在這裏所指的維護是一些“設置用戶許可權”“CLIENT拷貝”“系統調優”“記憶體優化” “資料庫優化”等BASIS所做的工作。然而在真正的SAP團隊中,這些工作是由專人負責的。花過多的精力在這個上面,也就耽誤了真正該學習的內容。
不知道哪位仁兄在論壇裏宣傳什麼裝好IDES後拷貝一個“乾淨的”CLIENT來學習――或許這話是對的,但對於初學者來說:等到你能把所有參數都設置完成了,呵呵呵,恐怕已經是三五年後的事情了。
還有部分人一開始就琢磨SAP的許可權分配、資料庫備份。而這部分也是由BASIS專職負責――而做好BASIS的難度絕不亞于一個模組顧問的難度。

(誤區三):
開 發跟實施不分也聽很多朋友說過:研究一個系統最簡單的方式是看資料庫中資料的流向。弄懂了資料的流向你才能真正明白這個系統是如何設計的,才能從底層掌握 這個系統。嗯,這話沒錯。但別忘記:你是個初學者,你的目標是SAP的諮詢顧問,而不是開發人員。對,ABAPer跟諮詢顧問也是兩個職位,除非你自己定 位的是開發顧問,否則,在初學的階段還是遠離ABAP的好。要知道SAP
但話也要分開講――一個不懂ABAP的諮詢顧問,也絕對成不了高級顧問,只是你不能太急罷了。

(誤區四):
滿大街找資料我自己手頭的SAP資料大約是幾十個G吧,可回過頭來看看,真正對自己入門幫助最大的還是ONLINEHELP。對,SAP的線上幫助。怎麼?不知道哪有?上HELP.SAP.COM看看去。
大把的英文資料看得頭痛?也是。但只要你找對方法,學習起來真就很容易了。而正確的方法就是:看跟IDES相關的東西。你裝的學習環境不就是IDES嘛,裏面什麼資料都有,參考著SAP幫助檔裏的步驟一步一步走下去,很快就能熟練的操作這個系統。入門實在是太容易了。
總結起來,入門的方法就是:不要急,從前臺操作入手,研究透了基本操作再研究後臺的設置。這個方法簡單吧?對,拋開你以前所有的經驗和資歷,象一個完全不懂的菜鳥那樣從SAP的基本操作開始學習。看看PPT,看看入門教材一步一步的走下去。

[第二道坎]:
英語說到學SAP的第二道坎,恐怕N多人都會有相同的感慨:英語。
很多人都上網去找中文的資料,說是看起來更容易些,可別忘記了,那並非SAP官方資料。在翻譯和理解上中英文的資料差異還是非常大的。尤其是提高方面的資料――官方認證培訓資歷,可是只有英文版的。
作為一個自學者,在熟練的掌握了SAP的基本操作以後,必然要去看SAP的官方培訓資料――提高嘛。更不用說我們在前面提到的ONLINE HELP。在這方面,如果沒有良好的英語基礎或者說沒有看英文資料的習慣,在很長的時間內都難以提高。
說到英文的資料,如果是自學的話,最終於的一點還是強迫自己習慣這些東西。這也是沒有辦法的事情。
研究SAP的後臺配置是學習最重要的工作之一,就我目前所能掌握到的資料來看,有心將所有的配置關聯講清楚的,也只有SAP的官方資料。所以……,不要叫苦啦。

[第三道坎]:
機會能不能耐的住寂寞?
對於自學者來說,不被正規管道所承認是非常難受的事情。如何被正規管道所承認呢?
在我看來,自學SAP難就難在耐不住寂寞。
仔 細想想,對於SAP的用戶來說,兩年經驗也都只能算菜鳥,那麼對於自學SAP的人來說,你能否堅持兩年,勤勤懇懇的學下去?相信沒有具體的工作,很多人學 習了三五個月便放棄了。而三五個月學習的真實效果如何?不用我說,對比了時間我想你也知道。當然,也有人會說:我投入的時間絕對不比人家專職學習花費的時 間少――可這話,你仔細想想,能成立嗎?有心做SAP顧問的人會不用心去學習系統嗎?
所以我認為:堅持下去才是最最難得的事情。在你看不到路的情況下,如何抹黑的走下去。

[[對於自學SAP]]
1、從基礎開始,目標要清晰,絕對清晰。但不要把初始的目標定的過於遠大。參考一個SAP顧SAP顧問所需要具備的基本要求。

2、堅持看英語的文檔,尤其是仔細按照ONLINE HELP所提供的那些練習一步一步的來做。有了基礎之後在仔細研究SAP的標準教材。直到你有能力看完PA的課程。

3、 交流,儘量的與人交流,包括在BBS上,QQ群上,儘量的與人交流。而交流過程中最重要的並非看別人的帖子,按別人說的方法去操作――儘管這也是每個人學 習SAP過程中要做的事情。最重要的是:解答別人的問題。細想一下:作為顧問難道不就是每天要回答用戶提出的各種問題嗎?對,你只是提前測試這項工作罷 了。僅僅按照別人提供的思路解決問題並不能代表什麼,關鍵是自己的吸收。

4、規劃自己學習的過程。按自己計畫的方式學習,不要偏離方向。
對 於第四點,我個人的感觸特別深。對於自學者而言,你很難知道哪一天才能加入SAP相關工作的行列――一年?兩年?甚至是更長的時間,沒有一個良好的學習規 劃,並且堅持下去,恐怕沒有人能等到最後。所以一定要給自己一個比較長期的規劃。而對於一個SAP的項目來說,我們同樣要強調的是計畫。

5、儘量結合你現有的工作整理資料。
對於所有的ERP專案來說對資料的收集整理導入都是必須經歷的。而SAP的專案對於流程的調研、資料的收集更為重視。只有結合你現有的工作並在SAP系統中類比這些工作,你才能更貼切的瞭解上一個系統到底要做些什麼。
SAP 的專案資料對於初學者和自學者來說參考價值有限。除了SAP公司似乎還沒有哪家公司的哪套資料能將一個專案所涉及到的所有內容完整的展現――即使是有這樣 的資料,對於初學者來說你也不清楚什麼階段該做什麼,什麼階段該如何迴圈。網路上的那些所謂專案資歷對於大多數顧問來說僅僅是“參考”而以,甚至連參考的 價值都沒有。

想到的也就這麼多了。堅持!就這樣堅持下去!給自己兩年的時間。問正常的途徑走下去,從基本的操作開始。要對所有的前臺工作都瞭若指掌。這也是一個朋友的建議有數萬個表,一個不小心你就會掉進迷潭。
-----

2011年2月17日 星期四

用來「處理」windows主機問題的好用工具!

用來「處理」windows主機問題的好用工具!

工具包光碟
http://www.hiren.info/pages/bootcd
http://www.hirensbootcd.org/download/

解除密碼!(其實有包在上面那個光碟裡頭了!)
http://pogostick.net/~pnh/ntpasswd/

……
……
……
寫不下去&……%$#@!
先PO連結吧~

2011年2月16日 星期三

管理ORACLE的Primary key ?[轉貼]

Oracle/PLSQL: Primary Keys


What is a primary key?

A primary key is a single field or combination of fields that uniquely defines a record. None of the fields that are part of the primary key can contain a null value. A table can have only one primary key.

Note:

In Oracle, a primary key can not contain more than 32 columns.

A primary key can be defined in either a CREATE TABLE statement or an ALTER TABLE statement.


Using a CREATE TABLE statement

The syntax for creating a primary key using a CREATE TABLE statement is:

CREATE TABLE table_name
(column1 datatype null/not null,
column2 datatype null/not null,
...
CONSTRAINT constraint_name PRIMARY KEY (column1, column2, . column_n)
);


For example:

CREATE TABLE supplier
( supplier_id numeric(10) not null,

supplier_name varchar2(50) not null,

contact_name varchar2(50),

CONSTRAINT supplier_pk PRIMARY KEY (supplier_id)
);

In this example, we've created a primary key on the supplier table called supplier_pk. It consists of only one field - the supplier_id field.


We could also create a primary key with more than one field as in the example below:

CREATE TABLE supplier
( supplier_id numeric(10) not null,

supplier_name varchar2(50) not null,

contact_name varchar2(50),

CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name)
);

Using an ALTER TABLE statement

The syntax for creating a primary key in an ALTER TABLE statement is:

ALTER TABLE table_name
add CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);


For example:

ALTER TABLE supplier
add CONSTRAINT supplier_pk PRIMARY KEY (supplier_id);

In this example, we've created a primary key on the existing supplier table called supplier_pk. It consists of the field called supplier_id.


We could also create a primary key with more than one field as in the example below:

ALTER TABLE supplier
add CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name);


Drop a Primary Key

The syntax for dropping a primary key is:

ALTER TABLE table_name
drop CONSTRAINT constraint_name;


For example:

ALTER TABLE supplier
drop CONSTRAINT supplier_pk;

In this example, we're dropping a primary key on the supplier table called supplier_pk.


Disable a Primary Key

The syntax for disabling a primary key is:

ALTER TABLE table_name
disable CONSTRAINT constraint_name;


For example:

ALTER TABLE supplier
disable CONSTRAINT supplier_pk;

In this example, we're disabling a primary key on the supplier table called supplier_pk.


Enable a Primary Key

The syntax for enabling a primary key is:

ALTER TABLE table_name
enable CONSTRAINT constraint_name;


For example:

ALTER TABLE supplier
enable CONSTRAINT supplier_pk;

In this example, we're enabling a primary key on the supplier table called supplier_pk.

出處:http://www.techonthenet.com/oracle/primary_keys.php

2011年2月10日 星期四

遷移FreeBSD到新硬碟的作法!!

吳大:
我認為若是想進行虛擬化 P2V,那麼針對UNIX-LIKE的作業系統的移植作法.
這篇文章展示的作法,就具有很好的參考價值!!

將FreeBSD移到一個新的硬碟
[原作是苗栗縣網FreeBSD討論版->OHaHa's Study Diary 網友:小龍]

  本文主要說明怎樣把你已安裝的FreeBSD從一個硬碟移到另一個。我用dump/restore成功試驗了多次,在開始前,請閱讀本文。
  我們假設你的FreeBS已裝在一個4G的硬碟上(IDE Master ad0),並且我們想把它移到一個新的20G的硬碟上,你所要做的僅僅是去掉老的硬碟,裝上20G的新硬碟(作為IDE Master)並且進行FreeBSD的最小化安裝(minimal clean install),準確設置好你的分區。請確定你已設置了硬碟為可啟動,並且啟動一次做為測試!
  接下來,重新裝上原硬碟(4G)(作為IDE Master),和新硬碟(20G)(作為IDE Slave)。啟動原來安裝的FreeBSD到單用戶模式下(single user mode):
進入單用戶模式:
1.在10秒倒計時的時候按下空格(space)鍵,輸入
boot -s
然後在#後輸入
fsck -p
mount -u /
mount -a
swapon -a
adjkerntz -i
2.確定你已經有了所需的設備檔,這樣你就可以mount分區到從盤上。
cd /dev
./MAKEDEV ad1s1a
./MAKEDEV ad1s1e
./MAKEDEV ad1s1f
FreeBSD 5.x版本採用devfs,可以自動檢測硬體,因此不用
3.建立新硬碟分區的掛載點(mount point)
mkdir /backup
mkdir /backup/root
mkdir /backup/usr
mkdir /backup/var
4.我用一段shell腳本來做以下幾步操作:
1 - create new filesystems (newfs the drive)
2 - mount the partitions
3 - dump the data from my old drive, and restore it to my new one
4 - unmount the new drives partitions
5 - enable softupdates on the new drive (optional)
下麵是我用的Shell腳本
源碼:
#!/bin/sh
newfs /dev/ad1s1a
newfs /dev/ad1s1e
newfs /dev/ad1s1f
mount /dev/ad1s1a /backup/root
mount /dev/ad1s1e /backup/var
mount /dev/ad1s1f /backup/usr
( dump -0f - / ) | ( cd /backup/root ; restore -rf - )
( dump -0f - /var ) | ( cd /backup/var ; restore -rf - )
( dump -0f - /usr ) | ( cd /backup/usr ; restore -rf - )
umount /backup/root
umount /backup/var
umount /backup/usr
tunefs -n enable /dev/ad1s1a ###在分區上面啟用SOFTUPDATES
tunefs -n enable /dev/ad1s1e
tunefs -n enable /dev/ad1s1f
#end
  進行dump/restore的操作可能會花幾個小時的時間,請耐心等待。當硬碟當資料dumped and restored到新硬碟後,你要做的僅僅是卸除老硬碟(4G),把新硬碟設置為主盤(IDE Master)並且重啟(Reboot).現在你就可以從新硬碟(20G)啟動原來已安裝的FreeBSD了!
  你可以下載 diskcopyshell 腳本,用tar xvf drivecopy.tar解壓得到drivecopy.sh文件。如果你自定義了分區(custom partitions),你需要修改drivecopy.sh文件。加入你在安裝的時候選擇了標準FreeBSD 分區(standard FreeBSD partitions),就把需要修改此檔。
你可以通過
man dump
man restore
man tar
man mount
man adjkerntz
來得到這些命令的更多資訊!

2011年2月7日 星期一

Ubuntu v.s. Windows 由自由軟體重新出發

雖然有點過時了,但對想擺脱Windows的新手而言,還是很有參考價值!

Check out this SlideShare Presentation:

2011年2月2日 星期三

DBA工作內容排程-轉貼

DBA 职责及日常工作职责:

1.安装和升级数据库服务器,以及应用程序工具构建和配置网络环境.

2.熟悉数据库系统的存储结构预测未来的存储需求,制订数据库的存储方案.

3.根据开发人员设计的应用系统需求创建数据库存储结构.

4.根据开发人员设计的应用系统需求创建数据库对象

5.根据开发人员的反馈信息,在必要的时候修改数据库的结构

6.管理数据库的用户维护数据库的安全

7.控制和监控用户对数据库的存取访问

8.监控和优化数据库的性能

9.制定数据库备份计划,灾难出现时对数据库信息进行恢复

10.备份和恢复数据库

11.联系数据库系统生产厂商,跟踪技术信息

12.解决客户端中间层和服务器的链接问题

13.保证安全连接

每日工作:

1 确保服务器工作状态正常,各类数据库状态正常

2 检查硬盘空间是否够用

3 查看数据库日志,查看跟踪文件,检查是否有错误信息

4 检查备份的有效性

5 通过系统的性能监视器对服务器的性能参数监控发现数据库的性能是否下降,寻找原因并解决

6 填写dba日志

每周工作:

1 监控数据库对象的空间扩展情况

2 决定是否调整存储参数

3 对系统健康检查

4 检查删除没有任何意义的数据对象

5 检查删除没有意义的约束和触发器

6 对每周的备份检查处理

每月工作:

1 根据上面的检查情况,分析数据库中是否有影响性能的存储碎片存在

2 根据数据库性能的历史数据,决定如何优化性能

3 处理每日每周每月的备份

4 总结工作,提出下一步的管理计划

Oracle DBA日常工作总结

Oracle管理员应按如下方式对Oracle数据库系统做定期监控:

1、每天对Oracle数据库的运行状态、日志文件、备份情况、数据库空间使用情况、系统资源使用情况进行检查,发现并解决问题。

2、每周对数据库对象的空间扩展情况、数据的增长情况进行监控、对数据库做健康检查、对数据库对象的状态做检查。

3、每月对表和索引等进行analyze、检查表空间碎片、寻找数据库性能调整的机会、进行数据库性能调整、提出下一步空间管理计划。对Oracle数据库状态进行一次全面检查。

每天工作

1、确认所有的instance状态正常登录到所有数据库或实例,检测Oracle后台进程:#ps -ef | grep ora

2、检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。#df -k

3、检查日志文件和trace文件记录alert和trace文件中的错误。

cd $Oracle_BASE/oradata//bdump
tail -f alert_.log

发现任何新的ORA_错误,记录并解决

4、检查数据库当日备份的有效性

对RMAN备份方式,检查第三方备份工具的备份日志以确定备份是否成功

对EXPORT备份方式,检查exp日志文件以确定备份是否成功

对其它备份方式,检查相应的日志文件

5、检查数据文件的状态记录状态不是“online"的数据文件,并做恢复。

select file_name from dba_data_files where status="OFFLINE"

6、检查表空间的使用情况

select a.tablespace_name,round((total-free)/total,3)*100 pecent
from (select tablespace_name,sum(bytes) free from dba_free_space group by tablespace_name) a,
(select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name) b
where a.tablespace_name=b.tablespace_name

7、检查剩余表空间

select tablespace_name,sum(blocks) as free_blk,trunc(sum(bytes)/(1024*1024)) as free_m,
max(bytes)/(1024) as big_chunk_k,count(*) as num_chunks
from dba_free_space group by tablespace_name;

8、监控数据库性能

运行utlbstat.sql/utlestat.sql生成系统报告,或者使用statspace收集统计数据

9、检查数据库性能,记录数据库的CPU使用、IO、Buffer命中率等等,使用vmstat,iostat,glance,top

10、日常出现问题的处理

每周的工作

1、控制数据库对象的空间扩展情况,根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施。

删除历史数据、扩展表空间

alter tablespace add datafile '' size

调整数据对象的存储参数 next extent pct_increase

2、监控数据量的增长情况

根据本周每天的检查情况找到记录数据数量增长很快的数据库对象,并采取相应的措施

删除历史数据、扩表空间

alter tablespace add datafile '' size

3、系统健康检查

检查以下内容:

init.ora
controlfile
redo log file
archiveing
sort area size
tablespace(system,temporary,tablespace fragment)
datafiles(autoextend,location)
object(number of extent,next extent,index)
rollback segment
logging & tracing(alert.log,max_dump_file_size,sqlnet)

4、检查无效的数据库对象

select owner,object_name,object_type from dba_objects where status='INVALID'

5、检查不起作用的约束

select owner,constraint_name,table_name,constraint_type,status from dba_constraints
where status='DISABLED' and constraint_type='p'

6、检查无效的trigger

select owner,trigger_name,table_name,status from dba_triggers
where status='DISABLED'

每月的工作

1、Analyze tables/indexes/cluster

analyze table estimate statistics sample 50 percent;

2、检查表空间碎片

根据本月每周的检查分析数据库碎片,找到相应的解决方法

3、寻找数据库性能调整机会

比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进行调整

4、数据库性能调整,如有必要进行性能调整

5、提出下一步空间管理计划,根据每周的监控,提出空间管理的改进方法

原文地址 http://blog.sina.com.cn/s/blog_525394060100ffg7.html

不錯的DBA養成網站-好站推薦

《Oracle操作笔记》 350页,与一般理论书籍不同,本书记录了实际操作的问题、解决方法等,很有实战价值。
《DBA日志,PDF试读版》 323页,白鳝先生新作。白鳝是业界内著名的专家,《DBA日志》还没有出版,大家可以先睹为快。
《Oracle database 10g RAC 管理员手册》约400页,oracle官方文档
《Oracle傻瓜手册》 81页,最经典的入门教材,也称Oracle傻瓜1000问。
《Oracle性能调优原理及具体手段》60页,调优必备。
海量Oracle资料下载1
海量Oracle资料下载2
海量Oracle资料下载3
海量Oracle资料下载4

搜尋此網誌

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!