Oracle数据库介绍 Oracle产品介绍 Oracle数据库的体系结构 Oracle数据库安装及配置 Oracle数据库系统管理 Oracle与Informix数据库性能比较
Oracle产品介绍 1 Oracle公司及产品介绍 2 Oracle数据库的特点 3 Oracle数据库的系列产品 5 用户基本配置标准报价
Oracle 公司: 世界第二大软件厂商、第一大数据库厂商 140 多个国家 25,000 多名员工 营业额突破 72 亿美元
Oracle产品介绍 1997年数据库市场份额(UNIX市场)
Oracle产品介绍 1997年数据库市场份额(Windows NT市场)
Oracle产品介绍 1 Oracle公司及产品介绍 2 Oracle数据库的特点 3 Oracle数据库的系列产品 5 用户基本配置标准报价
Oracle数据库的特点 1.大型数据库 2.多用户 3.大量的工具 4.开放性 5.备份与恢复 6.安全性 7.支持多种配置方式
Oracle产品介绍 1 Oracle公司及产品介绍 2 Oracle数据库的特点 3 Oracle数据库的系列产品 5 用户基本配置标准报价
Oracle数据库的系列产品 数据库产品 - 数据库服务器 -应用服务器 -开发工具 -决策支持工具 应用产品
Oracle数据库服务器 Oracle数据库服务器的基本产品 ---关系型数据库管理系统Oracle RDBMS 一系列可供购买的选件: -- ConText Option: 文档数据选件 -- Video Server Option: 多媒体服务器选件 -- Spatial Data Option: 空间数据选件 -- Parallel Server Option: 并行数据库服务器选件 -- Gateway: 与异种数据源连结的产品 -- Server Management Product: 系列服务器管理产品
Oracle数据库服务器 Personal Oracle --- 个人数据库 Personal Oracle Lite --- 个人数据库 Personal Oracle Lite --- 方便移动用户使用的核心数据库 Oracle Workgroup Server --- 基于工作组的数据库服务器
Oracle 应用服务器 Oracle 应用服务器 --- Web Application Server
Oracle数据库的开发工具 SQL Tools SQL *Plus Sqlforms&menu SqlreportWriter Programmer Precompiler(C、Cobol、Pascal、 Fortran、C++) Designer/2000 Developer/2000
Oracle数据库的开发工具 Developer/2000 Designer/2000 其它开发工具 提高开发效率67-150% 缺省功能 手工代码 PL/SQL 缺省功能 缺省功能 手工代码 PL/SQL 定义式开发 定义式开发 手工代码 C, C++, Proprietary Scripting Language 定义式开发 Study by University of Munich Sep 1996 提高开发效率67-150% 提高开发效率200-600%
Oracle数据库的决策支持工具 Oracle Express -- 针对管理人员进行管理信息的处理(OLAP)决策支持工具。 系统分析员 高层领导 部门经理 业务人员 Oracle Express -- 针对管理人员进行管理信息的处理(OLAP)决策支持工具。 -- 利用它可以对数据进行综合、分析、快速获取信息;为日常管理、决策提供科学依据。 ★ 多维数据库服务器:Express Server ★ 开发应用工具: Express Objects Express Analyzer Discover
Oracle数据库的系列产品 数据库产品 - 数据库服务器 -应用服务器 -开发工具 -决策支持工具 应用产品
Oracle数据库的应用产品 Oracle Financial 财务软件 Oracle Manufacturing 制造业软件 Oracle Human Resources 人力资源软件 ... ...
Oracle产品介绍 1 Oracle公司及产品介绍 2 Oracle数据库的特点 3 Oracle数据库的系列产品 5 用户基本配置标准报价
Oracle数据库产品的标准报价 Oracle标准报价( 单位:USD) User type : con =concurrent device, N=named user, D=developer
用户基本配置标准报价 用户基本配置标准报价( 单位:USD) User type : con =concurrent device, N=named user, D=developer
Oracle数据库介绍 Oracle产品介绍 Oracle数据库的体系结构 Oracle数据库安装及配置 Oracle数据库系统管理 Oracle与Informix数据库性能比较
Oracle数据库的体系结构 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 3 Oracle数据库的实例
Oracle数据库的体系结构 实例 数据库 SGA内存区 后台进程 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 系统表空间 用户表空间 数据库 物理文件1 物理文件2
Oracle数据库的物理文件 数据文件(Datafile) --物理上实际的数据存储设备 控制文件(Control File) --记录数据库中所有文件的控制信息Redo日志文件(Redo Log file) --保存所有数据库的操作信息 归档日志文件(Archive log file) --redo日志文件的备份
Oracle数据库的体系结构 实例 数据库 SGA内存区 后台进程 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 系统表空间 用户表空间 数据库 物理文件1 物理文件2
Oracle数据库的逻辑结构 表空间: -- 数据库为了使用方便易于管理,由从逻辑上划分为多个表空间。 系统表空间: 应用表空间: -- 数据库由一个或多个表空间组成; 表空间由一个或多个数据文件组成。 -- 表空间和表空间之间是完全独立的,一个数据文件只能从属于一个表空间。 系统表空间: 应用表空间: -- System 表空间 -- Rollback 表空间 -- Temporary 表空间 -- Tools 表空间 -- User Data 表空间 -- User Index 表空间 表空间有两种状态:联机(online)和脱机 (offline)
Oracle数据库的逻辑结构 表空间1 表空间2 表空间3 表空间4 数据段 回滚段 索引段 临时段 区1 区2 区3 . . . 块 2K
数据块(Block) Block head PCTFREE % ——数据块中保持空闲的百分比 ——数据块中已使用空间的百分比 PCTUSED % 参数的选择 经常 select的表:PCTFREE小一些,节省存储空间。 经常 insert 的表:PCTUSED大一些。 经常 update的表 :PCTFREE大一些,减少行移动。
主要参数: 区 (extents) INITIAL NEXT PCTINCREASE MAXEXTENTS:OS决定 ... Next
段(Segment) 数据段(Data Segments ) Table... 索引段( Index Segments ) Index 回退段( Rollback Segments ) 存储未完成的事务 临时段( Temporary Segments ) 语句执行中的数据
Oracle数据库的体系结构 实例 数据库 SGA内存区 后台进程 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 系统表空间 用户表空间 数据库 物理文件1 物理文件2
(database buffer pool) Oracle数据库实例(instance) SGA(system global area) 数据库缓冲区 (database buffer pool) 共享缓冲池 (shared pool area) Redo缓冲区 (redo buffer) 数据库缓冲区 --- 为存放数据库的数据而在内存中设置的缓冲区 共享缓冲池 --- 库高速缓存:存储编译后可执行的SQL语句 --- 数据字典缓存:存放数据字典信息 redo缓冲区 --- 对数据库的所有修改操作,写入redo日志文件 之前在内存中存放的区域
(database buffer pool) Oracle数据库实例(instance) SGA 数据库缓冲区 (database buffer pool) 共享缓冲池 (shared pool area) Redo缓冲区 (redo buffer) 后台 进程 . . . DBWR LGWR SMON PMON 数据库写入器(DBWR) --将数据库缓冲区中的Oracle块写回到数据库文件中 日志写入器(LGWR) --将redo日志缓冲区的内容写入redo日志文件 系统监控器(SMON) --当实例或机器出现故障后,系统监控器进程自动进行故障恢复 进程监控器(PMON) --当用户进程失败后,进程监控器会进行清理工作 转储器(ARCH) --自动地将redo日志文件拷贝到归档日志(archivelog)文件中
Oracle数据库实例(instance) 事例: 一个客户从银行柜员机中查询存款: select . . . 查询结果显示还有1000元钱 客户提取500元 update . . . 存款剩余500元
Oracle数据库实例(instance) RECO PMON SMON System Global Area 回滚段 数据库高速缓存 1000 ->500 共享池 日志缓冲区 1000 1000 共享服务 器进程 专有服务 器进程 ARCH 用户进程 硬盘 或磁带 DBWR LGWR D000 用户进程 数据库文件 日志文件 控制文件 参数文件
Oracle数据库的体系结构 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 3 Oracle数据库的实例
Oracle数据库的用户及权限 数据库 用户 系统权限 实体权限 角色权限 系统权限 实体权限 角色权限 password City Latitude Longitude Montreal Ottawa Philadelphia Minneapolis 45?N 40?N 46?N 76?W 75?W 93?W 73?W 用户 password 系统权限 ---指对数据库系统及系统结构的操作权,如创建/删除用户、表、同义词、索引等。 实体权限 ---指用户对数据的操作权,如查询、更新、插入、删除。 角色权限 ---把几个相关的权限组合成一个角色,以简化权限授予工作。
Oracle数据库的用户及权限 基于操作权限安全控制,用户数量大时,管理复杂 查询权 修改权 查询权 CREATE ALTER TABLE 流水账 柜员 查询权 修改权 柜员 总帐 查询权 系统主管 CREATE TABLE ALTER USER
Oracle数据库的用户及权限 基于角色的安全性控制,简化管理 柜员 查询权 修改权 系统主管 查询权 流水账 总帐 ALTER USER/ROLE CREATE TABLE
Oracle数据库的体系结构 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 3 Oracle数据库的实例
Oracle数据库的系统表 数据字典(Data Dictionary) 用来描述数据库中实体的信息。 --- Oracle用户的用户名。 --- 每个用户的权限(privilege)和角色(role)。 --- 各种表、视图、索引等的名字 ALL _视图 ---所有用户拥有的对象和对象的信息. DBA_视图 ---数据库管理员可以访问,它显示所有对象的信息. USER_视图 ---包含当前Oracle用户所拥有的对象信息. V$_视图 ---显示该实例运行情况及性能
Oracle数据库的体系结构 1 Oracle数据库的物理文件 2 Oracle数据库的逻辑结构 3 Oracle数据库的实例
Oracle数据库对象 表 索引 视图 同义词 表是最主要的数据库对象,用来存放系统及用户的数据。 通过关键字上的索引,可快速定位所选取的记录行 视图 一些固定的select语句 同义词 同义词就是数据库对象的别名。
Oracle数据库介绍 Oracle产品介绍 Oracle数据库的体系结构 Oracle数据库安装及配置 Oracle数据库系统管理 Oracle与Informix数据库性能比较
Oracle数据库的安装 (在SCO OpenServer 5.0.4上安装Oracle7 Server 7.3.2.1) 一)硬盘空间分配 二) 硬件环境的检查及配置 三)安装前环境设置 1.调整UNIX系统核心参数, 重连内核,重启 2.安装SCO OpenServer Development System 3.建立dba 用户组和oracle 用户 4.设置oracle的环境变量 5.安装OS Patch 0ss459a. 6.插入光盘,创建光盘连接 #mount -f RCKRDG /dev/cd0 /cdrom 7. 设置OS安装环境(#./rootpre.sh) 四) 进入交互式安装过程 ($./orainst) 五) 完成全部安装过程 (#./root.sh) 六) 安装Oracle7 server Patch 7.3.2.3
Oracle数据库的安装 (在SCO OpenServer 5.0.4上安装Oracle7 Server 7.3.2.1) 一)硬盘空间分配 二) 硬件环境的检查及配置 三)安装前环境设置 1.调整UNIX系统核心参数, 重连内核,重启 2.安装SCO OpenServer Development System 3.建立dba 用户组和oracle 用户 4.设置oracle的环境变量 5.安装OS Patch 0ss459a. 6.插入光盘,创建光盘连接 #mount -f RCKRDG /dev/cd0 /cdrom 7. 设置OS安装环境(#./rootpre.sh) 四) 进入交互式安装过程 ($./orainst) 五) 完成全部安装过程 (#./root.sh) 六) 安装Oracle7 server Patch 7.3.2.3
Oracle数据库的安装 调整UNIX系统核心参数 设置oracle的环境变量 (在SCO OpenServer 5.0.4上安装Oracle7 Server 7.3.2.1) 调整UNIX系统核心参数 SHMMAX 20971520 SHMMIN 1 SHMMNI 100 SEMMNS 60 ULIMIT 2113674 SEMMNI 20 设置oracle的环境变量 ORACLE_HOME=/oracle/app/oracle/product/7.3.2; ORACLE_SID=自定义 ORACLE_TERM=ansi TMPDIR=/oracle/tmp LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_LIBRARY_PATH PATH=$ORACLE_HOME/bin:$PATH:.
Oracle数据库的安装 (在SCO OpenServer 5.0.4上安装Oracle7 Server 7.3.2.1) 一)硬盘空间分配 二) 硬件环境的检查及配置 三)安装前环境设置 1.调整UNIX系统核心参数, 重连内核,重启 2.安装SCO OpenServer Development System 3.建立dba 用户组和oracle 用户 4.设置oracle的环境变量 5.安装OS Patch 0ss459a. 6.插入光盘,创建光盘连接 7. 设置OS安装环境( #./rootpre.sh) 四) 进入交互式安装过程 ($./orainst) 五) 完成全部安装过程 (#./root.sh) 六) 安装Oracle7 server Patch 7.3.2.3
交互式安装过程 ($./orainst) PL/SQL Oracle7 Server Pro*c SQL*Plus Oracle*XA Oracle Installer Oracle Server Manager
交互式安装过程 ($./orainst)
Oracle数据库空间分配方案
Oracle数据库介绍 Oracle产品介绍 Oracle数据库的体系结构 Oracle数据库安装及配置 Oracle数据库系统管理 Oracle与Informix数据库性能比较
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
Oracle数据库管理员的权限和工具 三个特权用户 数据库管理工具 Internal用户 —— 负责数据库的启动和关闭 sys用户 —— 拥有所有系统数据字典表和视图 system用户 —— 拥有对一切实体查看和更改的权限 数据库管理工具 1.Server manager (服务器管理器) ---命令行对话方式 $svrmgrl ---全屏幕菜单方式 $svrmgrm 2.SQL*PLUS $sqlplus SCOTT/TIGER 3.Export 和Import 4.SQL*loader 5.Enterprise manager(企业管理器)
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
Oracle数据库的启动和关闭 Oracle数据库的四种状态 OPEN :正常Oracle启动状态,所有文件打开,所有合法用户可以 登录 数据库存取数据 MOUNT:实例启动并装载数据库,但并不打开数据文件, 在此状态下进行数据库的维护 NOMOUNT:数据库启动,建立实例,此时 未装 载数据文件,此状态用于创建数据库 SHUTDOWN:数据库停机状态,所有 文件都关闭,用户无法使用
Oracle数据库的启动和关闭 Oracel数据库的启动 数据库的启动方式 登陆DBA组的用户 1.实例启动 ---nomount $ svrmgrl svrmgr>connect internal svrmgr>startup svrmgr>exit 1.实例启动 ---nomount 2.数据库挂载 ---mount 3.数据库打开 ---open 数据库的启动方式 startup OPEN: 启动实例,挂载数据库,打开数据库,缺省设置 startup MOUNT : 只启动实例,挂载数据库,不打开数据库 startup NOMOUNT: 只启动实例,不挂载数据库空间 startup RESTRICT: 有限制地启动数据库 startup RECOVER: 以此方式启动可以使数据库进行自动恢复
Oracle数据库的启动和关闭 Oracel数据库关闭的步骤 Oracel数据库关闭的命令 登陆DBA用户组的用户 $svrmgrl svrmgr>connect internal svrmgr>shutdown svrmgr>exit Oracel数据库关闭的命令 shutdown NORMAL ---为缺省设置方式,是数据库正常关闭操作命令 shutdown IMMEDIATE ---立即关闭数据库命令, Oracle不等待当前所有联结的用户退出,回退所有未提交的事务并切断用户联结,在下次重启例程时自动进行恢复 shutdown ABORT ---强制关闭数据库命令, 迫不得已时才采用。这种状态不回滚所有未提交的事务,它仅仅挂起一切幕后进程来退出数据库,数据库处于一种不可知状态
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
Oracle数据库对象的管理 表空间的创建、修改和删除 用户的创建、修改和删除
Oracle数据库对象的管理 表空间的创建 表空间的修改 表空间的删除 $sqlplus system/manager sqlplus>CREATE TABLESPACE test DATAFILE 'mytest.dat' SIZE 20M DEFAULT STORAGE (INITIAL 10K NEXT 50K PCTINCREASE 10) ONLINE ; 表空间的修改 sqlplus> ALTER TABLESPACE test ADD DATAFILE 'pay3.dbf' AUTOEXTEND ON MAXSIZE 100 K; 表空间的删除 sqlplus> DROP TABLESPACE test ;
Oracle数据库对象的管理 创建用户 CREATE USER test 修改用户 ALTER USER test IDENTIFIED BY carton DEFAULT TABLESPACE data_ts TEMPORARY TABLESPACE temp_ts QUOTA 10M ON data_ts QUOTA 5M ON temp_ts 修改用户 ALTER USER test IDENTIFIED BY new 删除用户 DROP USER test CASCADE 赋予用户权限 GRANT DBA TO test WITH ADMIN OPTION
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
Oracle数据库系统状态查询 动态性能表—V$视图 SERVER MANAGER 的屏幕模式 企业管理器(Enterprise Manager) 查询修改日志文件和跟踪文件 ——configsid.ora中 BACKGROUND_DUMP_DEST
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
物理备份 系统备份 冷备份(脱机备份) 热备份
物理备份 系统备份 冷备份(脱机备份) 关闭数据库和操作系统 以单用户方式启动,备份所有文件 以多用户方式启动系统并启动数据库 关闭数据库 关闭在Oracle上所有与Oracle相关的内部或第三方软件 关闭Oracle数据库 备份Oracle文件 从前一天的磁盘区域删除前一天归档日志文件 把当天归档日志移至前一天区域 备份Oracle配置文件、控制文件、数据文件、redo日志文件 启动数据库 拷贝数据库备份文件到磁带
物理备份 热备份. 1.数据库应处于archivelog模式,否则,通过下述命令设置: svrmgrl>connect internal svrmgrl> startup mount svrmgrl>alter database archivelog svrmgrl>archivelog start svrmgrl>alter database open 2.通过下列命令得到最早的归档日志序列号: svrmgrl > archive log list 显示:oldest online log sequence 59 3. 备份每个表空间的数据文件: 设置表空间为备份状态 备份表空间的数据文件 将表空间恢复为正常状态
物理备份 热备份. svrmgr >alter tablespace SYSTEM begin backup svrmgr > connect internal svrmgr >alter tablespace SYSTEM begin backup svrmgr >!tar – cvf /dev/rmt/0hc /db1/oracle/cc1/sys01.dbf svrmgr >alter tablespace SYSTEM end backup 4. 再次执行archive log list命令,得到当前日志序列号. 5. 备份归档的日志文件 6. 通过alter database backup controfile命令备份控制文件 svrmgrl >connect internal svrmgrl > alter database backup controfile to ‘/db1/controlfile.bck’ svrmgrl >exit tar –rvf /dev/rmt/0hc /db1/controlfile.bck
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
逻辑备份 Export的命令格式 exp 用户名/口令 … 后面跟控制export运行的各种参数。 $exp system/manager full=y inctype=cumulative contraints=y exp 用户名/口令 PAPFILE=文件名 这是将其余参数放在指定文件中的做法。 exp 用户名/口令 进入交互式命令方式,export会提示所需的信息。 用exp help=y命令可以在屏幕上显示出所有的控制参数。
export参数
逻辑备份 Export导出模式 Full方式 输出整个数据库,通过full=y选项来启用。 $exp system/manager full=y User方式 用于输出特定用户的某些对象,通过使用owner参数来启动 $exp system/manager owner= ( system,scott) Table方式 通过设定table参数来导出数据库中所选定的表 $exp system/manager table=test
逻辑备份 Full方式导出可进一步分为 完全(Complete) 导出 将整个数据库导出。 积累(Cumulative) 导出 $exp system/manager full=y inctype=complete file=full_export_file 积累(Cumulative) 导出 只导出自最近cumulative和complete导出操作以后的新的数据信息。 $exp system/manager full=y inctype=cumulative file=cumulative _export_file 增量(Increment) 导出 导出自最近increment、cumulative和complete导出操作以后的新的数据信息 $exp system/manager full=y inctype= increment file= increment _export_file
逻辑备份 导出过程示例 1.关闭Oracle上运行的任何应用程序或第三方软件,然后关闭 数据库。 svrmgrl>shutdown immediate 2.为使用户不能访问数据,以restrict模式启动数据库。 svrmgrl>startup restrict open 3.利用下列命令得到导出 $exp username/passwoed full=y file=full_exp.dat 4. 利用下列命令重新赋予用户访问权 svrmgrl>alter system disable restricted session
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
各种备份方法比较 Export/import 优点: 1)导出时可检测到数据块是否损坏 2)可移植性强:使用者间或操作系统间移植 优点: 1)导出时可检测到数据块是否损坏 2)可移植性强:使用者间或操作系统间移植 3)在恢复时能对表作重新配置并清除碎片。 4)为要选择导出的数据提供了很大灵活性,且易于维护。 缺点: 1)通常比物理备份更耗时间 2)如果想得到一致的备份,必须关闭数据库 3)只能作到某一时间点上的恢复 使用建议: 1)应与其它类型的备份方法(如归档方法)配合使用 2)适用于对速度和空间(特别是空间)都关心的环境 3)适用于每天只有少量更新操作的静态系统使用 4)适用于因意外而删去了某些表的开发环境中使用
各种备份方法比较 冷备份 优点:1)是非常快速的备份方法(只需拷贝文件) 2)容易归档(简单拷贝即可) 3)容易恢复到某个时间点(只需将文件再拷贝回去) 4)低度维护,高度安全 缺点:1)单独使用时,只能提供到“某一时间点”的恢复 2)作备份时需关闭数据库 3)不能按表或按用户恢复 使用建议: 1)应与归档方法一块使用 2)磁盘空间允许时,先拷贝到磁盘上,再拷贝到磁带上。
各种备份方法比较 热备份 优点: 1)数据库可以一直处于可用状态 2)可达到秒级恢复(恢复到某一个时间点) 3)恢复是快速的,可在数据库仍工作时恢复 缺点: 1)不能出错否则后果严重 2)若热备份不成功,所得结果不可用于时间点的恢复 使用建议: 1)适用于数据库操作一刻不停的环境 2)适用于24小时不中断的业务 3)适用于要求既能快速恢复又不可影响整个系统的场合
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
备份方案样例 适用情形 备份策略 完全备份过程 适用于非24×7操作的业务;可把数据库恢复到任何时间点: 星期日:归档备份,完全导出 要求数据库每天有6-7小时的空闲时间。 备份策略 1)以archivelog模式操纵数据库 2)每周进行一次脱机备份,应在夜晚空闲时间做 3)在restrict模式下每周进行一次完全数据导出 4)四小时至少做一次归档日志文件备份 完全备份过程 星期日:归档备份,完全导出 星期一:归档备份,增量导出 星期二:归档备份,增量导出 星期三:归档备份,积累导出 星期四:归档备份,增量导出 星期五:归档备份,增量导出 星期六:归档备份,积累导出和脱机备份
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
Oracle数据库的恢复 故障类型 语句失效 进程失效 网络失效 实例失效 用户失误 介质失效
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
使用物理备份恢复 NOARCHIVELOG模式 ----恢复到进行备份时的状态 ---- 不完全恢复 ARCHIVELOG模式 ----- 完全恢复 不丢失数据的数据库恢复 ---- 不完全恢复 数据库恢复之后将丢失某些数据
使用物理备份恢复 完全恢复实现步骤 1 在操作系统级恢复所有的(或损坏的)数据文件 2 用restrict方式启动实例并安装数据库 1 在操作系统级恢复所有的(或损坏的)数据文件 2 用restrict方式启动实例并安装数据库 svrmgrl>startup restrict mount 3 如果丢失或损坏的数据库文件的原有路径失效,重新命名 数据文件或日志文件。 svrmgrl> alter database rename file ‘old_filename’ to ‘new_filename’ 4 确保所有要恢复的数据文件联机 5 恢复数据库 svrmgrl>recover database 提示需要输入的归档日志文件名,可输入“auto”一词,自动执行恢 复。在恢复完成时,显示“mediate recovery complete”。 6 打开数据库 svrmgrl>alter database open
使用物理备份恢复 不完全恢复实现步骤 1 在操作系统级恢复所有的(或损坏的)数据文件 2 用restrict方式启动实例并安装数据库 1 在操作系统级恢复所有的(或损坏的)数据文件 2 用restrict方式启动实例并安装数据库 svrmgrl>startup restrict mount 3 如果丢失或损坏的数据库文件的原有路径失效,重新命名 数据文件或日志文件。 4 确保所有要恢复的数据文件联机 5 恢复数据库 基于变化的恢复----recover database until change 9999 基于停止的恢复----recover database until cancel 基于时间的恢复----recover database until time ‘1998/12/21 14:42:04’ 6 用resetlogs选项打开数据库 svrmgrl>alter database open resetlogs 7 进行脱机或联机的备份
Oracle数据库的备份与恢复 1. Oracle数据库的备份 2. Oracle数据库的恢复 物理备份 逻辑备份 备份方法的比较 完全备份方案样例 2. Oracle数据库的恢复 故障类型 使用物理备份恢复 使用逻辑备份恢复
使用逻辑备份恢复 利用import重建数据库的样例: 星期一:完全卸出(f1) 星期二:增量卸出(i1) 星期三:增量卸出(i2) 如果DBA 以下述方式完成数据库的备份: 星期一:完全卸出(f1) 星期二:增量卸出(i1) 星期三:增量卸出(i2) 星期四:积累卸出(c1) 星期五:增量卸出(i3) 星期六:增量卸出(i4) 如果在星期日,数据库遭到意外破坏
使用逻辑备份恢复 DBA可按以下步骤来恢复数据库: 1 重新生成数据库结构 2 创建一个足够大的附加回滚段 1 重新生成数据库结构 2 创建一个足够大的附加回滚段 3 用下面的命令从最近的导出文件(complete,cumulative,incremental) 恢复数据库定义。设置inctype=system,导入系统对象。 $imp system/manager inctype=system full=y file=i4 4 导入最近的complete导出文件 $imp system/manager inctype=restore full=y file=f1 5 按时间顺序导入自最近一次complete导出以来的所有cumulative 导出文件 $imp system/manager inctype=restore full=y file=c1 6 按时间顺序导入自最近一次complete或cumulative导出以来的所有 incremental导出文件 $imp system/manager inctype=restore full=y file=i3 $imp system/manager inctype=restore full=y file=i4
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
网络配置 使用Oracle的SQL*NET连结客户机和服务器 安装Oracle、SQL*NET ★ 安装并测试网络硬件和软件 ★ 安装并测试网络硬件和软件 ★ 在所有需要上网的客户机和服务器上 安装Oracle、SQL*NET ★ 创建并配置Oracle数据库 ★ 服务器和客户机的配置 ★ 在服务器上启动服务进程和Oracle实例 ★ 测试
网络配置 服务器的配置 服务器上主要配置listener.ora(/etc) SCO UNIX的SERVER端listener.ora文件 (ADDRESS_LIST= (ADDRESS= (PROTOCOL=tcp) (HOST=192.50.10.134) (PORT=1521) ) ) SID_LIST_LISTENER = (SID_LIST= (SID_DESC= (SID_NAME=ora7) (ORACLE_HOME=/Oracle/app/Oracle/product/7.3.2) ) ) STARTUP_WAIT_TIME_LISTENER=0 CONNECT_TIMEOUT_LISTENER=1 TRACE_LEVEL_LISTENER=OFF
网络配置 客户端的配置 客户机通过tnsname.ora文件中的TNS连结描述符来说明连结信息. (/etc) CLIENT端的tnsname.ora文件配置如下例: sco = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (COMMUNITY = tcp.world) (PROTOCOL = TCP) (Host = 192.50.10.134) (Port = 1521) ) ) (CONNECT_DATA = (SID = ora7) (SERVER=DEDICATED) ) )
网络配置 启动和停止SQL*NET 客户机和服务器的连结 ★以Oracle用户启动和停止SQL*NET ★启动 SERVER的监听器: $lsnrctl start ★ SERVER端监听器的停止命令: $lsnrctl stop 客户机和服务器的连结 客户机和服务器的连结命令如下: $sqlplus system/manager@sco sco为tnsname.ora文件中用户自定义的连接标识符
Oracle数据库系统管理 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 1 数据库管理员的权限和工具 2 Oracle数据库的启动和关闭 3 创建和管理数据库对象 4 系统状态查询 5 系统备份与恢复 6 网络配置 7 多线程配置
多线程的配置 多线程服务器 缺省方式 System global Area Servers Servers dispatcher Processes Servers Processes dispatcher User Processes User Processes 多线程服务器 缺省方式
多线程的配置 Oracle数据库多线程的配置步骤如下: ★ 关闭Oracle数据库(shutdown). ★ 设置一系列与多线程有关的初始化参数(在initsid.ora文件中): mts_dispatchers="tcp,1" mts_max_dispatchers=10 mts_servers=1 mts_max_servers=10 mts_service=oraser7 mts_listener_address="(ADDRESS=(PROTOCOL = TCP) (Host = 192. 50.10.134)(Port = 1526))” ★ 重新启动Oracle数据库(startup)。
Oracle数据库介绍 Oracle产品介绍 Oracle数据库的体系结构 Oracle数据库安装及配置 Oracle数据库系统管理 Oracle与Informix数据库性能比较
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 监控数据库性能的工具 动态性能表—V$视图 Server Manager图形界面的monitor工具 它的设计是以性能优化和分析为主题 utlbstat和utlestat脚本 在一定时间内对数据库的性能数据进行统计 ORACLE_HOME/rdbms/admin Enterprise Manager的性能管理器
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 初始化参数文件—initsid.ora 决定SGA的三个重要参数 通过调整初始化参数可优化数据库的性能 包含内存结构优化、用户和进程设置的参数 通过调整初始化参数可优化数据库的性能 其位置在$ORACLE_HOME/dbs 决定SGA的三个重要参数 SHARED_POOL_SIZE (共享缓冲池大小) DB_BLOCK_BUFFERS (数据库缓冲区的块数) LOG_BUFFER (redo日志缓冲区的大小)
初始化参数 PROCESSES ROLLBACK_SEGMENT SESSIONS OPEN_CURSORS SORT_AREA_SIZE —— 定义了同时可与Oracle连接的进程数的最大值 ROLLBACK_SEGMENT —— 用来标识回滚段. SESSIONS —— 此参数是一次所允许的用户和系统会话的数目. OPEN_CURSORS —— 是一个用户一次可打开的开放游标的最大数目 SORT_AREA_SIZE —— 用来描述用于数据排序的内存区域的大小 LOG_CHECKPOINT_INTERVAL —— 表明间隔多少redo日志文件的块数激活一次检查点DB_WRITER —— 将数据同时从内存写入数据文件的进程数
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 设计合理的数据库结构,减少I/O和资源竞争 查看对象的I/O select name,phyrds,phywrts from v$datafile a,v$filestat b where a.file# = b.file#; NAME PHYRDS PHYWRTS /oracle/ora70/dbs/ora_system.dbf 7679 2735 /oracle/ora70/dbs/ora_temp.dbf 32 546
Oracle数据库性能优化 数据库物理设计原则 1 控制文件(control files):每个数据库应当至少有三个控制文件 的拷贝,将其分布在三个磁盘上,以保证其安全性。 2 为表和索引分别创建不同的表空间,将表和索引的表空间分离在 不同的磁盘上,这将加快数据的读取速度。 3 调整回滚段(ROLLBACK SEGMENT):如果系统工作繁重, 至少要有两个回滚表空间,且存放在不同的磁盘上。 4 调整REDO日志(REDO LOG):硬件条件允许的情况下,应将 REDO日志文件、归档文件、回滚段保存在不同的磁盘上。 5 将Oracle可执行文件和数据库文件放在单独的磁盘上,不要在 Oracle数据磁盘上安装其他第三方软件。
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 分配和调整Oracle使用的内存(SGA)资源 SGA由三部分组成: 调整库缓存(library cache) 数据库缓冲区、共享缓冲区、redo缓冲区 ★检测和调整共享缓冲区(shared pool area) 调整库缓存(library cache) 调整数据字典缓存(Data Dictionary Cache) ★检测和调整数据缓存区(Data Buffer Pool) ★检测和调整redo日志缓存(Redo Log Buffer)
Oracle数据库性能优化 调整库缓存(library cache) ★ 查询v$librarycache Pins :指SQL区中不须重新安装即可执行的SQL和PL/SQL 语句的次数 Reloads:未从SQL区中检索到, 需要将新的SQL语句存入SQL区的次数 ★ SELECT SUM(pins) "Executions", SUM(reloads) "Cache Misses while Executing" FROM v$librarycache; ★ Executions Cache Misses while Executing 320871 549 ★ RELOADS与 PINS的比值为0.17%. (临界值1%) ★ 增大库缓存命中率通过以下两种办法: .增大共享缓冲区——增大SHARED_POOL_SIZE .优化SQL语句,以提高命中率。
Oracle数据库性能优化 调整数据字典缓存(Data Dictionary Cache) ★ 查询 v$rowcache GETS :对相应信息的请求数。 GETMISSES :请求在缓存中的遗失率。 ★ SELECT SUM(gets) "Data Dictionary Gets", SUM(getmisses) "Data Dictionary Cache Get Misses" FROM v$rowcache; ★ Data Dictionary Gets Data Dictionary Cache Get Misses 1439044 3120 ★ 遗失率为0.2% ★ 若大于临界值10%,增大SHARED_POOL_SIZE
Oracle数据库性能优化 调整数据缓存区(Data Buffer Pool) ★查询V$SYSSTAT db block gets和 consistent gets的和表明数据从内存中读取的请求次数 physical reads 是数据从磁盘上读取的请求次数 ★根据命中率来调整数据缓存区的大小。 命中率:1 - ( physical reads / (db block gets + consistent gets) ) ★ SELECT name, value FROM v$sysstat WHERE name IN ('db block gets', 'consistent gets', 'physical reads'); NAME VALUE db block gets 85792 consistent gets 278888 physical reads 23182 ★命中率94% ★命中率应在90%以上,否则应增加DB_BLOCK_BUFFERS
Oracle数据库性能优化 调整redo日志缓存(Redo Log Buffer) ★ LGWR进程负责将日志内容写入日志缓冲区.若日志缓冲区已满,进程就会等待LGWR进程清除缓冲区(将其写入磁盘),才能往缓冲区写入其他信息,等待次数过多将降低系统性能. ★ 通过V$SYSSTAT查找日志缓冲区的空间请求次数: ★ Select name,value From v$sysstat Where name in ( ‘redo log space requests’,’redo entries’) ★ 上述查询结果中‘redo log space requests’尽可能为0, redo log space requests / redo entries的比率应小于1:5000 ★ 调整LOG_BUFFER
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 优化数据库对象:表、索引 . . . 优化表的存储参数 避免链式行 ★经常 select的表:PCTFREE小一些,节省存储空间。 ★经常 insert 的表:PCTUSED大一些。 ★经常 update的表 :PCTFREE大一些,减少行移动。 避免链式行 ★ 当表中行在当前数据块中增长的太大,当任一块都无空闲空间保 存 整行时,Oracle将该行存于几个数据块中,这称为链式行。 ★ 移动和查找链式行需额外的读写I/O ★ 用ANALYZE TABLE命令统计链式行,查询USER_TABLES视图 ★ 唯一修复链式行的方法为:导出删除,最后导入带有链式行的表。
Oracle数据库性能优化 优化数据库对象:表、索引 . . . 管理表的动态存储分配 优化索引存储参数 ★ INITIAL和NEXT设的过低,该表不断增加新区间 ——等待数据库分配新的区间 ——新区间很少与以前的区间相邻 ★理想的INITIAL 和NEXT要足够大,从而DBA有足够的时间 在几周内或几个月内检测增长率,然后重置为合适的值。 优化索引存储参数 ——索引存储参数与表存储参数的优化规则相同
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 优化SQL语句 SQL语句处理过程 ★ Oracle首先创建处理SQL语句的内存区——游标 ★语法分析阶段 ——在此阶段将检查语句的语法结构 ——在共享池中寻找是否存在相同的语句 ——建立最高效的执行方案 ★执行阶段 ——此阶段将执行数据的读写操作,对语句进行处理 ★读取阶段 ——数据将被恢复、排序、显示输出 ——关闭打开的游标
优化SQL语句 SQL语句标准化规则 ★ SQL 语句的拼写应相同 SELECT * FROM emp; ★两个用户BOB 、ED 都包含EMP表 对同一个表加以模式(schema )的限定 SELECT * FROM bob.emp; ★尽量使用变量而不使用常量 SELECT ename, empno FROM emp WHERE deptno = 10; SELECT ename, empno FROM emp WHERE deptno = 20; 通过使用下面的变量来代替常量 SELECT ename, empno FROM emp WHERE deptno = :department_no;
优化SQL语句 SQL语句处理过程 ★ Oracle首先创建处理SQL语句的内存区——游标 ★语法分析阶段 ——在此阶段将检查语句的语法结构 ——在共享池中寻找是否存在相同的语句 ——建立最高效的执行方案 ★执行阶段 ——此阶段将执行数据的读写操作,对语句进行处理 ★读取阶段 ——数据将被恢复、排序、显示输出 ——关闭打开的游标
优化SQL语句 优化模式 ★ rule:基于规则的优化,根据数据访问路径和信息来决定执行计划。 —— ALL-ROWS:在最短时间内返回查询访问的所有行 —— FIRST-ROWS:在最短时间检索查询中的第一行 ★ cost:基于代价的优化,根据所需的I/O,CPU以及内存来决定执行计划 ★ choose:允许内核在上面两种中做出选择,但并非真正的优化模式 变更优化模式有三种方法 ★在SQL语句中指定 select /*+ALL_ROWS*/ name from table; ★ alter session set optimizer_goal命令 alter session set optimizer_goal = FIRST_ROWS; ★ INIT.ORA 文件:设置optimizer_mode参数。
优化SQL语句 SQL调试方法 使用SQL跟踪 ★启动跟踪会话: ★执行set autotrace on命令 SQL_TRACE=true 则会跟踪所有在实例下的会话 USER_DUMP_DEST 为跟踪文件设置的路径和名称 TIMED_STATISTICS=true 搜集CPU的统计数字和耗费的时间。 ★执行set autotrace on命令 ★运行SQL语句后将生成其执行方案和统计数字。 ★查看跟踪文件 ★使用TKPROF查看跟踪文件 tkprof ora_1101.trc ora_1101.tkp explain=oracle/oracle sys=no
Oracle数据库性能优化 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 监控数据库性能的工具 2 初始化参数文件 3 Oracle数据库性能优化技术 --- 数据库管理员的工作 1 设计合理的数据库结构,减少I/O和资源竞争 2 分配和调整Oracle使用的内存(SGA)资源 --- 应用开发人员的工作 1 优化数据库对象:表、索引、聚簇等 2 优化SQL语句 3 根据Oracle特性来优化应用程序
Oracle数据库性能优化 根据Oracle特性来优化应用程序 ★使用PL/SQL、Host Array . . . ★优化Client/Server应用 ——ARRAYSIZE 限制一次传输中返回的行数
Oracle数据库介绍 Oracle产品介绍 Oracle数据库的体系结构 Oracle数据库安装及配置 Oracle数据库系统管理 Oracle与Informix数据库性能比较
Oracle与Informix数据库性能比较 在几乎所有平台上,均获得最佳的测试值 TPC-A, B, C 以TPC-C为例,DEC 8400 5/350,32 CPU, DEC Trucluster, 获得 30390.65TpmC, 性能/价格比为$305/TpmC 最优的TPS值,最优性能/价格比 注:资料来源于Oracle公司
多用户进程时Oracle与Informix数据库的比较 插入数据 单用户进程时 Oracle与Informix数据库的比较 多用户进程时Oracle与Informix数据库的比较
Oracle与Informix数据库性能比较 插入数据 采用优化技术 单用户进程使用Host Array方法时Oracle与Informix数据库的比较 单用户进程下Oracle的DB_BLOCK_SIZE=8K时Oracle与Informix数据库的比较 注:Oracle为archivelog状态,informix为buffer模式
Oracle与Informix数据库性能比较 删除数据 单用户进程时 Oracle与Informix数据库的比较 采用优化技术 单用户进程下Oracle的DB_BLOCK_SIZE=8K时Oracle与Informix数据库的比较
Oracle与Informix数据库性能比较 测试结论: 1 单用户进程时,archivelog模式下Oracle数据库的数据插入速度慢于buffer模式下的Informix数据库;但要快于unbuffer模式下的Informix数据库。 多用户并发进程以及采用优化技术的单用户进程,archivelog模式下Oracle数据库的数据插入速度快于buffer模式下的Informix数据库。 单用户进程时,不论采用和不采用优化技术,archivelog模式下Oracle数据库的数据删除速度都慢于buffer模式和unbuffer模式下的Informix数据库。 2 3
Q&A ? 交 流