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的用户下