今天客户有需要,对AIX小机中的一套oracle RAC数据库迁移到另一套AIX 的oracle RAC数据库下,但是两套小机都没有额外的空间来存储备份数据,这时就想到了NFS,可是以前只有linux的NFS使用经验,怎么办呢~~~在网上随便找了个文章看了下,感觉和linux下的方式差不多。
搭建linux NFS服务器
安装nfs包
rpm -ivh nfs-util
rpm -ivh nfs-util-lib
修改exports配置文件
vi /etc/exports
/mnt/ntfs 192.98.100.0/24(rw,sync,no_root_squash)
启动NFS服务
service nfs restart
客户端挂载
开始直接使用的没有参数的挂载方式
mount xxx.xx.xx.xxx:/expbak /expbak
当在执行EXPDP的时候会报错,提示权限不足或者其他什么错误的
后来使用metlink账号,看到有同僚遇到过类似问题,随后复制mount参数重新挂载
mount -F nfs -o
rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,forcedirectio,vers=3,suid
xxx.x.x.x:/expbak /expbak
以下是挂载RAC和非RAC的参数
For RAC:
rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,noac,forcedirectio,
vers=3,suid
and non-RAC: rw,bg,hard,rsize=32768,wsize=32768,vers=3,[forcedirectio or
llock],nointr,proto=tcp,suid
~> mount -o
rw,bg,hard,rsize=32768,wsize=32768,vers=3,forcedirectio,nointr,proto=tcp,suid
创建导出的目录
在mount的目录下使用oracle用户创建EXPDP导出的目录
su - oracle
mkdir -p /expbak/expbak
在linux服务端也要创建oracle与相应的组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
oracle用户执行EXPDP导出
创建系统目录
mkdir -p /expbak/expbak
数据库创建导出目录
create or replace directory ORADUMP as '/expbak/expbak';
数据库删除目录
drop directory oradump;
查看创建的目录
select * from dba_directories;
授权给用户
grant read,write on directory ORADUMP to system;
后台执行导出的命令
nohup expdp system/xxx schemas=xxx,xxx directory=ORADUMP dumpfile=xxx.dmp
logfile=xxx.log cluster=no EXCLUDE=TABLE:\"IN\(\'tt\'\)\" compression=all parallel=4 &