企业管理器(OEM)介绍: Grid Control 和 Database Control
Oracle 自10g 以后,企业管理器(Oracle Enterprise Manager:OEM)变成了网页形式。 OEM 分两种:Grid Control(网格控制) 和 Database Control(数据库控制)。
Grid Control 是具有完整功能的全企业Oracle 生态系统管理工具。
Database Control是可以只作为数据库管理实用程序部署的OEM 版本。
Grid Control 和 Database Control 区别:
Grid Control 可以监控整个Oracle 生态环境,它具有一个中心存储仓库,用于收集有关多个计算机上的多个目标的数据,并且提供一个界面来显示所有已发现目标的共同信息。
Database Control 是Grid Control 功能的一个子集,Database Control 只监控一个数据库,并且不能用于监控多个数据库。 它只在数据库上运行。
从数据库管理的观点来看,两个使用程序的功能几乎是相同的,只不过网格控制提供了涉及多台计算机的操作的更多功能。 大师,两个使用程序的界面是相同的,底层代码也是相同的,并且只有很细微的区别。 从备份和恢复的观点来看,两个使用程序几乎相等。
一. Grid Control
OEM 是一个Web 应用程序,它具有Web应用程序自带的所有功能和限制。 OEM 控制台是运行在HTTP服务器上的web页面,该HTTP服务器将作为Grid Control 安装的一部分安装和配置,没有任何客户端安装。
Grid Control 部署在Oracle 应用服务器(Oracle Application Server:OAS)上。 当安装Grid Control时,同时也会安装OAS,然后Grid Control 应用程序作为Oracle Containers for J2EE(OC4J)应用程序部署在OAS上。Grid Control 可以监控许多不同类型的目标(当Grid Control调用它们时): 数据库,应用服务器,主机自身,甚至是存储设备。
Grid Control 它收集遍及企业的计算系统的相关信息,将这些信息合并到中心存储仓库中,然后通过它的Web控制台想DBA显示这些信息。 根据这些信息,DBA 可以让Grid Control 代表DBA 在这些计算系统中执行任务。
Grid Control 的体系结构
Grid Control 的体系结构从Oracle 管理服务(Oracle Management Serveice:OMS)开始,这是部署在应用服务器上的应用程序。 OMS通过中心代理程序(central agent)从注册的目标服务器中收集数据。 中心代理程序安装在目标服务器上,它收集信息并且将这些数据推入OMS。 OMS将数据加载到存储仓库数据库中,然后根据仓库中的信息构建Web页面,可以通过能够定位OMS 服务器URL 的任意浏览器检索该Web页面。
1. 中心代理程序
中心代理程序安装在使用Grid Control 监控的每台计算机上。 中心代理程序不可以独立作出任何决策。 它使用Perl 脚本收集数据,将这些数据通过HTTPS 推入OMS。 OMS 执行必须的任何智能,然后将操作发送给代理程序以执行该操作。
从存储的观点来看,中心代理程序占用相对较少的存储空间。 然而,由于其所做的工作,中心代理程序可能占用大量的CPU资源。
2. Oracle 管理服务(OMS)
OMS 是在Grid Control 体系结构的中间层上部署的Web应用程序,它不断从代理程序处以XML文件的形式接收信息,然后将这些信息加载到存储仓库表中。 它负责为提供控制台Web 页面的HTTP服务器构建Web内容,由此可能向中心代理程序要求特定的信息。 数据一般是从中心代理程序推入的。
3. 存储仓库数据库
OMS 使用Oracle 数据库作为它的数据源。 存储仓库数据库用于存储有关管理目标以及Grid Control 操作(如作业或通知)的信息。
在存储仓库中可以很好的利用高级的RDBMS特性;可以使用高级排队(Advanced Queuing:AQ)功能,大量使用分区技术,甚至是使用内部的DBMS_JOB.
二. 安装和配置 Grid Control
根据安装时的选择,Grid Control的安装过程可以有许多不同。 默认情况下,Grid Control的安装在提供给按组昂的服务器上创建3个ORACLE_HOME目录:OMS 目录,存储仓库数据库目录和中心代理程序目录。 可以选择将存储仓库安装在预先存在的数据库中,这些数据库位于与grid Control相同或不同的服务器上。
如果选择预先存在的数据库,则必须提供主机,侦听器端口,以及数据库的SID。 我们也需要提供dba凭证(如SYSTEM)。 Oracle 通过安装程序(Universal Installer)然后检查已有的数据库,查看它是否具有Grid control存储仓库的所需的所有数据包和特性。 如果检查通过,安装继续。 否则需要修改数据库或选择不同的选项。
在10.1版本的grid Control中,默认的数据库和OMS 位于相同的主目录中,但是由于添加补丁和升级的原因而将它们分离到不同的主目录中。 在 Grid Control 10.2中,3个主目录可以分别应用补丁。 当有时间方面的考虑时,这一点非常重要。 如果存在必须通过添加补丁解决的代理程序问题,就可以关闭Grid Control服务器上的代理程序,对代理程序ORACLE_HOME 添加补丁,同时OMS 和数据库保持运行和操作,并且继续监控其他已发现的服务器。
2.1 资源考虑事项
不要将Grid Control 随意安装到某个位置。 如果采用默认的存储仓库数据库,加上OMS 和它的底层OAS 以及以及中心代理程序,则需要使用1.5GB的存储空间,并且这只是Grid Control 占用的存储空间,还没有考虑运行在计算机上的其他内容。 因此,在安装Grid Control之前,要确保已经在服务器上至少有1.5GB的存储空间。 如果没有足够的空间,则需要进行大量的存储空间交换。
CPU 需求很难衡量。 这种需求取决与正在注册和监控的多少目标,以及作业和通知的活跃程度。
2.2 Oracle 通用安装程序
对于当前的任何Oracle 产品,其提供的安装界面的通用安装程序都是相同的。 通用安装程序是一个向导驱动的过程,它请求你定制安装的相关过程,且执行任意数量的系统检查以添加这些信息,这些系统检查可实际地确认用户请求的安装过程是否可行。
Oracle Grid Control 的下载地址:http://www.oracle.com/technology/software/products/oem/index.html
要先下载第一个版本的,比如:10.2.0.1, 安装之后在升级到其他版本,如10.2.0.5.
如果之前有安装的话,在安装之前要把之前的安装卸载干净. 不然可能会报错。
通过安装程序首先询问要安装哪些内容。 有4个选项:
Enterprise Manager 10g Grid Control Using a new Database
Using an Existing Database
Additional Management Service
Additional Management Agent
2.2.1 在新数据库中安装存储仓库
安装程序会构建3个ORACLE_HOME:
(1)db10g: 存储Oracle 数据库中预先构建的存储仓库
(2)Oms10g:存储Oracle应用服务器
(3)Agent10g:存储中心代理程序
2.2.2 在已有的数据库中安装存储仓库
如果希望使用自己的数据库,需要满足一下需求:
(1) SGA_TARGET 必须大于272MB.
(2) AQ_TM_PROCESSES 必须大于等于1.
(3) session_cached_cursors 参数值必须大于200
(4) 必须安装dbms_shared_pool, 安装方法是用sys用户运行如下脚本:
ORACLE_HOME/rdbms/admin/dbmspool.sql
ORACLE_HOME/rdbms/admin/prvtpool.plb
注意: Grid Control 存储仓库不可以与具有Database Control 存储仓库的系统共存(因为两者都需要以SYSMAN模式存在)。因此如果尝试使用已经被Database Control 监控的数据库,则需要删除SYSMAN用户,或者由通用安装程序来执行这项工作。
2.3 配置助手
安装软件后,通用程序会运行多个配置助手,这些助手会执行一系列配置操作以协调所有软件的运行。 配置助手进程分为3个程序段以匹配3个Oracle 主目录: 首先是数据库配置,其次是OMS 配置,最后是代理程序配置。
总之,如果运气好的话,就不需要了解关于这些助手的很多内容。 大多数助手都关注于配置和部署作为OMS 的OC4J应用程序。 如果任何时候产生故障,installActions.log(ORACLE_BASE/LOGS目录下)中有大量可提供的信息。
如果无法配置助手,可以在CliffsNotes中做如下工作:
(1)确保没有略过先决条件警告。
(2)为了保险起见,重新尝试配置助手。
(3)确保具有足够的存储空间(>512MB)
(4)抛弃所有内容并再次尝试。
2.4 安装中心代理程序
安装完Grid Control软件并且启动和运行OMS后,就可以准备开始监控企业中已有的目标。当然,一般必须现在希望被OEM 管理的所有计算机上安装OEM 代理程序。
中心代理程序是独立安装的软件,用于传递信息给OMS 以及从OMS处接收命令。 中心代理程序必须安装在所有要监控的目标主机的专用ORACLE_HOME目录中。 安装中心代理程序有两种方法:一是用Grid Control 软件来安装(最后一个选项),二是使用OMS 功能来将代理程序推到不同的服务器上。
用Grid Control 安装比较直观。 它要求提供OMS 服务器的主机名和端口。 默认情况下,上传HTTP 端口与Grid Control 控制台的端口相同:4889. 另外,我们也需要输入代理程序注册口令: 这是在Grid Control安装期间提供的口令,代理程序需要使用该口令来验证是否可以作为特定的OMS的有效数据源。
在其他服务器上安装代理之后,查询代理状态:
C:/Documents and Settings/Administrator.HFCC-IT-176613>emctl status agent
Oracle Enterprise Manager 10g Release 10.2.0.2.0.
Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
Agent Version : 10.2.0.2.0
OMS Version : 10.2.0.2.0
Protocol Version : 10.2.0.2.0
Agent Home : F:/OracleHomes/agent10g
Agent binaries : F:/OracleHomes/agent10g
Agent Process ID : 4684
Agent URL : https://HFCC-IT-176613:3872/emd/main/ --- 输入该网址能看到agent is working
Repository URL : https://HFCC-KF-111111:1159/em/upload --- 在代理服务器上更新数据的
Started at : 2010-06-30 13:09:16
Started by user : SYSTEM
Last Reload : 2010-06-30 13:09:16
Last successful upload : (none)
Last attempted upload : (none)
Total Megabytes of XML files uploaded so far : 0.00
Number of XML files pending upload : 11
Size of XML files pending upload(MB) : 4.46
Available disk space on upload filesystem : 34.45%
Last attempted heartbeat to OMS : 2010-06-30 13:15:23
Last successful heartbeat to OMS : unknown
---------------------------------------------------------------
Agent is Running and Ready
注意:我们需要在服务器的端的IE里输入:https://HFCC-KF-111111:1159/em/upload
然后服务器会和客户端进行更新。更新完之后,就可以在服务器端的目录里看到其他的数据库了。
C:/Documents and Settings/Administrator.HFCC-IT-176613>emctl status agent
Oracle Enterprise Manager 10g Release 10.2.0.2.0.
Copyright (c) 1996, 2006 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
Agent Version : 10.2.0.2.0
OMS Version : 10.2.0.2.0
Protocol Version : 10.2.0.2.0
Agent Home : F:/OracleHomes/agent10g
Agent binaries : F:/OracleHomes/agent10g
Agent Process ID : 4684
Agent URL : https://HFCC-IT-176613:3872/emd/main/
Repository URL : https://HFCC-KF-111111:1159/em/upload
Started at : 2010-06-30 13:09:16
Started by user : SYSTEM
Last Reload : 2010-06-30 13:09:16
Last successful upload : 2010-06-30 13:24:30
Total Megabytes of XML files uploaded so far : 4.48
Number of XML files pending upload : 0
Size of XML files pending upload(MB) : 0.00
Available disk space on upload filesystem : 34.46%
Last successful heartbeat to OMS : 2010-06-30 13:24:16
---------------------------------------------------------------
Agent is Running and Ready
2.5 启动和停止所有Grid Control 组件 示例
2.5.1 停止顺序
-- 停止中心代理程序
$ORACLE_HOME/bin/emctl stop agent
-- 停止OMS
$ORACLE_HOME/bin/emctl stop oms
-- 停止进程管理器
$ORACLE_HOME/bin/opmnctl stopall
-- 停止存储仓库数据库
Export ORACLE_SID=SID
Sqlplus /nolog
Shutdown immediate
-- 停止监听程序
Lsnrctl stop
2.5.2 启动顺序
-- 启动监听
Lsnrctl start
-- 启动存储仓库数据库
Export ORACLE_SID=SID
Sqlplus /nolog
Startup
-- 启动OMS
$ORACLE_HOME/bin/emctl start oms
-- 启动中心代理程序
$ORACLE_HOME/bin/emctl start agent
三. Database Control
Database Control 是Grid Control功能的一个子集,它只管理和监控一个数据库。Database Control 的功能是以数据库为中心,但又不完全限于数据库。由于会有一些为数据库所在的服务器收集的主机统计信息,因此主机(并非单独的“目标”)有一些报告信息。 此外,可以配置Database Control 以监控和管理自动存储管理(ASM)实例,目标数据库可以使用该ASM实例进行存储。
也可以配置Database Control以监控RAC 数据库。由此监控多个主机,多个实例和多个ASM实例。当然,它只可以监控一个数据库,因此Database Control的限制仍然是相同的。
3.1 Database Control的体系结构
Database Control 的体系结构非常类似与Grid Control的体系结构,但规模要小很多。 中心代理程序和OMS 合并到相同的OC4J应用程序,并且存储仓库驻留在目标数据库本身中。
Database Control的存储仓库位于它监控的目标数据库中,因此,如果目标数据库停机,Database Control就不能正常运行,除非启动该数据库。 在Windows系统上,Database Control进程是单独的进程,并且作为Services控制面板中单独的服务启动和停止。 在Linux 和 unix上,dbconsole作为单独的应用程序被停止和启动,但它仍然会产生单独的代理程序和Java进程。
Database Control与RDBMS 一起安装,并且它所在的ORACLE_HOME 目录与其目标数据库的相同。 在为数据库配置dbconsole 后,就会在ORACLE_HOME中创建名为host_sid的新子目录,其中host是计算机名,而sid是锁监控的实例的SID. 例如:服务名为DavidDai,监控的数据库为orcl, 则配置文件在$ORACLE_HOME/DavidDai_orcl中。
在RAC 环境中,一般根据集群中的每个节点命名多个目录,后面跟上RAC 数据库的globalname. 因此,如果有2个节点的RAC集群,两个节点分别为RAC1和 RAC2,并且数据库实例为orcl,则在每个节点的RDBMS主目录上有两个目录ORACLE_HOME/RAC1_orcl 和 ORACLE_HOME/RAC2_orcl. 在每个节点上,只有名称与节点对应的目录才会实际地拥有文件,而另一个目录则为空。 这种约定在RAC集群共享同一个位于共享驱动器上的$ORACLE_HOME软件树时也适用。
Database Control的启动和关闭命令:
Emctl start dbconsole
Emctl stop dbconsole
四. 安装和配置Database Control
Database Control 软件不需要进行任何特定的安装。 Database Control 默认与已有的RDBMS一起安装。 实际上,在安装实例时,会有个选项,是否配置Database Enterprise Manager. 选择后就自动安装了。
4.1 使用数据库配置助手配置Database Control
如果在安装实例的时候没有安装Database Control,那么我们也可以用Database configuration Assistant: DBCA 来配置。打开dbca后,有个配置数据库选项,在这里面就能添加Database Control了.
注意,dbca 不可以用于删除或者修改已经添加的Database Control,它只是一个用于添加Database Control的工具。 如果要删除Database Control,则需要使用命令行工具: emca.
4.2 使用企业管理器配置助手配置 Database Control
企业管理器配置助手(Enterprise Manager Configuration Assistant: emca) 的用法不是很直观,但是功能比较强大。
执行一条命令后,emca 以一种交互的模式提示以下信息: 配置数据库SID,连接emca与数据库的监听器端口,以及所需的用户口令。
4.2.1 使用emca 删除已有的dbcontrol 配置 和 dbconsole 存储仓库
Emca -deconfig dbcontrol db -repos drop
C:/Documents and Settings/user.HQ-TEXT>emca -deconfig dbcontrol db -repos drop
EMCA 开始于 2010-6-30 9:37:00
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: dave
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:
是否继续? [yes(Y)/no(N)]: yes
2010-6-30 9:37:15 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 D:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/dave/emc
a_2010-06-30_09-37-00-上午.log。
2010-6-30 9:37:18 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2010-6-30 9:38:02 oracle.sysman.emcp.EMReposConfig dropRepository
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2010-6-30 9:38:03 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2010-6-30 9:38:04
4.2.2 使用emca 为数据库创建新的dbcontrol 配置
Emca -config dbcontrol db -repos create
C:/Documents and Settings/user.HQ-TEXT>emca -config dbcontrol db -repos create
EMCA 开始于 2010-6-30 9:44:01
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: dave
监听程序端口号: 1521
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ D:/oracle/product/10.2.0/db_1
数据库主机名 ................ HFCC-KF-111111
监听程序端口号 ................ 1521
数据库 SID ................ dave
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [yes(Y)/no(N)]: yes
2010-6-30 9:44:23 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 D:/oracle/product/10.2.0/db_1/cfgtoollogs/emca/dave/emc
a_2010-06-30_09-44-01-上午.log。
2010-6-30 9:44:32 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2010-6-30 9:46:18 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
2010-6-30 9:46:23 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2010-6-30 9:47:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2010-6-30 9:47:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 无法创建 Database Control 快捷方式
2010-6-30 9:47:04 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 http://HFCC-KF-111111:5500/em <<<<<<<<
<<<
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2010-6-30 9:47:04
Oracle OEM 重建
http://blog.csdn.net/tianlesoftware/archive/2009/10/21/4702978.aspx
4.3 emca 命令帮助
C:/Users/Administrator.DavidDai>emca help
D:/app/Administrator/product/11.2.0/dbhome_1/bin/emca.bat [操作] [模式] [数据库
类型] [标记] [参数]
-h | --h | -help | --help: 打印此帮助消息
-version: 打印版本
-config dbcontrol db [-repos (create | recreate)] [-cluster] [-silent] [-backup]
[参数]: 配置数据库的 Database Control
-config centralAgent (db | asm) [-cluster] [-silent] [参数]: 配置中心代理管理
-config all db [-repos (create | recreate)] [-cluster] [-silent] [-backup] [参数
]: 配置 Database Control 和中心代理管理
-deconfig dbcontrol db [-repos drop] [-cluster] [-silent] [参数]: 取消配置 Datab
ase Control
-deconfig centralAgent (db | asm) [-cluster] [ -silent] [参数]: 取消配置中心代理
管理
-deconfig all db [-repos drop] [-cluster] [-silent] [参数]: 取消配置 Database Co
ntrol 和中心代理管理
-addNode (db | asm) [-silent] [参数]: 配置数据库的新添加节点的 EM
-deleteNode (db | asm) [-silent] [参数]: 取消为数据库 (位于要删除的节点上) 配置
EM
-addInst (db | asm) [-silent] [参数]: 为新的 RAC 实例配置 EM
-deleteInst (db | asm) [-silent] [参数]: 取消为指定的 RAC 实例配置 EM
-reconfig ports [-cluster] [参数]: 重新明确分配 Database Control 端口
-reconfig dbcontrol -cluster [-silent] [参数]: 重新配置 RAC Database Control 部
署
-displayConfig dbcontrol -cluster [-silent] [参数]: 显示有关 RAC Database Contro
l 配置的信息
-migrate -from dbcontrol -to centralAgent [-repos drop] [-cluster] [-silent] [
参数]: 将 EM 配置从 Database Control 移植到中心代理
-upgrade (db | asm | db_asm) [-cluster] [-silent] [参数]: 将较低版本的 EM 配置升
级到当前版本
-updateTargets crs [-silent] [参数]: 更新 CRS 升级时所有 dbcontrol 和中心代理的
新 CRS 主目录
-restore (db | asm | db_asm) [-cluster] [-silent] [参数]: 将当前版本的 EM 配置还
原到较低版本
参数和选项:
[参数]: [ -respFile fileName ] [ -paramName paramValue ]*
db: 对数据库 (包括使用 ASM 的数据库) 执行配置操作
asm: 仅对 ASM 实例执行配置操作
db_asm: 对数据库和 ASM 实例执行升级/还原操作
-repos create: 创建新的 Database Control 资料档案库
-repos drop: 删除当前的 Database Control 资料档案库
-repos recreate: 删除当前的 Database Control 资料档案库并重新创建一个
-cluster: 对 RAC 数据库执行配置操作
-silent: 在不提示参数的情况下执行配置操作
-backup: 配置数据库的自动备份
单实例数据库的参数
ORACLE_HOSTNAME: 本地主机名
SID: 数据库 SID
PORT: 监听程序端口号
ORACLE_HOME: 数据库 ORACLE_HOME
LISTENER_OH: 监听程序 ORACLE_HOME
HOST_USER: 自动备份的主机用户名
HOST_USER_PWD: 自动备份的主机用户口令
BACKUP_SCHEDULE: 自动备份调度 (HH:MM)
EMAIL_ADDRESS: 通知的电子邮件地址
MAIL_SERVER_NAME: 通知的发件 (SMTP) 服务器
ASM_OH: ASM ORACLE_HOME
ASM_SID: ASM SID
ASM_PORT: ASM 端口
ASM_USER_ROLE: ASM 用户角色
ASM_USER_NAME: ASM 用户名
ASM_USER_PWD: ASM 用户口令
SRC_OH: 要升级的数据库的 ORACLE_HOME
DBSNMP_PWD: DBSNMP 用户的口令
SYSMAN_PWD: SYSMAN 用户的口令
SYS_PWD: SYS 用户的口令
DBCONTROL_HTTP_PORT: Database Control HTTP 端口
AGENT_PORT: EM 代理端口
RMI_PORT: Database Control 的 RMI 端口
JMS_PORT: Database Control 的 JMS 端口
EM_SWLIB_STAGE_LOC: 软件库位置
PORTS_FILE: 用于指定要使用的端口的静态文件的路径 (默认值: ${ORACLE_HOME}
/install/staticports.ini)。
集群数据库的其他参数
CLUSTER_NAME: 集群名
DB_UNIQUE_NAME: 数据库的唯一名称
SERVICE_NAME: 服务名
EM_NODE: Database Control 节点名
EM_NODE_LIST: 代理节点列表 [以逗号分隔]
Note: For Desktop Class Install always pass parameter ORACLE_HOSTNAME
as "localhost" to any emca command
OEM 里面的东西,打开IE,自己研究下就ok了.
如: https://10.85.10.80:1158/em
这个端口可以在$ORACLE_HOME/instll/portlist.ini 文件里查看。
整理自 《ORACLE 10g RMAN 备份与恢复》
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977