oracle数据库备份、增加可用磁盘、设置归档、增加表空间

前端之家收集整理的这篇文章主要介绍了oracle数据库备份、增加可用磁盘、设置归档、增加表空间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

年底客服机房进行整理,需停电,趁机对系统数据库进行调整,以下为简要脚本记录:

l 为服务器增加硬盘(主要用于正式数据的存储)

l 进行数据库完全备份

l 增加归档设置

l 增加表空间

1.进行数据库的完全备份

a) 导出nvl_user全部

$su- oracle

$expdp nvl_user/nvl#2016 schemas=nvl_user directory=expdp_dir dumpfile=nvl_user_20170121.dmp logfile=nvl_user_20170121.log job_name=my_job1

b) 压缩文件

$gzip /oralog/backup/nvl_user_20170121.log

$gzip /oralog/backup/nvl_user_20170121.dmp

c) 转移文件

$scp-r /oralog/backup/nvl_user_20170121.log.gzroot@172.16.16.51:/home/nvc_db_backup/imp_data

$scp-r /oralog/backup/nvl_user_20170121.dmp.gzroot@172.16.16.51:/home/nvc_db_backup/imp_data

数据密码:123456789

d) 删除文件(磁盘空间足够时可不执行,以冗余存储)

$rm-f /oralog/backup/nvl_user_20170121.dmp.gz

$rm-f /oralog/backup/nvl_user_20170121.log.gz

2.对磁盘进行初始化

$su– root

$fdisk–l 查看磁盘详情,发现sdb、sdc有大量空间为使用

$fdisk /dev/sdb 按询问逐步操作,将磁盘未使用的区域用到,产生sdb2

$fdisk /dev/sdc 按询问逐步操作,将磁盘未使用的区域用到,产生sdc2

$reboot 非常重要,否则无法进行后续操作

$mkfs.ext3 /dev/sdb2 按提示操作

$mkfs.ext3 /dev/sdc2 按提示操作

$df–h 查看发现已比原来增加了sdb2、sdc2

注意:磁盘再分区或者格式化前操作系统会有防误操作提示,务必认真查看提示确认将分区磁盘是否有被使用等情况,避免风险。

3.为新增磁盘建立oradata2/oralog2目录并分配权限

$mkdiroralog2

$mkdir/oradata2/oradata

$mkdir/oradata2/oradata/orcl

$chownoracle:oinstall oralog2

$chownoracle:oinstall oradata2

$chownoracle:oinstall /oradata2/oradata

$chownoracle:oinstall /oradata2/oradata/orcl

$mount/dev/sdc2 /oralog2

$mount/dev/sdb2 /oradata2

4.查看Oracle数据库的归档设置

$sqlplus/ as sysdba

a) 查看归档设置

sql>archivelog list;

发现未开启归档模式。

b) 查看归档文件限制大小

sql>showparameter db_recover;

发现db_recovery_file_dest_size不足4G,一旦开启归档模式,将很快消耗掉空间,需设置为其它目录下的另外一个足够大的空间,一遍减少后续日志的定期清理频率。

c) 查看磁盘空间,寻找合适的大小

$df-h

发现app目录剩余仅39G,故将db_recovery_file_dest_size设置为24G (虽然oralog目录并非默认归档目录,并不受此参数影响);

发现/oralog目录剩余327G,/oralog2目录剩余440G,故将归档路径设置在oralog和oralog2上:。

sql>alter system set db_recovery_file_dest_size=24G;

设置多个归档路径

sql>showparameter log_archive;

发现已设置了log_archive_dest_1,故无需再设置log_archive_dest_2,如某用户认为需要进行冗余日志处理,将日志存储到多个物理磁盘,则可启用log_archive_dest_2,设置步骤可参考以下:

$su- root

$mkdir/oralog2/archive_log

$mkdir/oralog2/archive_log/log

$chownoracle:oinstall /oralog2/archive_log

$chownoracle:oinstall /oralog2/archive_log/log

$su- oracle

$sqlplus/ as sysdba;

sql>altersystem set log_archive_dest_2='location=/oralog2/archive_log/log';

注意:log_archive_dest_n可设置为远程服务器路径,此客户并无此需求,且本身oralog与oralog2在一个物理磁盘上,无此必要,故不进行此设置。

d) 设置归档文件文件名存放形式

sql>showparameter log_archive_format;

sql>altersystem set log_archive_format='ARC%S_%R.%T_%D.log' scope=spfile;

e) 重启数据库并开启归档模式

sql>shutdownimmediate;

sql>startupmount;

sql>alterdatabase archivelog;

sql>alterdatabase open;

sql>altersystem switch logfile;

检查/oralog/archive_log/log目录是否产生了新文件

$cd/oralog/archive_log/log

f) 再次关闭数据库并正常启动数据库

sql>shutdownimmediate;

sql>startup;

g) 检查各个参数是否生效

sql>archivelog list;

sql>showparameter log_archive_format;

sql>showparameter db_recover;

5.一并增加BARDBARX两个主要表空间的可用文件

充分利用/oradata的可用空间,但是留10%左右的空余空间,以给系统表、回滚段等空间等有足够的空间扩展。以下在pl/sql中进行。

a) 在原有磁盘oradata增加表空间文件

ALTER TABLESPACE BARD ADD DATAFILE'/oradata/oradata/orcl/bard09.dbf' SIZE 16384M;

ALTER TABLESPACE BARD ADD DATAFILE'/oradata/oradata/orcl/bard10.dbf' SIZE 16384M;

增加barx06文件

ALTER TABLESPACE BARX ADD DATAFILE'/oradata/oradata/orcl/barx06.dbf' SIZE 8192M;

注意:/oradata目录不宜再建立表空间,磁盘即将满掉

b) 在新磁盘上增加多个表空间

ALTER TABLESPACE BARD ADD DATAFILE '/oradata2/oradata/orcl/bard11.dbf'SIZE 16384M;

ALTER TABLESPACE BARD ADD DATAFILE '/oradata2/oradata/orcl/bard12.dbf'SIZE 16384M;

ALTER TABLESPACE BARD ADD DATAFILE '/oradata2/oradata/orcl/bard13.dbf'SIZE 16384M;

ALTER TABLESPACE BARD ADD DATAFILE '/oradata2/oradata/orcl/bard14.dbf'SIZE 16384M;

ALTER TABLESPACE BARD ADD DATAFILE '/oradata2/oradata/orcl/bard15.dbf'SIZE 16384M;

ALTER TABLESPACE BARD ADD DATAFILE '/oradata2/oradata/orcl/bard16.dbf'SIZE 16384M;

ALTER TABLESPACE BARX ADD DATAFILE '/oradata2/oradata/orcl/barx07.dbf'SIZE 16384M;

ALTER TABLESPACE BARX ADD DATAFILE '/oradata2/oradata/orcl/barx08.dbf'SIZE 16384M;

ALTER TABLESPACE BARX ADD DATAFILE '/oradata2/oradata/orcl/barx09.dbf'SIZE 16384M;

c) 修改oradata上的表空间为不可自动增长,当前文件太大不利有后续维护

alter database datafile'/oradata/oradata/orcl/bard05.dbf' autoextend off;

alter database datafile'/oradata/oradata/orcl/bard06.dbf' autoextend off;

alter database datafile'/oradata/oradata/orcl/bard07.dbf' autoextend off;

alter database datafile'/oradata/oradata/orcl/barx03.dbf' autoextend off;

alter database datafile'/oradata/oradata/orcl/barx04.dbf' autoextend off;

d) 将新增的最后一个表空间文件设置为可自动增长,避免长期无人维护时满掉

alter database datafile '/oradata2/oradata/orcl/bard16.dbf' autoextend on;

alter database datafile '/oradata2/oradata/orcl/barx09.dbf' autoextend on;

猜你在找的Oracle相关文章