RMAN 对内存的使用

研读了下RMAN对内存的使用,有很多精细的地方。

1.RMAN如何使用内存

对于每一个server process(一般就是 channel):

  • 为每个磁盘文件分配4个input buffer
  • 为每个backup piece分配4个output buffer

所以减小同时打开的文件数可以减小对内存的使用。 设置 MAXOPENFILES =
在 对文件的操作过程中,每个buffer会专属于这个文件,而且会被循环使用。 在input buffer中可能会包含不需要被备份的block。 然后需要备份的block会从input buffer复制到output buffer中,在这个过程里会进行block的有效性检查。

2. buffer大小

每个input buffer的大小为

db_block_size * db_file_direct_io_count (9i以后为隐含参数_DB_FILE_DIRECT_IO_COUNT,默认是1M,也许会根据OS的max_io_size调整)

所以完整的input buffer 大小为

buffer个数(4) * 打开文件数 * 单个buffer大小


关于output buffer:

磁盘:同上,只不过“打开文件数”变成“backup piece个数”
磁带:9i/10G, buffer size默认256K

3. 内存的出处

一 般来说,Channel的server process是从PGA里分配内存。但如果使用了IO Slave, 则会从SGA里分配,也就是large pool,因为这部分内存需要共享。如果Slave从SGA中得不到足够的内存,则会报4031,slave被停掉,但server process会继续从PGA中申请buffer,继续操作。

4. 关于 IO Slaves

实际就是启动一些子进程,把 读 和 写 操作分开进行,提高效率。

 
 
 
 
 
 

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/225056/viewspace-1022333/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/225056/viewspace-1022333/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值