linux上部署rac集群和导出数据
一、linux导出数据:
1、创建导出目录并授权,此时这个目录并不存在,在sysdba的用户下
SQL> create directory dump_scott as '/home/oracle/dump/scott';
Directory created.
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ --------------------------------------------------
SYS DUMP_SCOTT /home/oracle/dump/scott
SQL> grant read,write on directory dump_scott to scott;
Grant succeeded.
2、建立导出目录,在linux的root用户下
[oracle@oradb /]$ mkdir /home/oracle/dump
[oracle@oradb /]$ mkdir /home/oracle/dump/scott
[oracle@oradb ~]$ expdp scott/tiger directory=dump_scott dumpfile=dumptab.dmp logfile=scott.log tables=dept,emp,这是以表模式导出方式
3、然后用winscp工具,把linux上的东西传输到windows上,前提是linux已经设置好ip
4、然后导入
1)、按表导入
p_street_area.dmp文件中的表,此文件是以gwm用户按schemas=gwm导出的:
impdp ld/ld_hfqnc@hfq dumpfile =EXPDP.DMP logfile=expdp.log directory=dir_dump tables=p_street_area job_name=my_job
2)、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
(1)此用户里有分区表:impdp sq/sq_hfqnc@hfq transform=segment_attributes:n dumpfile =sq.dmp logfile=sq.log directory=dir_dump
reuse_datafiles=y REMAP_SCHEMA=djksk:ld
(2)无分区表:impdp sq/sq_hfqnc@hfq dumpfile =sq.dmp logfile=sq.log directory=dir_dump
3)、不通过expdp的步骤生成dmp文件而直接导入的方法:
--从源数据库中向目标数据库导入表p_street_area
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_area.log job_name=my_job
igisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录
二、linux部署rac集群:
1、用putty连上linux系统,在linux的root用户下
1)、启动集群
su - root
cd /oracle/app/11.2.0/grid/bin
./crsctl start cluster -all
2)、查看集群状态
su - grid
crs_stat -t -v ---全部online为正常
3)停止集群:
su - grid
crsctl stop database -d hfqnc
su - root
cd /oracle/app/11.2.0/grid/bin
./crsctl stop cluster -all
最好是有一台机器连接到交换机上,然后远程这个交换机来操作linux,也能看到一些存储阵列的信息
2、启动完集群后,就要启动oracle实例,试一下不是在linux的root用户下就是在oracle的用户下,可能性比较多的是在oracle的用户下
srvctl start instance -d hfqnc -i hfqnc1
srvctl start instance -d hfqnc -i hfqnc2,有几个实例就启动几次
3、查看数据库的状态
srvctl config hfqnc,应该也是在oracle的用户下