1.業(yè)務(wù)建模(需求)??架構(gòu)
2.技術(shù)架構(gòu)??????????? 總體把握
3.數(shù)據(jù)庫設(shè)計??????? 提升
4.PM 能力?????????????文檔
|
|
1. Project managers must focus on three dimensions of project success. Simply put, project success means completing all project deliverables on time, within budget, and to a level of quality that is acceptable to sponsors and stakeholders. The project manager must keep the team''s attention focused on achieving these broad goals.? 2. Planning is everything -- and ongoing. On one thing all PM texts and authorities agree: The single most important activity that project managers engage in is planning -- detailed, systematic, team-involved plans are the only foundation for project success. And when real-world events conspire to change the plan, project managers must make a new one to reflect the changes. So planning and replanning must be a way of life for project managers.?
3. Project managers must feel, and transmit to their team members, a sense of urgency. Because projects are finite endeavors with limited time, money, and other resources available, they must be kept moving toward completion. Since most team members have lots of other priorities, it''s up to the project manager to keep their attention on project deliverables and deadlines. Regular status checks, meetings, and reminders are essential.? 9. Project managers must fight for time to do things right. In our work with project managers we often hear this complaint: "We always seem to have time to do the project over; I just wish we had taken the time to do it right in the first place!" Projects must have available enough time to "do it right the first time." And project managers must fight for this time by demonstrating to sponsors and top managers why it''s necessary and how time spent will result in quality deliverables.? 10. Project manager responsibility must be matched by equivalent authority. It''s not enough to be held responsible for project outcomes; project managers must ask for and obtain enough authority to execute their responsibilities. Specifically, managers must have the authority to acquire and coordinate resources, request and receive SME cooperation, and make appropriate, binding decisions which have an impact on the success of the project.? 11. Project sponsors and stakeholders must be active participants, not passive customers. Most project sponsors and stakeholders rightfully demand the authority to approve project deliverables, either wholly or in part. Along with this authority comes the responsibility to be an active participant in the early stages of the project (helping to define deliverables), to complete reviews of interim deliverables in a timely fashion (keeping the project moving), and to help expedite the project manager''s access to SMEs, members of the target audience, and essential documentation.? 12. Projects typically must be sold, and resold. There are times when the project manager must function as salesperson to maintain the commitment of stakeholders and sponsors. With project plans in hand, project managers may need to periodically remind people about the business need that is being met and that their contributions are essential to help meet this need.? 13. Project managers should acquire the best people they can and then do whatever it takes to keep the garbage out of their way. By acquiring the best people -- the most skilled, the most experienced, the best qualified -- the project manager can often compensate for too little time or money or other project constraints. Project managers should serve as an advocate for these valuable team members, helping to protect them from outside interruptions and helping them acquire the tools and working conditions necessary to apply their talents.? 14. Top management must actively set priorities. In today''s leaner, self-managing organizations, it is not uncommon for project team members to be expected to play active roles on many project teams at the same time. Ultimately, there comes a time when resources are stretched to their limits and there are simply too many projects to be completed successfully. In response, some organizations have established a Project Office comprised of top managers from all departments to act as a clearinghouse for projects and project requests. The Project Office reviews the organization''s overall mission and strategies, establishes criteria for project selection and funding, monitors resource workloads, and determines which projects are of high enough priority to be approved. In this way top management provides the leadership necessary to prevent multi-project log jams.? |
Features and Contents of Control File
Is a binary file that is necessary for the database to start and operate successfully.
Every time an instance mounts an Oracle database, it reads the control file to locate the data files and online redo log files.
Is updated continuously during database use and must be available whenever the database is mounted or opened.
Provides information about database consistency used during recovery.
If any of the control files currently being used by the database becomes unavailable , then the database cannot function properly.
In summary, control file contains the following information
--Database name
--Data file location
--Redo log file location
--Tablespace names
--Current log sequence number
--Checkpoint information
--Log history
--Backup information
////////////////////////////
Tablespaces
A tablespace can belong to only one database.
Each tablespace consists of one or more operating stystem files.
Tablespaces can be brought online while the database is running.
Except for the SYSTEM tablespace or a tablespace with an active rollback segment, tablespaces can be taken offline, leaving the database running.
Tablespaces can be swtiched between read-write and read-only status.
Controlling space allocation and assigning space quotas to users.
Controlling availability of data by taking individual tablespaces online or offline
Distributing data storage across devices to improve I/O performance and to reduce I/O contention agsinst a single disk.
Performing partial backup and partial recovery operations.
Keeping large amounts of static data on read-only devices.
///////////////////////////
Data Files
Each tablespace in a Oracle consists of one or more files called data files. These are physical structures that conform with the operating system on which the Oracle Server us running.
An Oracle server creates a data file for a tablespace by allocating the specified amount of disk space plus a small overhead.
The database administrator can change the size of a data file after its creation or can specify that a data file should dynamically grow as objects in the tablespace grow.
/////////////////////////////////////
Segment
A segment is the space allocated for a specific type of logical storage structure within a tablespace. The following are example of segments:
--Table segment
--Index segment
--Temporary segment
--Rollback segment
A segment such as a data segment may span multiple files that belong to the same tablespace.
/////////////////////////////////////
Extents
An extends is a set contiguous number of blocks.
Each type of segment is made up of one or more extents.
An extent may not span a data file, but muts exist in one data file.
/////////////////////////////////////////////////////
Data Blocks
At the finest level of granularity , the data in an Oracle database is stored in data blocks.
One data block corresponds to one or more physical file blocks allocated from an existing data file.
Data block size is specified for each Oracle database by the initialization parameter DB_BLOCK_SIZE when the database is created.
The samllest unit of input-output.
//////////////////////////////////////////////////////
SYSTEM and Non-SYSTEM Tablespaces
SYSTEM Tablespace
Automatic created after the database is created
Required in all databases for database operation.
Contains data dictionary information, definitions of stored procedures, packages, and database triggers.
Contains the SYSTEM rollback segment.
Should not contain use data although it is allowed.
Non-SYSTEM Tablespace
Enable more flexibility in database administration
Can store rollback segments,temporary segments, application data, and application indexes.
CREATE TABLESPACE app_data
DATAFILE '/DISK4/app01.dbf' SIZE 100M,
???????? '/DISK5/app02.dbf' SIZE 100M
MINIMUM EXTENT 500K
DEFUALT STORAGE(INITIAL 500K
??????????????? NEXT??? 500K
??????????????? MINEXTENTS 3
??????????????? MAXEXTENTS 500
??????????????? PCTINCREASE 50);
Method 1: Adding Data Files to a Tablespace
ALTER TABLESPACE app_data ADD DATAFILE
?'/DISK5/app03.dbf' SIZE 200M;
?
Method 2: Enabling Automatic Extension of new created Data Files
ALTER TABLESPACE app_data ADD DATAFILE
'/DISK6/app04.dbf'? SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
??????????????
Method 3: Enabling Automatic Extension of existing Data Files
ALTER DATABASE
DATAFILE '/DISK5/app03.dbf'
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
Method 4:Changing the Size of Data Files Manually
ALTER DATABASE DATAFILE '/DISK5/app02.dbf'
RESIZE 200M;
READ-ONLY tablespace
Making tablespaces read-only prevents further write operations on the data files. The purpose of read-only tablespaces is to ensure that on changes are made and to eliminate the need to perform backup and recovery of large, static portions of a database. The Oracle server never updates the files of a read-only tablespace, and therefore the files can reside on read-only media, such as CD ROMs or WORM drives.
Making tablespace APP_DATA only available for read operations.
ALTER TABLESPACE app_data READ ONLY;
DBA_TABLESPACES
/////////////////////////////////////////////////////
Storage Structure and Relationships
?
select a.segment_name,a.tablespace_name,a.extents,a.blocks
?from dba_segments a
?where owner='TPL'
?
?
?select a.extent_id,a.file_id,a.block_id,a.blocks from dba_extents a where owner='TPL'
?
?
select tablespace_name? ,count(*),max(blocks),sum(blocks)
from dba_free_space
group by tablespace_name
//////////////////////////////////////
Rollback Segment
Purpose of Rollback Segment
Transaction Rollback
When a transaction makes changes to a row in a table, the old image is saved in the rollback segment. If the transaction is rolled back, the value in the rollback segment is written back to the row, restoring the original value.
Read Consistency
When transactions are in progress, other users in the database should not see any uncommitted changes made by these transactions. In addition, a statement should not see any changes that were committed after the statement commences execution. The old values in the rollback segments are also used to provide the readers a consistent image for a given statement.
Transaction Recovery
If the instance? fails when transactions are in progress, Oracle server needs to rollback the uncommitted changes when the database is opened again. This rollback is known as transaction recovery and is only possible if changes made to the rollback segment are also protected? by the redo log files.
/////////////////////////////////////////
How transactions use Rollback Segment
1.When a transaction begins, a rollback segment needs to be assigned to this transaction.
2.A transaction may request a specific rollback segment using the following command:
? SET TRANSACTION USE ROLLBACK SEGMENT rollback_segment
3.If no such request is made, the Oracle server chooses the rollback segment with the fewest transactions, and assigns it to the transaction.
4.Transactions use extends of a rollback segment in an ordered circular fashion, moving from one to the next after the current extent is full.
5.The pointer or the head of the rollback segment moves to the next extent when the current extet is full.
6.The OPTIMAL parameter specifies the size in bytes that a rollback segment must shrink to, if possible. Specifying OPTIMAL minimizes the waste of space in a rollback segment. If the OPTIMAL parameter is specified, a rollback segment can release space on completion of transactions that caused the growth.
create rollback segment rbs01
tablespace USERS
storage (initial 100k
???????? next??? 100k
???????? optimal 4M
???????? minextents 20
???????? maxextents 100);
alter rollback segment rsb01 online;
alter rollback segment rsb01 offline;
drop rollback segment rsb01;
select a.USN,a.EXTENTS,a.OPTSIZE,a.HWMSIZE,a.XACTS,a.STATUS from v$rollstat a
//////////////////////////////////////////////////
Temporary Segment
Temporary segment are used when statement such as the following are executed and the Oracle server cannot perform the sorting needed in memory because it is bigger that SORT_AREA_SIZE.
--SELECT ...ORDER BY
--CREATE INDEX
--SELECT DISTINCT
--SELECT...GROUP BY
The amount of memory used by a process for sorting? is determined by the SORT_AREA_SIZE initialization parameter. If the sort volume exceeds this size, serveral sort runs are needed, and intermedidate results are stored on disk.
Temporary segments are created and used by the Oracle server in the tablespace that has been assigned to the user for sorting.
Temporary Segments in a Temporary Tablespace
Known as sort segments
Only one segment per tablespace per instance
Created when the first disk sort occurs in the instance after startup
Reused by serveral transactions based on information in the SORT Extent Pool
Release on instance shutdown.
select *from v$sort_segment
select * from v$sort_usage
///////////////////////////////////
Managing Indexes
B-Tree Index
////////////////////////////////////////////////////////////
???? 感覺最近確實各方面都是很理想。忙忙碌碌的總有處理不完的事情。振奮人心的事情越發(fā)的少。
???? 調(diào)整自己,迷茫中盡快找到自己,迷失自己,將很難有所成就!
??? 還在深夜,窗外昆蟲還是"唧唧"地叫著,樓上的吵架聲音將人從睡夢中吵醒。現(xiàn)在是凌晨近4點種。雖然睡意朦朧,但腦子還是清楚的。
??? 許久沒有寫些東西了。特別是技術(shù)上的東西。最近又撿起了Delphi,寫一些小程序。雖然只是輔助性質(zhì)的,還是耗費了一些時間和精力。
???? 也許是自己轉(zhuǎn)型期,更加注重管理層面東西。然技術(shù)是立足之本,有時間還是要鉆研一些東西的。
我不得已上路
為不安分的心
為自尊的生存
為自我的證明
路上的辛酸已融進我的眼睛
心靈的困境已化作我的堅定
在路上 用我心靈的呼聲
在路上 只為伴著我的人
在路上 是我生命的遠行
在路上 只為溫暖我的人
溫暖我的人
那一天
我得以已上路
為不安分的心
為自尊的生存
為自我的證明
路上的辛酸已融進我的眼睛
心靈的困境已化作我的堅定
在路上? 用我心靈的呼聲
在路上 只為伴著我的人
在路上 是我生命的遠行
在路上 只為溫暖我的人
溫暖我的人
在路上 用我心靈的呼聲
在路上 只為伴著我的人
在路上 是我生命的運行
在路上 只為溫暖我的人
溫暖我的人
???? 感覺自己能力也有限,很多事情心有余而力不足。軟件從可行性到設(shè)計、分析到開發(fā)實現(xiàn),直到部署過去,有不少的環(huán)節(jié)要注意。要每個環(huán)節(jié)都要做充分的重視。銷售,客戶的想法,這些東西有時間真的很難處理。軟件是復(fù)雜的,要滿足客戶的需求、市場的需求、銷售人員的、實施人員的需求,很多很多細節(jié)要進行考慮,而且很多考慮的還是非功能性的問題。在固定的時間固定的成本來完成一定的項目,是一個項目管理者一個很重要的素質(zhì),也是成功者說必須具體的東西。但是現(xiàn)實就是這么殘酷,人員的溝通、技術(shù)的成熟度、產(chǎn)品的定義,不要有太多的牢騷,其實只需要你實干,針對事情有很好的解決就可以了。另外文檔化,不要忘記你需要進行的處理。當然,對于我們來說還有個優(yōu)先度的問題。問題出現(xiàn)了,要勇于去承擔(dān)這個責(zé)任,躲避是沒有辦法躲避的。
??? 國慶!舉國同慶。但是真正能開心的、放松心情的又有幾個呢。有時候想想還是做一個普通開發(fā)人員多好,只要解決技術(shù)問題,其他的都可以放到一邊去。
?? 也許真的需要去放松一下心情。找朋友在一起聚聚,喝喝酒了。
?? 前面的路還很長,軟件還要繼續(xù)做下去。未來的很多事情都還要做處理的。
??????? 有好一陣沒有寫B(tài)LOG了,感覺手生疏了許多。面臨即將入秋的天氣,心情也有點涼涼的。昨晚睡早了些,今天居然5點多就爬了起來。晚上老是做夢,奇怪的夢讓我老是睡眠不好。前一陣咽炎,吃了大小包N多藥片、顆粒,現(xiàn)在總算好了些。有一陣沒有抽煙了,感覺還是不抽煙的日子好一些。
???????最近感覺很是失敗,似乎也沒有什么能提起神的東西。兒子也在家里,聽說現(xiàn)在都可以在學(xué)步車上跑來跑去,想來一定很可愛的。想起我的兒子,不僅有些神傷。最近一起工作了一年多的一個同事要離開了,說是在的,大家能一直堅持到現(xiàn)在卻是很不容易。但是客觀的情況確實不容樂觀。前途堪憂啊。
????? 有一陣沒有實際去寫代碼了,手也有些生了。現(xiàn)在主要在看一些軟件項目管理的書。
???? 這一陣在與客戶的接觸中,越來越感覺自己做這個行業(yè)的特殊性。軟件,“軟”而不硬,沒有剛性。在《高級漢語詞典》中軟,質(zhì)地不硬,與“硬”相對。說來有很是有意思,做軟件也有5、6年了,一只對這個東西沒有很明確的認識。直到去拜見客戶的財務(wù)科長,對方曰“軟件不是勞務(wù),干完就給錢,這個需要........”。
??? 軟件的軟體現(xiàn)在如下幾個方面:
(1)需求的不確定性,或者說需求的擴充性。就國內(nèi)的軟件服務(wù)商與客戶大都簽合同在前,做需求調(diào)研的在后,當然也有干脆不做調(diào)研的,當然項目最終肯定是失敗的。需求的增加,或者隨著軟件的使用,客戶對需求或者說對軟件的要求不斷增強,這就決定了軟件本身的“軟”。
(2)軟件的使用者的軟性。不同的軟件使用者其對軟件的要求也不相同,個人的操作習(xí)慣等等,都決定軟件必須靈活多變,似乎像是孫悟空一樣,擁有“72變”;
(3)軟件交付與付款的“軟”。做為軟件交付時,驗收的標準很難進行統(tǒng)一。軟件使用者的認為軟件是“萬能的”,存在一點點的小問題,也會把它作為拒絕付款的理由。這中間,有主動權(quán)的把握和客戶關(guān)系的把握之間的平衡。對軟件不斷更新,軟件成本增加,客戶提出的若干問題,來者不拒,結(jié)果項目遲遲不能close,客戶關(guān)系自然好了,但是問題也出來,款也未必過來;如果一定在付款占據(jù)主動,更新推遲,但對客戶的關(guān)系不利。兩者如何平衡,確實有很大的學(xué)問。
Understanding Your Own Footprint
理解你自己的足跡
Every useful system carries the imprint of its designers. From bridges to spoons, the expression of a builder's skill, philosophies, and production constraints are exposed in the final product. Software is no different, except in its propensity to change. Software mutates in response to users needs, and in that change, a continual re-impriting of a designer's skill and sense of taste takes place.
每一個有用的系統(tǒng)留下它的設(shè)計師的烙印。從橋梁到勺子,一個建造者技巧的表達,哲學(xué)家,和產(chǎn)品約束在最終的產(chǎn)品中被暴露。軟件是不同的,除了它的變化的傾向。在用戶需要的反應(yīng)中的軟件變異,和在那種改變中,一個連續(xù)的重復(fù)的不可能的一個設(shè)計師的技巧和味覺產(chǎn)生。
This has the potential to cause continuity problems for others, be they end users or other developers. Reducing these confusing aspects (cognitive load) allows software consumers of every type to feel better about a block of code. With every interaction, their pre-conceived notions of how the thing will behave serve them instead of forming an obstacle for them to overcome. Their instincts are turned into a valuable tool by elegantly and consistently designed software.
這是為其他產(chǎn)生持續(xù)問題的本質(zhì),是他們最終用戶或其他開發(fā)者。減少這些混亂的方面(認知的負荷)允許每一種類型的軟件消費者感覺更好關(guān)于一些代碼。伴隨每一次交互,他們的預(yù)設(shè)想的概念是這些東西如何運轉(zhuǎn)服務(wù)他們而不是組成一個為他們跨越的障礙。他們的本能是通過優(yōu)美和一貫地設(shè)計的軟件變成一個有價值的工具。
Dojo, as a project, should meet expectations in this way. This doesn't mean that you have to agree with every design decision that's been made in the project (dissent is healthy) or that the guiding principles outlined here are written in stone. They should, however, capture the way design choices have been made to date and serve as a guide for making future decisions.
???? Dojo,作為一個項目,應(yīng)該滿足這樣的期望。這不意味這你不得不同意每一個設(shè)計決定,即它已經(jīng)向項目中進入(不同意是健康的)或者那寫入石頭中的導(dǎo)向原理輪廓。他們應(yīng)該是,然而,捕捉設(shè)計選擇的方法已經(jīng)提到日程和作為未來決定的向?qū)А?br />
Dojo Guiding Principles
Dojo的設(shè)計導(dǎo)向原則
Reduce barriers to adoption.
采用減少障礙物。
Simply put, do not give users reasons not to choose your code. This affects everything from design to licensing to packaging.
簡單放置,但是不給用戶不使用你代碼的原因。這影響從設(shè)計到專利的包裝的每件事情。
Simple first, fast later
簡單優(yōu)先,快在后
Make it simple to use first, make it fast when it's approprite. Simple here means simple for users, not for us. We should work as hard as necessary to make things simple for end users. This principle goes to reducing barriers to adoption. Things should be as easy as possible for the common case but transparently "upgradeable" to a faster code path if the end user is willing to learn about the performance dials and knobs.
首要的簡單使用,當它是適合的將它打上結(jié)。 簡單這里意味這對用戶簡單,不是對我們。我們應(yīng)該使工作對最終用戶盡可能的變得簡單。這些原則定位在采用減少障礙的原則。事情應(yīng)該盡可能容易對共同的情形但是明顯“可升級的”對一個快速的代碼路徑 如果終端用戶想要了解執(zhí)行的表盤和旋鈕。
Bend to the constraints of your environment
混合你環(huán)境的約束
Do not bludgeon a problem to death with code. If the environment can do most of something, let it. Fill in as necessary, but do not re-invent. Make the path smooth for users, but do not introduce your own idioms where they aren't required.
不要棒擊一個問題來伴隨代碼死亡。如果這個環(huán)境可以做大部分是事情,讓它做。盡可能替代,不要重新發(fā)明。對用戶來說將路徑平滑,當他們不需要的地方不要介紹你自己的方言。
Improving From Here
從這里改進
Dojo may not yet completely embody the principles outlined here, but it is their purpose to serve as a guide for the project when making determinations how things should change.
Dojo可能沒有完全包含這里輪廓的原則,但它是當描述這些事情應(yīng)該如何改變,他們作為一個向?qū)椖縼矸?wù)的目的。
If you think that Dojo has not yet met one or more of these goals in a particular way, please raise the issue on one of the project mailing lists or file a bug.
如果你認為Dojo還沒有滿足在特定方法中的一個或多個這些目標,請?zhí)岢鲆粋€issue在一個項目郵件列表或文件作為一個bug。