Oracle 11G 数据库迁移手册
- 格式:docx
- 大小:208.73 KB
- 文档页数:3
Oracle11g数据迁到Oracle10g(expdp和impdp)由于客户要求,要把一个Oracle11g数据库迁移到一个Oracle10g ,由于deferred_segment_creation参数建库之初没有设置为false,并且目前存在空表,所以还是使用expdp和impdp。
1、expdp和rman相像的地方时都是在主机端(目标数据库端)生成dmp文件所以文件夹和权限等都在主机端设置。
2、由于是从11g迁移到10g,所以expdp增加了一个参数 version在需要迁移的目标数据库端执行 select * from v$version; 就知道version的值了,不然会报错。
【报错内容ORA-39001: invalid argument valueORA-39000: bad dump file specificationORA-39142: incompatible version number】expdp opsteel/opsteel dumpfile=20150923.dmp logfil e=exp20150923.logdirectory=expdp_dir schemas=opsteel version=10.2.0.1.03、impdp和 ORA-39125这个错误出现在10.2.0.4之前的版本,需要加参数exclude=statistics就可以10.2.0.4是否不需要加,忘了测试了,明天测试一把,看metalink 10.2.0.4已经修订了这个BUG【报错内容ORA-39125: KUPW$WORKER.PUT_DDLS[DBMS_METADATA.CONVERT]调用出错ORA-06502:LPX-00210:】最终的impdp的语法impdp opsteel/opsteel dumpfile=20150923.dmp logfil e=imp20150923.logDIRECTORY=impdp_dir SCHEMAS=opsteel version=10.2.0.1.0 exclude=statistics。
一次Oracle11g数据库导入Oracle10g数据库操作笔记注:导入和导出的用户名一定要一致(sybj)一、在11g服务器上,用expdp命令备份数据。
用cmd打开,dos命令输入以下:EXPDP USERID='SYS/cuc2009@cuc as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=dag.dmp logfile=dag.log version=10.2.0.1.0其中,红色文字部分是根据需要改写的地方。
例如我的sys密码是cuc2009,数据库sid是cuc,要到出的用户名是sybj,要导入到10.2.0.1.0版本的Oracle数据库中去。
aa.dmp和aa.log将会在11g的dpdump目录中生成,例如我的11g装在了E盘下面,于是aa.dmp 将会在E:/app/Administrator/admin/cuc/dpdump目录下被生成。
二、在10g服务器上,使用impdp命令恢复数据步骤:(1.建库2.建表空间3.建用户并授权)(1-3可以不按下面走单,要建立一个登陆名与导出一致就可以了)4.将dag.dmp拷贝到10g的dpdump目录下5.impdp导入数据库1、建库:是在database configuration assistant 中直接新建一个数据库(实例)。
2、建表空间:create tablespace sybj datafile'D:\oracle\product\10.2.0\oradata\orcl\oa.dbf' size 400m autoextend on next 20m online;3、建用户:create user sybj identified by sybj;授权:Alter user sybj default tablespace sybj quota unlimited on sybj;grant create session to sybj;grant connect to sybj;grant connect, resource, dba to sybj;grant create table to sybj;grant create view to sybj;grant create trigger to sybj;grant select any table to sybj;grant create sequence to sybj;grant create procedure to sybj;grant create role to sybj;grant create type to sybj;grant GRANT ANY PRIVILEGE to sybj;4、导入:首先测试机中10g装在了D:/根目录下,于是将dag.dmp文件copy到了D:\oracle\product\10.2.0\admin\daggis\udump目录下。
oracleg数据库导入导出方法教程Oracle 11g 是一种关系型数据库管理系统,它具有很多强大的功能,包括数据导入和导出。
在本教程中,我们将介绍 Oracle 11g 数据库的导入和导出方法。
导出数据的方法有两种,一种是使用 exp 工具,另一种是使用expdp 工具。
exp 工具是在 Oracle 11g 之前版本中使用的,而 expdp工具是在 Oracle 11g 之后版本中引入的。
在这个教程中,我们将使用expdp 工具来导出数据。
导出数据的步骤如下:1. 打开终端或命令提示符,并登录到您的 Oracle 数据库。
2.使用以下命令导出整个数据库:```sql```其中,username 是数据库用户名,password 是密码,connect_string 是连接字符串,directory_name 是要导出数据的目录名称,dumpfile_name 是要导出数据的文件名称。
例如,如果要导出一个用户的数据,可以使用以下命令:```sql```这将导出 hr 用户的数据到 datapump 目录,并生成一个 hr.dmp 文件。
3.数据导出完成后,您可以在指定目录下找到生成的导出文件。
导入数据的方法也有两种,一种是使用 imp 工具,另一种是使用impdp 工具。
在这个教程中,我们将使用 impdp 工具来导入数据。
导入数据的步骤如下:1. 打开终端或命令提示符,并登录到您的 Oracle 数据库。
2.使用以下命令导入数据:```sql```其中,username 是数据库用户名,password 是密码,connect_string 是连接字符串,directory_name 是导入数据的目录名称,dumpfile_name 是要导入的数据文件的名称。
例如,如果要导入一个用户的数据,可以使用以下命令:```sql```这将导入 hr 用户的数据,该数据文件位于 datapump 目录下的hr.dmp 文件。
Oracle 数据迁移方案1. 简介随着业务的发展和系统的升级,数据迁移已经成为一个不可避免的任务。
在Oracle 数据库中,数据迁移主要包括迁移数据表、迁移数据对象以及导出和导入数据等方面。
本文将介绍一些常用的 Oracle 数据迁移方案。
2. 数据表迁移2.1 导出数据表Oracle 数据表的导出可通过使用expdp命令来实现。
该命令可以将指定的数据表导出为二进制格式的文件,以供后续导入使用。
以下是导出数据表的步骤:1.打开终端或命令行窗口,登录到数据库。
2.运行以下命令导出数据表:expdp username/password@connect_string tables=table1,table2 directory=datapump_dir dumpfile=tables.dmp logfile=tables.log–username/password:登录数据库的用户名和密码。
–connect_string:数据库连接字符串。
–tables:要导出的数据表名称,多个表名之间用逗号分隔。
–directory:导出文件存储的目录。
–dumpfile:导出文件的名称。
–logfile:导出日志文件的名称。
2.2 导入数据表使用impdp命令可以将之前导出的数据表文件导入到目标数据库中。
以下是导入数据表的步骤:1.打开终端或命令行窗口,登录到目标数据库。
2.运行以下命令导入数据表:impdp username/password@connect_string directory=datapump_d ir dumpfile=tables.dmp logfile=import.log–username/password:登录目标数据库的用户名和密码。
–connect_string:目标数据库的连接字符串。
–directory:导出文件存储的目录。
–dumpfile:导出文件的名称。
–logfile:导入日志文件的名称。
oracle11g数据库导入导出方法教程oracle11g数据库导入导出:①:传统方式——exp(导出)和(imp)导入:②:数据泵方式——expdp导出和(impdp)导入;③:第三方工具——PL/sql Develpoer;一、什么是数据库导入导出?oracle11g数据库的导入/导出,就是我们通常所说的oracle数据的还原/备份。
数据库导入:把.dmp 格式文件从本地导入到数据库服务器中(本地oracle测试数据库中);数据库导出:把数据库服务器中的数据(本地oracle测试数据库中的数据),导出到本地生成.dmp格式文件。
.dmp 格式文件:就是oracle数据的文件格式(比如视频是.mp4 格式,音乐是.mp3 格式);二、二者优缺点描述:1.exp/imp:优点:代码书写简单易懂,从本地即可直接导入,不用在服务器中操作,降低难度,减少服务器上的操作也就保证了服务器上数据文件的安全性。
缺点:这种导入导出的速度相对较慢,合适数据库数据较少的时候。
如果文件超过几个G,大众性能的电脑,至少需要4~5个小时左右。
2.expdp/impdp:优点:导入导出速度相对较快,几个G的数据文件一般在1~2小时左右。
缺点:代码相对不易理解,要想实现导入导出的操作,必须在服务器上创建逻辑目录(不是真正的目录)。
我们都知道数据库服务器的重要性,所以在上面的操作必须慎重。
所以这种方式一般由专业的程序人员来完成(不一定是DBA(数据库管理员)来干,中小公司可能没有DBA)。
3.PL/sql Develpoer:优点:封装了导入导出命令,无需每次都手动输入命令。
方便快捷,提高效率。
缺点:长时间应用会对其产生依赖,降低对代码执行原理的理解。
三、特别强调:目标数据库:数据即将导入的数据库(一般是项目上正式数据库);源数据库:数据导出的数据库(一般是项目上的测试数据库);1.目标数据库要与源数据库有着名称相同的表空间。
在10g服务器的D盘创建文件夹'datadump'。
将从11g服务器导出的数据库文件orcl_1(his_dp).dmp放到该目录下。
①进入到命令提示符号开始”——“运行”——输入“CMD”回车②输入“sqlplus”回车③输入“system”回车④输入密码(密码输入时是不可见的,此密码是在安装oracle10G时设置的)"orcl"⑤现在已经登陆了oracle,输入“drop user @数据库方案名 cascade;”回车⑥输入“CREATE USER @数据库方案名 identified by @数据库方案密码;”回车⑦输入“Grant dba to @数据库方案名;”回车⑧输入“Create tablespace dzh_datadatafile 'D:\oracle\dzh_data01.dbf'size 3M reuse autoextend on next 5M maxsize 4096M;”回车创建表空间⑨输入“CREATE TEMPORARY TABLESPACE dzh_temptempfile 'D:\oracle\dzh_temp.dbf'size 2M reuse autoextend on next 5M maxsize 4096M;”回车创建临时表空间⑩输入“Alter user @数据库方案名 temporary tablespace dzh_temp;”回车指定数据库方案存放表空间输入“Alter user @数据库方案名 default tablespace dzh_data;”回车指定数据库方案临时表空间11 输入“create directory dumpdir as 'D:\datadump';”回车如果要删除 drop directory dumpdir;输入“grant read,write on directory dumpdir to @数据库方案名;”回车12 输入“exit”回车,退出sqlplus命令行。
一.准备工作1.确认字符集为保证数据一致,新旧数据库的字符集必须统一。
查询语句:select * from V$NLS_PARAMETERS where parameter in('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');MES 10g2.确认用户角色首先在10g数据库上查询当前用户的角色,之后在11g库中查询刚才的用户所拥有的角色在11g库中是否存在。
查询语句:select * from dba_role_privs where grantee IN ('MESPROD','LBLPROD');每个应用用户均需查询,如果发现有系统默认没有的用户自建角色,需要在11g库中新建该角色,角色创建语句可以在10g库中由plsql developer软件进行自动生成。
3.新建表空间在11g数据库中新建以下表空间:CREATE TABLESPACE "TS_MES_DAT" SIZE 1G maxsize unlimited;CREATE TABLESPACE "TS_HISTORY_DAT" SIZE 1G maxsize unlimited;CREATE TABLESPACE "TS_MES_IDX" SIZE 1G maxsize unlimited;CREATE TABLESPACE "TS_HISTORY_IDX" SIZE 1G maxsize unlimited;CREATE TABLESPACE "TS_LABEL_DAT" SIZE 1G maxsize unlimited;CREATE TABLESPACE "TS_LABEL_IDX" SIZE 1G maxsize unlimited;4.新建用户在11g数据库中新建以下用户:-- Create the usercreate user MESPROD identified by mesproddefault tablespace USERStemporary tablespace TEMPprofile DEFAULT;-- Grant/Revoke object privilegesgrant execute on SYS.DBMS_DEFER_IMPORT_INTERNAL to MESPROD;grant execute on SYS.DBMS_EXPORT_EXTENSION to MESPROD;-- Grant/Revoke role privilegesgrant connect to MESPROD;grant dba to MESPROD;grant mw_role_dba to MESPROD;grant resource to MESPROD;-- Grant/Revoke system privilegesgrant create any index to MESPROD;grant create any table to MESPROD;grant drop any table to MESPROD;grant unlimited tablespace to MESPROD;-- Create the usercreate user LBLPROD identified by lblproddefault tablespace USERStemporary tablespace TEMPprofile DEFAULT;-- Grant/Revoke role privilegesgrant connect to LBLPROD;grant dba to LBLPROD;grant mw_role_dba to LBLPROD;grant resource to LBLPROD;-- Grant/Revoke system privilegesgrant unlimited tablespace to LBLPROD;二.导出数据库导出语句:(耗时约1小时,如果在服务器上导出,需要修改路径)expmesprod/*************.10.100:1521/MESfull=yfile=e:\mesprod.dmplog=e:\mesprodlog owner=(MESPROD,LBLPROD)导出过程中,遇到的报错及解决方式:报错1:EXP-00008: ORACLE error 6550 encounteredORA-06550: line 1, column 18:PLS-00201: identifier 'SYS.DBMS_DEFER_IMPORT_INTERNAL' must be declared 解决方法:GRANT EXECUTE ON SYS.DBMS_DEFER_IMPORT_INTERNAL TO mesprod ;GRANT EXECUTE ON SYS.DBMS_DEFER_IMPORT_INTERNAL TO lblprod ;报错2:EXP-00008: ORACLE error 6510 encounteredORA-06510: PL/SQL: unhandled user-defined exceptionORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 50解决方法:GRANT EXECUTE ON SYS.DBMS_EXPORT_EXTENSION TO mesprod;GRANT EXECUTE ON SYS.DBMS_EXPORT_EXTENSION TO lblprod ;PS:导出过程中的exp00091的错误,通常修改nls_lang环境变量即可解决,可以直接忽略这个错误。
oracle11g使用手册1、首先安装Oracle11g,如下图所示:Oralce不支持中文路径及空格。
切忌。
记录好相关信息2、导出数据备份:Expdp 用户名/密码@连接串dumpfile=ora11g.dmp directory=服务器路径schemas=nc56并将dmp文件从服务器上取到本机3、使用PL/SQL软件,使用system用户登录,使用如下语句,创建nc56用户-- Create the usercreate user NC56identified by "nc56"default tablespace USERStemporary tablespace TEMPprofile DEFAULTpassword expire;-- Grant/Revoke role privilegesgrant dba to NC56;-- Grant/Revoke system privilegesgrant unlimited tablespace to NC56 with admin option;--创建表空间:执行脚本前先建立db 文件夹否则报错CREATE TABLESPACE "NNC_DATA03" LOGGING DATAFILE'd:\db\nc3.ora'SIZE500M ;CREATE TABLESPACE "NNC_DATA02" LOGGING DATAFILE'd:\db\nc2.ora'SIZE500M ;CREATE TABLESPACE "NNC_DATA01" LOGGING DATAFILE'd:\db\nc1.ora'SIZE500M ;CREATE TABLESPACE "NNC_INDEX01" LOGGING DATAFILE 'd:\db\I1.ora'SIZE500M ;CREATE TABLESPACE "NNC_INDEX02" LOGGING DATAFILE 'd:\db\I2.ora'SIZE500M ;CREATE TABLESPACE "NNC_INDEX03" LOGGING DATAFILE 'd:\db\I3.ora'SIZE500M ;alter database datafile'D:\db\I1.ora'autoextend on; alter database datafile'D:\db\I2.ora'autoextend on; alter database datafile'D:\db\I3.ora'autoextend on;alter database datafile'D:\db\nc1.ora'autoextend on; alterdatabase datafile'D:\db\nc2.ora'autoextend on; alter database datafile'D:\db\nc3.ora'autoextend on;第一次使用nc56登录时需要修改密码4、导入数据,注意:一定要把网线拔掉,否则很容易覆盖正式库数据impdp nc56/nc56@nc56 dumpfile=ora11g.dmp5.配置启动NC1)在NC_HOME\BIN 目录下运行ncSysConfig.bat,首先需要建立数据源。
oracle数据库转移教程Oracle数据库转移是指将一个数据库实例移动到另一个位置或环境中的过程。
这可能是因为服务器升级、数据库版本升级、数据中心迁移等原因。
本文将介绍Oracle数据库转移的详细步骤和注意事项。
1. 数据库备份在进行数据库转移之前,首先需要对数据库进行备份。
数据库备份的目的是防止数据丢失或损坏,在转移过程中可以作为恢复的依据。
2. 建立目标环境在目标环境中建立一个新的Oracle数据库实例。
这可以通过Oracle安装程序来实现。
确保目标环境中的数据库版本和原始数据库的版本相同或兼容。
3. 目标数据库配置在目标数据库中进行必要的配置,包括数据库字符集、数据库块大小、内存参数等。
这些参数应与原始数据库保持一致,以确保数据的一致性。
4. 数据文件复制将原始数据库的数据文件复制到目标数据库的合适位置。
数据文件通常位于ORACLE_HOME/dbs目录下。
可以使用操作系统的文件复制命令来完成此步骤。
5. 控制文件和参数文件将原始数据库的控制文件和参数文件复制到目标数据库。
控制文件通常位于ORACLE_HOME/dbs目录下,参数文件通常位于ORACLE_HOME/dbs目录或ORACLE_HOME/dbs/hostname目录下。
同样,可以使用操作系统的文件复制命令来完成此步骤。
6. 导出原始数据库使用Oracle的工具,如exp或expdp工具,对原始数据库进行数据导出。
导出工具将数据库中的数据导出为一个或多个文件。
确保将这些文件保存在安全位置,以便在需要时进行导入。
7. 导入目标数据库使用Oracle的工具,如imp或impdp工具,对目标数据库进行数据导入。
按照导入工具的指导,从第6步中的导出文件中导入数据。
导入工具将会创建表、索引、视图等数据库对象,并将数据填充到这些对象中。
8. 数据库链接和用户权限在目标数据库中,确保与原始数据库相同的数据库链接和用户权限。
这可以保证在转移后的系统中可以继续使用原来的应用程序。
Oracle 11g rac 存储迁移一新建DGselect GROUP_NUMBER,DISK_NUMBER,name,path,OS_MB from v$asm_disk;Export ORACLE_SID=+ASM1select group_number,name,pathfrom v$asm_disk;create diskgroup newdg external redundancy disk '';alter diskgroup newdg mount;二OCR迁移使用ocrcheck命令查询现在位置添加一个新的ocrocrconfig -add +newdgocrconfig -replace +DATA -replacement +newdg三迁移votedisk在两个节点停止crsCrsctl stop crs查询现在位置crsctl query css votedisk;添加三个votediskcrsctl add css votedisk ** -force删除旧的votediskcrsctl delete css votedisk **-force在两个节点启动crscrsctl start crs四迁移数据库两个节点停止数据库12SQL> shutdown immediate3Database closed.4Database dismounted.5ORACLE instance shut down.6SQL> startup mount7ORACLE instance started.使用RMAN迁移datafile查询现在位置select file#,name from v$datafile;复制数据文件RMAN> run{copy datafile 1 to '+DATADG/zhongwc/datafile/system.dbf';copy datafile 2 to '+DATADG/zhongwc/datafile/undotbs1.dbf';copy datafile 3 to '+DATADG/zhongwc/datafile/sysaux.dbf';copy datafile 4 to '+DATADG/zhongwc/datafile/users.dbf';copy datafile 5 to '+DATADG/zhongwc/datafile/example.dbf';copy datafile 6 to '+DATADG/zhongwc/datafile/undotbs2.dbf';}更改数据文件位置SQL> alter database rename file '+DATA/zhongwc/datafile/system.256.832285129' to '+DATADG/zhongwc/datafile/system.dbf';SQL> alter database rename file '+DATA/zhongwc/datafile/undotbs1.258.832285129' to '+DATADG/zhongwc/datafile/undotbs1.dbf';SQL> alter database rename file '+DATA/zhongwc/datafile/sysaux.257.832285129' to '+DATADG/zhongwc/datafile/sysaux.dbf';SQL> alter database rename file '+DATA/zhongwc/datafile/users.259.832285129' to '+DATADG/zhongwc/datafile/users.dbf';SQL> alter database rename file '+DATA/zhongwc/datafile/example.264.832285185' to '+DATADG/zhongwc/datafile/example.dbf';SQL> alter database rename file'+DATA/zhongwc/datafile/undotbs2.265.832285281' to'+DATADG/zhongwc/datafile/undotbs2.dbf';迁移tempfile查询现在位置select file#,name from v$tempfile;迁移run{set newname for tempfile 1 to '+newdg/tempfile/temp.dbf';switch tempfile all;}迁移logfile查询现在位置SQL> select a.member,a.group#,b.status,b.thread# from v$logfile a,v$log b where a.group#=b.group# order by 2;每个实例添加三个日志组alter database add logfile thread 1 group 5 '+NEWDG' size 500M;删除旧日志组alter database drop logfile group 1;迁移controlfile启动到mount状态SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startup nomountORACLE instance started.恢复控制文件RMAN> run{restore controlfile to '+NEWDG/zhongwc/controlfile/control01.ctl' from'+DATA/zhongwc/controlfile/current.260.832285171';}更改控制文件位置alter system set control_files='+DATADG/zhongwc/controlfile/control01.ctl' scope=spfile sid='*';修改db_create_file_dest,db_recovery_file_dest,db_create_online_log_dest_*,log_archive_dest_1参数SQL> alter system set db_create_file_dest='+NEWDG';SQL> alter system set db_recovery_file_dest='+NEWDG';SQL> alter system set log_archive_dest_1='location=+NEWDG';迁移spfile,修改ocr查询现在位置srvctl config database -dorcl -a迁移spfileSQL>create pfile from spfile;SQL>createspfile='+NEWDG'from pfile;修改spfile位置srvctl modify database -d orcl -p '+NEWDG/spfilezhongwc.ora'编辑$ORACLE_HOME/dbs/initorcl1文件加上spfile='+NEWDG/orcl/parameterfile/spfile.269.822759059' 删除旧的diskgroupSQL> alter diskgroup data dismount;SQL> drop diskgroup data;。
详细讲解Oracle数据库的数据迁移方法Oracle数据库的数据迁移可以使用多种方法,包括传统的物理备份和恢复,逻辑备份和恢复,以及逻辑复制。
下面将详细介绍这些方法。
1. 物理备份和恢复(Physical Backup and Recovery):物理备份和恢复是最常用的数据迁移方法之一、它基于数据库的物理结构,通过将数据文件、控制文件和日志文件等直接复制到目标数据库来完成数据迁移。
具体步骤如下:(1)在源数据库上执行全量备份,包括数据文件、控制文件和日志文件。
(2)将备份文件传输到目标数据库主机。
(3)在目标数据库上恢复备份文件。
物理备份和恢复的优点是速度快,适用于大规模数据迁移,但缺点是需要额外的存储空间以及停机时间。
2. 逻辑备份和恢复(Logical Backup and Recovery):逻辑备份和恢复是另一种常用的数据迁移方法,它基于逻辑结构,通过导出和导入数据来完成数据迁移。
具体步骤如下:(1) 在源数据库上执行逻辑备份,例如使用expdp命令将数据导出为数据泵文件。
(2)将数据泵文件传输到目标数据库主机。
(3) 在目标数据库上执行逻辑恢复,例如使用impdp命令将数据导入。
逻辑备份和恢复的优点是可以选择性地备份和恢复数据,不需要额外的存储空间,但缺点是速度较慢,适用于小规模数据迁移。
3. 逻辑复制(Logical Replication):逻辑复制是一种将源数据库的数据变更应用到目标数据库的方法,它可以实时地将数据更新传输到目标数据库。
具体步骤如下:(1) 在源数据库上启用逻辑复制功能,例如使用Oracle GoldenGate或Oracle Streams。
(2)配置源数据库和目标数据库之间的连接。
(3)在目标数据库上创建复制进程,用于接收源数据库发送的数据变更。
(4)启动复制进程,开始数据复制。
逻辑复制的优点是实时性好,可以减少停机时间,但缺点是配置和管理复杂,需要考虑数据一致性和传输性能等问题。
数据库更换存储迁移方案生产数据库环境数据库版本:Oracle 11g R2 RAC (11204)数据存储方式:共享存储,ASM管理ASM 组及名字: crsdg,datadg数据库实例名:zgdb1,zgdb2数据库数据量:100G操作系统版本:RedHat 5.8数据迁移实施步骤流程目前数据库的数据是存放在和其他业务共用的存储上,此次实施的目的是将数据迁移到新的存储上而不影响业务正常运行,迁移方案主要利用ASM 重平衡特性实现更换存储迁移数据,时间需要预计2天左右,大体迁移步骤就是如下几步操作:1.首先保证新存储和RAC当前节点间的可用性;2.将新存储划分LUN给2台数据库服务器,2台数据库服务器不替换,可以重新规划存储方案或者保持原存储方案,目前依照原存储规划方案;3.LUN磁盘映射给ORACLE集群,通过asmca或者asm命令行添加到ASM组中;4.迁移原OCR和votedisk表决盘到新ASM组;5.给现有ASM磁盘组添加ASM磁盘(新存储分配的),进行数据DATADG迁移,采用ASM重平衡的方式;6.删除原存储的ASM磁盘;7.检查系统、集群、数据库日志;新存储映射流程存储划分LUN映射1.存储和服务器之间连线;2.划分存储LUN,保证LUN数量及大小与之前旧存储划分一致;3.在数据库服务器安装多路径软件,保证2台服务链路一致;4.检查链路是否一致 powermt display dev=allLUN映射到ORACLE1.编辑/etc/udev/rules.d/50-udev.rules文件,添加新存储映射SUBSYSTEM=="block", KERNEL=="emcpowera", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerb", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerc", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerd", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowere", GROUP="asmadmin", OWNER="grid", MODE="0660"SUBSYSTEM=="block", KERNEL=="emcpowerf", GROUP="asmadmin", OWNER="grid", MODE="0660"2.启动udev_start,识别存储路径3.切到grid用户,使用ASMCA,添加新的ASM磁盘组数据库双重备份数据库迁移实施之前,先把当前数据进行备份,防止迁移异常之后,能够及时恢复数据,使用2种方式对数据库进行备份;方式一:rman备份数据1.开启数据库归档,启动到mount下,alter database archivelog2.备份参数文件c reate pfile=’/home/oracle/backup/init.ora’ from spfile;3.备份数据库export ORACLE_SID= zgdb1rman target / log='/tmp/rman_full.log' append <<EOFrun{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;backup as compressed backupset filesperset 6 databaseformat '/home/oracle/backup/full_%d_%T_%s_%p';backup current controlfile format '/home/oracle/backup/ctl_%d_%T_%s_%p';}EOF4.备份密码文件cp $ORACLE_HOME/dbs/initpwzgdb1 /home/oracle/backup/5.数据库还原startup pfile=’/home/oracle/backup/init.ora’nomount;restore controlfile from '/home/oracle/rman/ctl_ ';alter database mount;restore database;recover database;alter database open;方式二:数据泵方式进行数据库备份1.创建directory目录create directory backup as '/home/oracle/backup';2.授权导出用户权限grant read,write on directory backup to system;3.备份数据expdp system/oracle directory=backup dumpfile=zgdb.dmp logfile=expdp.log schemas=hsman exclude=statistics cluster=n parallel=8;4.恢复数据impdp system/oracle directory=backup dumpfile=zgdb.dmp logfile=impdp.log schemas=hsman cluster=n parallel=8ASM迁移详细步骤集群迁移实施步骤1.grid用户下,使用asmca添加新的ASM组ocrvoting,3个10G LUN,采用normal方式;2.grid用户下,添加votediskcrsctl query css votediskcrsctl replace votedisk ocrvotingcreate pfile='/home/grid/asmpfile.ora' from spfile;create spfile='+ocrvoting' from pfile='/home/grid/asmpfile.ora';3.root用户下迁移ocrocrcheckocrconfig -add +ocrvotingocrconfig -replace +vocrvoting -replacement +crsdgocrconfig -delete +crsdgsqlplus / as sysasmalter diskgroup crsdg dismount;drop diskgroup crsdg including contents;4.检查votedisk和ocr状态crsctl query css votediskocrcheck数据迁移实施步骤1.查看数据磁盘状态sqlplus / as sysdbacol GROUP_NUMBER format 99col state format a10col name format a15col path format a20col failgroup format a20set line 200select GROUP_NUMBER,DISK_NUMBER,STATE,REDUNDANCY,TOTAL_MB,FREE_MB,name,path,failgroup from v$asm_disk order by GROUP_NUMBER;2.迁移数据磁盘组数据(PATH),时间较长;SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER1' rebalance power 11;Diskgroup altered.SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER2' rebalance power 11;Diskgroup altered.SQL> alter diskgroup DATA add disk '/DEV/EMCPOWER3' rebalance power 11;Diskgroup altered.由于指定rebalance power 11,ASM会自动均衡ASM磁盘组DATA里面存放的数据在各ASM磁盘的分布。
Oracle_11g_EM导入数据库
导入
前提:新建用户、表空间
用normal 什么登陆
选择数据移动中从导出文件导入
第一次需要建立目录对象
目录名称随便起
路径: DMP数据文件所在目录点击确定保存
目录对象下拉框选择自己建的对象
文件名称输入目录对象所指向的DMP文件的名称导入类型选择方案
用户名和口令为计算机名称和密码
点击继续
等待
选择方案
下一步
下一步
取消日志文件点击下一步
下一步
提交
等待
点击名称
导入
等待完成
注:期间可能会报错,
错误信息:
ORA-20446: The owner of the job is not registered ORA-
06512: 在"SYSMAN.MGMT_JOBS", line 168 ORA-06512: 在"SYSMAN.MGMT_JOBS", line 86 ORA-06512: 在 line 1 解决方案:
CMD 下
sqlplus/nolog
conn
sysman
sa
execute MGMT_USER.MAKE_EM_USER('sa') 导出
选择方案:
选择方案:
选择方案
下一步
取消生成日志
选择目录对象输入导入DMP的文件名下一步
下一步
提交作业
点击名称
导出。
ORACLE 数据库在不同计算机上的迁移(克隆数据库)描述:一台联想台式机上安装了oracle11g,建立了自己的数据库,现在想在宿舍DELL笔记本电脑上克隆这个数据库。
1 在目标机器上安装数据库,密码一致数据库名字一致。
2 登陆sys as sysdba 这时数据库自动启动3 shutdown immediate 关闭数据库,startup nomount,这时系统释放掉控制文件和数据文件,就是在这时完成替换。
4 复制数据文件和redo文件到目标机相应目录下原先的文件全部删除(数据目录下)我的是在C:\app\Administrator\oradata\orcl\目录下5 重建控制文件,主要就是让数据库系统知道有哪些数据文件,文件路径(指定的文件都应该有存在,否则会报错,这就是4在前的原因)如果不重建,会报控制文件太旧的错误,所以重建控制文件时必须的;6set linesize 400;col file# for 99;col name for a100;col status for a20;select file#,name,status from v$datafile;///////SQL> set linesize 400;SQL> col file# for 99;SQL> col name for a100;SQL> col status for a20;SQL> select file#,name,status from v$datafile;FILE# NAME STATUS----- ---------------------------------------------------------------------------------------------------- -------------1 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF SYSTEM2 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF RECOVER3 D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF RECOVER4 D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF RECOVER5 D:\APP\ADMINISTRATOR\ORADATA\ORCL\MILKWAY_TBS_01 RECOVER6 D:\APP\ADMINISTRATOR\ORADATA\ORCL\MILKWAY_TBS_02 RECOVER找到文件编号7 SQL> recover datafile 1;SQL> recover datafile 2;.....最好把所有的数据文件都恢复一边,不管提示是否为RECOVER状态8 alter database open;搞定9 cmd 命令窗口下最好来一下set ORACLE_SID=orcl; 大小写敏感shutdown normal ;好不容易搞定,第一次关闭用normal ,慢点值得,免得丢失10 sys as sysdba 如果发现是连接到空闲进程,用startup open即可。
oracle 11g 数据库导入导出一、导入数据库1、新建一个表空间,表空间的名字、大小请根据具体项目进行调整。
--建立表空间sql语句create tablespace raxmdatafile 'E:\11g\oradata\orcl\raxm.dbf'size 2048mautoextend on next 32m maxsize 4096m2、新建一个用户,要注意选择默认的表空间、对角色权限、系统权限进行授权,如下图所示:3、将要导入的数据库文件拷到oracle 11 g安装目录下,我oracle 11g 的安装目录是:E:oracle11g\admin\orcl\dpdmp,我就将数据库文件拷到该目录下,并将要导入的数据库文件重命名为:expdat.dmp,这里一定要重命名为这个名字,因为第4步的导入数据库默认的路径就是E:oracle11g\admin\orcl\dpdmp,导入的数据库文件为expdat.dmp,操作如下图所示:4、打开控制台,输入impdp rays/1,这里的rays指的是你刚才建立的用户,1指的是该用户的密码。
5、为了安全起见,导入完成之后,去数据库验证下导入的数据库是否正确。
6、如果在导入数据库的过程中有出现问题,可以参考附录中的百度版oracle 11g 导入导出。
二、导出数据库导出数据库是导入数据库的逆过程,具体步骤如下:1、打开控制台,输入expdp raxm/1,其中expdp表示导出数据库,raxm 表示用户,1表示密码,如下图所示:2、控制台显示成功导出之后,可以在oracle 11 g安装目录下,我oracle 11g的安装目录是:E:oracle11g\admin\orcl\dpdmp,找到导出的数据库文件,如下图所示:3、接着你就可以根据项目的需要对导出来的数据库进行重命名。
4、如果在导出数据库的过程中有出现问题,可以参考附录中的百度版oracle 11g 导入导出。
客户的数据库采用expdp命令导出的,这是Oracle10g以后采用的新的导出方式,比exp 执行效率上有所提高。
下面说明如何做导入导出:
1、环境变量设置(在Sqlplus中执行)
create or replace directory <dir_name> as ‘c:\tmpdir’;
注:c:\tmpdir也可以是另外的随意目录,用单引号括起来
2、导出ARADMIN库
expdp <username>/<password>@<SID> directory=<dir_name> dumpfile=xxxxxx.dat
logfile=xxxx.log schemas=ARADMIN;
3、如果需要备份(通常不需要)CMDB WebService则导出AtriumAdmin库
expdp <username>/<password>@<SID> directory=<dir_name> dumpfile=xxxxxx.dat
logfile=xxxx.log schemas=ARADMIN;
4、导出成功后,把dat和log文件都拷贝到目标数据库服务器上,记住两个文件的放
置路径
5、目标库导入前操作
create or replace directory <dir_name_1> as ‘c:\tmpdir’;
注:此处的c:\tmpdir替换成两个文件的存放路径
Sqlplus登录目标库(一定要用管理员账号);
sqlplus <username>/<password>@<SID> as sysdba;
核对连接的库名:
show parameter name; 查看连接的是哪个SID;
select username from dba_users order by created;查看所有表空间命令的最后两行应该有ARADMIN和ATRIUMADMIN表空间名;
删除目标库里面原来的表空间(删之前停AR服务):drop user ARADMIN cascade;
未停服务时报错
停服务后成功
创建新的用户并赋权限:
CREATE USER "ARADMIN" IDENTIFIED BY ARAdmin default tablespace ARSYSTEM
temporary tablespace TEMP quota unlimited on ARSYSTEM;
Grant alter session,create cluster,create database link,create sequence,create session, create synonym,create table,create view,create procedure,create trigger,query rewrite to aradmin;
6、导入库命令
Impdp <username>/<password>@<SID> directory=<dir_name_1> dumpfile=xxxx.dat logfile=xxxx.log schemas=ARADMIN。