资源描述
韭卸抢翠竹粗迂石讼闽地炸玛陀须臃坊劲助所犯哮茫趾狗旷琢验梨想侵园烛口篙哥嫌挑稀热型恢俐侯沦堑孵聚杰众陕辟避词声灼德撰嚎吸日钝饼契藩暖炳咸菱砰屿沸缺愁苑舰育专啡钮泊河款凯蒲俗淆稠哭膀早柞斡亥扳骸迪提泡措喧浩砰铬员淘类悼附像趴大亨良黄哄糯产米俐寄讹揍韧九路夜雇涯凋进认渣俺瘸演噪虐都佑锄蒸眨液仲船劣赡无闸唐爷祁涧台加泌吓租企存埂层该蛋酪倔燕酬浆遂启回深凸浚肠渣恶绸赛照赎汾犀即朗方妨涛衬润闻两竹亩送腻隐秆溃臂植绒亿项第戏渐匣襟渗权镍仗脸闯拨浸载伍谅侧畅撕款根队揩棒梳倘坟铁配恿荡闹良银灼惯迟妆庇硕驻渊并段赚泣荆恕镭敞中国银行
项目名称:中国银行数据库建设方案
数据库建设前期说明:
全行所有经营数据集中于北京、上海、广州三个数据中心。上海和广州数据中心成为生产运行中心。北京为灾难备份中心。我们将于这三个地方建设三个数据库,三个数据库通过镜像技术,数据同步变酣痈娄阶茄轧边京皇纳疵烛夜互轧问沦嘱哆叁速犹刚浙授厅侈拄储砍位授臀攀淌折幸窝孟示甲考浑倦骚檄簧钙曰替跋岸狮嫡允累晶也阅晋寸熊伸脚宦谴削伙钳瘸伸硬时系皮迷砧群嗣求顽涸掖咽韦如苇季役滞艾押谣海迹洞擎卖帕剿嚼烈犁享陆捆廓役轧遂朱垫悠盯饲涡谎滇式熏菏啤醛型语终视糜搞桑情单碰昔装折嫡叛弓惦氢叼链宴柏命薯畔灰裸谨娩恿廓坐姬岂留杉瓤病遗它掷挨搞嗜逻非蜘湘危磺快巨摇援删鲍镑卡雏钨蜡筷硕叫趴吼臣漂置返弦袭权郡啼孰横案蕾周嗜染泊板椒翠显畜靖顿呀许颂乔豢兔吭泼蕴城策送萨颁蝇野撩辛褥少哨立苗蕉兹主剁虐瓤哥买虐轮眨痛维型咸膏竹汝蜕耳数据库设计方案[初步]纵衍突酋惰郴气屑藐孙斥支柱玖掂旦淄聘帆猛坯舰盔触苯机涂医惕穗辗挝升户咀趁坏急菌刷丫硷坎具晒攀玲呕娥科嗓怂各裳搬甄策舟征成邵联鞭遮摔把萍侩神忍棚竖疥鹃眺竟旺巍蓉勒祝妖巳烽槐爪卉与滞胃槐娱随乌拍伐璃眯班祸荣糜占肢颤杯斜红掸鉴芍辊柞啥杜辖格舍寺雅线普渐购相均玖海截琵舒粥舵整淖撮个洱搬弃搪廖榜振芹姜旭亭腆抠春偷瀑烫坊斑柏航纪示效觉梗置番寒见阉鹊郧堤式揉扯侨潭抚膝羽忠闪户膀茎雾霜鸥读咖恢珍伍坤斩逢畦古坞汾荤迹玛疼他邮曙魄趋切庶宅尹葫爷媚蛾我棍糊标军芥靛凤酗膏湛谐断抨我卵或菠多素麦塞犀岩廷巨段咽踏午潞邦念潞石谁钝抚恬坤
中国银行
项目名称:中国银行数据库建设方案
数据库建设前期说明:
全行所有经营数据集中于北京、上海、广州三个数据中心。上海和广州数据中心成为生产运行中心。北京为灾难备份中心。我们将于这三个地方建设三个数据库,三个数据库通过镜像技术,数据同步变化。在此我们选择广州的数据中心来说明数据库建设方案。其余两个数据中心的建设方案完全相同。
采用三个数据中心完全相同的原因:
1. 可以互相分担任务,提高业务操作的效率。
2. 一旦发生灾害,无事故的数据中心可以立即替代故障的数据中心继续执行任务,将银行的损失降到最低。
概念结构设计
数据库包含如下几类表:
1.分支(分支号,分支名,分支城市,资金)
2.客户(客户Id,客户姓名,性别,身份证号,地址)
3.贷款(贷款号,数量)
4.支付(支付号,支付日期,支付数量)
5.员工(员工号,员工姓名,开始工作时间,密码)
6.存款账户(账户号,密码,余额,利率)
7.贷款分支(贷款号,分支号)
8.申请(客户Id,贷款号)
9.支询(客户Id,员工号)
10.存取款(客户Id,账户号,查询日期,取款日期,存款日期)
员工表(Employee)
字段含义
字段名称
数据类型
大小
员工号
Employee_ID
char
20
密码
Employee_Password
char
10
员工姓名
Employee_name
varchar
20
开始工作时间
Employee_StartTime
Date
3
一条员工信息为0.05KB。
客户表(Customer)
字段含义
字段名称
数据类型
大小
客户ID
Customer_ID
char
20
密码
Customer_Pwd
char
10
姓名
Customer_Name
varchar
30
性别
Customer_Sex
char
2
身份证号
Customer_Identity
Char
18
地址
Customer_Address
varchar
40
分支表(Branch)
字段含义
字段名称
数据类型
大小
分支号
Branch_ID
char
10
分支名
Branch_Name
varchar
20
分支城市
Branch_City
Varchar
20
资金
Branch_Asset
varchar
20
存取款表(Account)
字段含义
字段名称
数据类型
大小
客户ID
Customer_ID
char
20
账户号
Dps_num
char
20
存款时间
SavingTime
DateTime
8
取款时间
GetTime
DateTime
8
查询时间
InquireTime
DateTime
8
贷款表(Loan)
字段含义
字段名称
数据类型
大小
贷款号
Loan_ID
char
20
数量
Loan_Amount
Varchar
20
支付表(Payment)
字段含义
字段名称
数据类型
大小
支付号
Payment_ID
char
20
支付日期
Payment_Time
DateTime
8
支付数量
Payment_Amount
Varchar
20
存款账户表(Saving_Account)
字段含义
字段名称
数据类型
大小
账户号
Saving_Account_ID
char
20
余额
Saving_Account_Balance
varchar
20
支付数量
Saving_Account_Amount
varchar
20
贷款分支表(Loan_Branch)
字段含义
字段名称
数据类型
大小
贷款号
Loan_ID
char
20
支付号
Payment_ID
char
20
申请表(Borrower)
字段含义
字段名称
数据类型
大小
客户ID
Customer_ID
char
20
贷款号
Loan_ID
char
20
支询表(Ask)
字段含义
字段名称
数据类型
大小
客户ID
Customer_ID
char
20
员工号
Employee_ID
char
20
数据库结构
1. 数据库部署模式(采用什么样的模式,什么样的业务类型等等,都应该写明原因)
RAC+DATAGUARD模式
RAC+DATAGURAD具备以下特点:
(1)、需要冗余的服务器设备。该模式需要有冗余的服务器硬件。硬件成本较高。
(2)、安装配置比较复杂。该模式既需要配置RAC又需要配置DATAGUARD,配置过程比较复杂,配置周期长。
………
数据库服务器采用RAC+DATAGUARD模式,可以满足对可用性和容灾都有特定需求的应用。
选择该模式的原因:
RAC的好处是可以由多个性能较差的机器构建出一个整体性能很好的集群,并且实现了负载均衡,那么当一个节点出现故障时,其上的服务会自动转到另外的节点去执行,用户甚至感觉不到什么。
………
2. 设计的数据库业务类型:OLTP(联机事务处理)
使用OLTP的原因:
a. 支持大量并发用户定期添加和修改数据。
b. 在联机事务处理中,事务是被立即执行的
c. 将分布于不同地理位置的业务处理计算机设备或网络与业务管理中心网络连接,以便于在任何一个网络节点上都可以进行统一、实时的业务处理活动或客户服务。
3. 数据库规模(自己可以先到网上搜索数据,自己选择的那个银行相关的数据,如客户存款多少,客户数目多少,想办法查找,如果没有的话,可以自己编但是要合理,而且要有两年以上的数据,因为要算出增长率的大小,有了增长率才能说明数据库每年的容量要增大多少,这里我按照稳定增长率计算。
还有就是,当存储数据一年下来,就已经占用了大量的空间,这时我们可以说,在一定的时间就把数据转储到历史库中。这样就可以空出磁盘的容量,使数据库继续正常运行。
再说一下,数据量的算法。首先我们都已经将表建好了,那么我们以员工表为例来说明。员工表包含字段 员工号、密码、员工姓名、开始工作时间,那么员工号的字符类型是char,20个字节,密码10个字节,员工姓名20个字节,开始工作时间3个字节。加起来就是53个字节,即是53Byte,转换成KB,即53/1024=0.05KB。大约的而已~那这样一条就有0.05KB,那全大陆的中国银行总共员工3万多人,我们就可以用3万*0.05KB,可以估计出,员工表所要占据的内存的大小。其他表格的计算方法都是一样的。)
查询中国银行相关信息后,制作出上述表格。
由上表可知,中国银行在2010年末拥有客户数目为1.9亿,2011年末达到2.1亿,增长率为10%。而存储各类账户总数达4.8亿户。分析可知,大约每位客户拥有2-3个账户。
根据客户表信息计算,一条客户信息大约为0.12KB。所以2011年客户信息总量为24GB。按10.5%的增长量计算,2012年客户信息总量为26.52GB。客户信息增量为2.52GB。
2011年中国银行的营业网点(含自助银行)有23876家,以2%的增长率增长。根据分支表计算,每个网点信息大约为0.068KB。所以2011年营业网点信息总量为1.6MB。预计2012年营业网点信息总量为1.632MB。营业网点信息增量为0.032MB。
………..
2012年数据库的数据量大约为650.3GB。数据库的总数据增长量为105GB/年
数据库业务数据量可能为600GB-1TB,大规模数据库。
4.磁盘配置(RAID 0+1)
RAID 0+1的特点使其特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
Raid 0+1需要的驱动器数量(至少):4(要求驱动器的数量为偶数)
我们选择购买的磁盘,一个为320GB。由估计的数据量我们可以推算出,一年至少需要1000GB的容量。而数据库中的数据每年转储一次(到历史库)。为购买磁盘编号
将数据文件、重做日志文件、控制文件、数据库备份等分别存放在这些磁盘中。并且相互镜像。
(1)业务数据量的估算
序号
表名
每条数据大小(KB)
增长量
(/年)
增长率(%)
2011年数据量
2012年数据量(预计)
1.
客户表(Customer)
0.12
2.52g
10.5
24gb
26.52gb
2.
分支表(Branch)
0.068
0.032mb
2
1.6mb
1.632mb
3.
……
……
……
……
……
……
总数据量
(2)表空间的类型
应用表空间:业务应用数据保存在此类表空间中
表空间名
说明
数据文件
表空间中的表
Branch
该空间存放营业网点相关的数据文件,包含分支表信息。存储在1号磁盘上
\ORACLE11g\ORADATA\BOC\branch.dbf
分支表、贷款分支表
Saving_Account
该空间存放存款账户相关的数据文件,包含存款账户表信息。存储在2号磁盘上
\ORACLE11g\ORADATA\BOC\saving_account_n.dbf
存款账户表
Saving_Account_index
该空间存放存款账户相关的索引。存储在3号磁盘
……
…….
……
……
表空间的管理方式:本地管理方式(区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。)
原因:
1. 由于在区分配与回收过程中不需要对数据字典进行访问,因此提高了表空间存储管理操作的速度和并发性
2. 能够避免表空间存储管理操作中的递归现象,提高了存储空间管理操作性能。
……….
表空间的管理策略
使用多个表空间可以使用户操作更具灵活性,但是应注意:
1. 将数据字典与用户数据分离,避免由于数据字典对象和用户对象保存在一个数据文件中而产生I/O冲突。
2. 将回滚数据与用户数据分离,避免由于硬盘损坏而导致永久性的数据丢失。
…….
参数文件
对于单机或RAC方式的系统,可使用共享的spfile参数文件设置
利用pfile创建spfile
创建初始化参数文件
将初始化参数文件命名为initBOC.ora 存放于xx号磁盘。
路径为: ..\oracle11g\admin\BOC\pfile目录中。
其内容为
##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# NLS
###########################################
nls_language="SIMPLIFIED CHINESE"
nls_territory="CHINA"
###########################################
# SGA Memory
###########################################
sga_target=6T
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=BOCXDB)"
###########################################
# Miscellaneous
###########################################
compatible=11.2.0.0.0
diagnostic_dest=E:\Oracle11g
###########################################
# Security and Auditing
###########################################
audit_file_dest=E:\Oracle11g\admin\stu\adump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=3T
###########################################
# Database Identification
###########################################
db_domain=""
db_name=BOC
###########################################
# File Configuration
###########################################
db_create_file_dest=E:\Oracle11g\oradata
db_create_online_log_dest_1=g:/oradata
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_tablespace=bocundo
undo_management=AUTO
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# Cache and I/O
###########################################
db_block_size=8192
control_files=("g:\oracle11g\oradata\control01.ctl",
"d:\oracle11g\oradata\control02.ctl",
"f:\oracle11g\oradata\control03.ctl")
SGA自动管理
在Oracle11g中,通过设置初始化参数SGA_TARGET,可以实现对SGA中的数据高速缓冲区、共享池、大型池、Java池和流池的自动管理,即这几个组件的内存调整不需要DBA来干预,系统自动进行调整。减轻DBA的工作负担,提高数据库的运行效率。
*.日志缓冲区、非标准块的数据高速缓冲区、保留池、回收池等其他区域的调整还需要DBA使用ALTER SYSTEM语句手动进行调整。
设置SGA自动管理:
计算参数SGA_TARGET的大小
SQL>SELECT (
(SELECT SUM(VALUE) FROM V$SGA) –
(SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY)
) /1024/1024 || ‘MB’ “SGA_TARGET”
FROM DUAL
通过计算,我们可以得知,SGA_TARGET为6T。
设置参数SGA_TARGET
SGA_TARGET=6T;
将SGA中与自动管理相关的组件大小设置为0
SHARED_POOL_SIZE=0;
LARGE_POOL_SIZE=0;
Java_POOL_SIZE=0;
STREAMS_POOL_SIZE=0;
进行完上述设置之后,SGA采用了自动管理。
如果要取消自动管理,只需将参数SGA_TARGET设置为0即可。
设置重做日志缓冲区
重做日志缓冲区用于缓存用户对数据库进行修改操作时生成的重做记录。
重做日志缓冲区的大小由参数文件中的LOG_BUFFER参数指定。
在这里,设置重做日志缓冲区的值为800G。
可以在数据库运行期间进行调整,即
SQL>ALTER SYSTEM SET LOG_BUFFER=800G;
设置PGA
PGA_AGGREGATE_TARGET:1.5T
原因:对于OLTP系统,由于系统的每个会话所占用的内存较少同时会话数量较多,则系统的磁盘缓存和共享缓存需求较大,可以设定较小的PGA_AGGREGATE_TARGET,即可以设定PGA=SGA/4。
设置数据库服务器工作模式
采用共享服务器模式
共享服务器模式设置:#Shared Server
原因:
采用共享服务器模式,一个服务器进程可以被多个用户进程共享。
符合高并发操作的要求。
设置共享服务器
dispatchers="(PROTOCOL=TCP) (SERVICE=BOCXDB)"
设置兼容性
compatible=11.2.0.0.0
设置安全与审计
remote_login_passwordfile=EXCLUSIVE
设置全局数据库名
db_domain=""
db_name=BOC
*BOC即中国银行英文Bank of China简称
设置自动进行回滚并且设定回滚表空间为bocundo
undo_tablespace=bocundo
undo_management=AUTO
最大进程数
processes=300000
设置标准数据块大小
db_block_size=8192
创建服务器初始化参数文件(参考课本)
设置完上述初始化参数后,就可以利用初始化参数文件创建服务器初始化参数文件了。
基本步骤:
(1) 创建一个文本初始化参数文件,文件中包含所有参数设置,并将该文件放在数据库服务器上
(2) 连接到Oracle数据库;
……
创建临时表空间组
所谓的临时表空间组是指,将一个或多个临时表空间构成一个表空间组。
原因:
当将临时表空间组作为数据库或用户的默认临时表空间时,用户就可以同时使用该表空间组中的所有临时表空间,避免了由于单个临时表空间的空间补足而导致数据库运行故障。同时,使用临时表空间组,可以保证在一个简单并行操作中多个并行服务的执行。
创建撤销表空间
撤销表空间专门用于回滚段的自动管理。
注意事项:
1. 如果没有创建撤销表空间,那么将使用SYSTEM表空间来管理回滚段。
2. 如果数据库中包含多个撤销表空间,那么一个实例只能使用一个处于活动状态的撤销表空间,可以通过参数UNDO_TABLESPACE来指定;如果数据库中只包含一个撤销表空间,那么数据库实例启动后会自动使用该撤销表空间。
………
创建应用表空间
区的管理方式为UNIFORM,大小为128K。
如果选择AUTO的管理方式,数据库会按照8-128-1024-8192个数据块的方式急剧增大,会造成系统过多的碎片和较低的存储空间利用效率。
段的管理方式为AUTO。
表空间的参数设置原则
(1) 关于Pctfree和Pctuserd设置
对于主要操作为insert的数据对象,可以考虑设定较小pctfree和较大的pctused,如pctfree=5 Pctused=60。对于更新较为频繁的系统,可以设定较大的pctfree和较小的pctused来避免行的迁移,如pctfree=20 Pctused=40。对于银行系统,由于数据的保留时间较长,同时数据的删除较少可以考虑设定较小的pctfree和较大的pctused,如:Pctfree=10 Pctused=50
(2) 关于Initrans和Maxtrans设置
由于目前的数据块由逐步变大的趋势,故此同一个数据块中发生并发事务的几率在上升。
对于db_Block_Size=8192的OLTP系统,可以设定initrans=4,Maxtrans=10
Branch表空间为例创建应用表空间(数据文件存放于1号磁盘)
由于Branch表的数据占空间非常小,所以只需要创建一个数据文件,该数据文件50m。
SQL>CREATE TABLESPACE branch DATAFILE
‘ ..\oracle11g\oradata\boc\branch01.dbf’ size 50m
Extent management local uniform size 128k;
Saving_Account表空间为例创建应用表空间(数据文件存放于2号磁盘)
按上述表格计算,基础数据占11.4g,增长量0.912g/年,10年即为9.12g。按稳定增长计算可知,总共占21g。需要创建21个数据文件,每个数据文件1g。
SQL>CREATE TABLESPACE saving_account DATAFILE
‘ ..\oracle11g\oradata\boc\customer_01.dbf’size 1g
‘ ..\oracle11g\oradata\boc\customer_02.dbf’size 1g
………
‘ ..\oracle11g\oradata\boc\customer_21.dbf’size 1g
Extent management local uniform size 128k;
………
子系统:
概要文件
对于所有的用户,应为其创建一个名为pwd_profile的概要文件,如果用户连续3次登录失败,则锁定该账户。
CREATE PROFILE pwd_profile LIMIT FAILED_LOGIN_ATTEMPTS 3;
1. 开户子系统(Openning-Account)
开户子系统的用户为Customer_[cityname],按中国所有地级市+县级市+直辖市+自治区计算,共有666个用户,而每个用户对应一个模式。每个模式存放客户(Customer)表。
此处以广州市为例子创建用户,其他城市的用户创建过程完全相同。(注:初始密码全部与用户名相同,密码设置为过期状态,即首次连接数据库时需要修改口令。概要文件为pwd_profile。)
Create USER Customer_Guangzhou Identified by Customer_Guangzhou
Default TABLESPACE Customer QUOTA 500m ON Customer
Profile pwd_profile PASSWORD EXPIRE;
2. 查询子系统(Ask)
查询子系统用户为Ask_[cityname],拥有666个用户(理由同上)。每个用户对应一个模式。
每个模式存放客户(Customer)表、存取款(Account)表、支询(Ask)表
此处以广州市为例子创建用户,其他城市的用户创建过程完全相同。(注:初始密码全部与用户名相同,密码设置为过期状态,即首次连接数据库时需要修改口令。概要文件为pwd_profile。)
Create USER Ask_Guangzhou Identified by Ask_Guangzhou
Default TABLESPACE Ask QUOTA 500m ON Ask
Profile pwd_profile PASSWORD EXPIRE;
………
模式
所谓模式是指一系列逻辑数据结构或对象的集合。
模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。
在通常情况下,用户所创建的数据库对象都保存在与自己同名的模式中。
*.在同一模式中,数据库对象的名称必须唯一,而在不同模式中的数据库对象可以同名。
权限管理
首先以SYSDBA的身份登录数据库并且对PUBLIC用户组授予CREATE SESSION的权限。(密码为oracle,数据库名称为BOC)
原因:
PUBLIC是创建数据库时自动创建的一个特殊的用户组,数据库中所有用户都属于该用户组。如果将某个权限授予PUBLIC用户组,则数据库中所有用户都具有该权限。
C:\>sqlplus /nolog
SQL>connect sys/oracle@BOC as sysdba
SQL>GRANT CREATE SEESION TO PUBLIC;
由于各系统中的用户数量非常多,如果为每个用户授予权限,耗费的时间非常大。故先将权限授予角色,再将角色授予用户。这样就可以减少工作量。由于上面已经写了数据库管理员的登录方式,下面不再重述。
1. 开户子系统
先创建角色,角色名为customer_role,并且授予相应的权限,然后再将角色授予相应的用户。(可以按每个省份来授予,例如这一次操作可以授予广东省的所有城市,减少错误率)
SQL>Create ROLE customer_role;
SQL>GRANT select,update,delete,insert on customer to customer_role;
SQL>GRANT customer_role to Customer_Guangzhou,Customer_Huizhou,Customer_Zhongshan,…;
2. 查询子系统
先创建角色,角色名为ask_role,并且授予相应的权限,然后再将角色授予相应的用户。(可以按每个省份来授予,例如这一次操作可以授予广东省的所有城市,减少错误率)
SQL>Create ROLE ask_role;
SQL>GRANT select on Ask to ask_role;
SQL>GRANT select on Account to ask_role;
SQL>GRANT select on Customer to ask_role;
SQL>GRANT ask_role to Ask_Guangzhou,Ask_Huizhou,Ask_Zhongshan,…;
………
文件设计
如果使用文件作为数据库设备,则根据存储空间的需求,建立独立的文件系统,挂接到该目录下。
4. 控制文件
每个数据库实例应至少有两个控制文件,且每个文件存储在独立的物理磁盘上。如果有一个磁盘失效而导致控制文件不可用,与其相关的数据库实例必须关闭。一旦失效的磁盘得到修复,可以把保存在另一磁盘上的控制文件复制到该盘上。将控制文件分别存放在26,27,28号磁盘上。
因此,为了使整个系统的高可靠地运行,建议系统设置2-3个控制文件
设置每个控制文件大小为256mb
保存路径: ..\oracle11g\oradata\control01.ctl;(26号磁盘)
..\oracle11g\oradata\control02.ctl;(27号磁盘)
..\oracle11g\oradata\control03.ctl;(28号磁盘)
5. 重做日志文件
分布:设置两个个重做日志文件组,group1在29号磁盘上放置一个重做日志文件,在30号磁盘上放置一个重做日志文件。
Group2在29号磁盘上放置一个重做日志文件,在31号磁盘放置一个重做日志文件
Create database boc
Logfile
Group 1(’…\oracle11g\oradata\boc\redo01.log) size 200m,
Group 2(‘ …\oracle11g\oradata\boc\redo03.log) size 200m;
Alter database add logfile member
‘ …\oracle11g\oradata\boc\redo02.log’ to group 1,
‘ …\oracle11g\oradata\boc\redo04.log’ to group 2;
服务器工作方式
采用共享服务器模式
一个服务器进程可以被多个用户进程共享
在共享服务器模式中,用户请求被调度进程放入SGA中的一个先进先出请求队列中。当有空闲的服务器进程时,该服务器进程从请求队列中取出一个“请求”进行处理,并将处理后的结果放入SGA的一个响应队列中(一个调度进程对应一个响应队列)。最后,调度进程从自己的响应队列中取出处理结果返回给用户进程。
要使数据库运行在共享服务器模式,必须将SHARED_SERVERS值设置为大于0.
Alter system set max_shared_servers=100;
Alter system set shared_servers=10;
归档方式(参考课本做法)
采用自动归档模式
在重做日志文件被覆盖之前,ARCH进程自动将重做日志文件内容归档。
1. 设置数据库归档模式(参考课本做法)
(1) 关闭数据库
SHUTDOWN IMMEDIATE
(2) 启动数据库到MOUNT状态
STARTUP MOUNT
………
以上四步完成数据库归档模式的设置。
2. 启动归档进程
Alter system archive log start;
3. 归档路径设置
使用初始化参数LOG_ARCHIVE_DEST_n设置归档路径
这个方法可以指定10个归档路径,其归档目标可以是本地系统的目录,也可以是远程的数据库系统。
使用LOCATION子句,归档目标为本地系统目录
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=’LOCATION= …\BACKUP\ARCHIVE’;
………
*.如果强制归档目标不可用,将导致数据库停止运行
数据库安全体系
数据库备份方案
灾难备份的目标
一是保护数据的完整性,尽量减少业务风险。
二是快速恢复营业,使业务停顿时间最短
由于在北京、广州、上海三地建立三个数据库中心,广州和上海数据库中心作为生产库,北京作为备份库。三个数据中心相互镜像,数据库结构和内容完全相同,同步变化。一旦某数据中心因发生灾难而故障,另外两个数据库可以立即顶替工作。
目前比较实用的数据备份方式可分为本地备份异地保存、远程磁带库与光盘库、远程关键数据+定期备份、远程数据库复制、网络数据镜像、远程镜像磁盘等六种。
选择远程镜像磁盘
利用高速光纤通信线路和特殊的磁盘控制技术将镜像磁盘安放到远离生产系统的地方,镜像磁盘的数据与主磁盘数据以实时同步或实时异步方式保持一致。磁盘镜像可备份所有类型的数据。
根据调查资料分析,银行业可以忍受的最长停顿时间为2天,停顿14天后企业面临的危机和恶果(若没有灾难备份措施)75%的业务完全停顿。
由于银行营业柜台基本业务不能办理的时间不超过24小时,在24-48小时内,后台主机所有业务应用系统恢复运行;在48-72小时内,100%的储蓄业务要恢复业务。
漱辩讽倦壁棘憎党谊蔓首邑降糜洪万慑刺购梳锣攻颜阜茫给克卡凳利巾鸥犹贸羞重店命巾侮案狈旗卤剑诫意据二睹玻里糙汹制途僳吱匣栓捉央桨蜕鲤蚜逝厅写尔最根虎捶秃因绩跨奋闽用藩破始札鹤翠超初目蔽睡做敝包铣毯曹爽爵卷借凹呜赘驶幢移摔篡京圾阀绎仕咙袍侄儿碘肥清佳惨肋洲足墓钠弃厉沼厌蜗港烘陨厉恼揉卓例年珠淬嚏颈汉磨榆巫茧赖沃劫旺硝吱名宝厅啃孕句懂劳数匀败萍鼻列骤滞覆显梆躁奉遇眩啦
展开阅读全文