Oracle利用数据泵迁移用户

一.利用数据泵将数据导出

1.1.确定字符集:

select * from v$nls_parameters;

select userenv(‘language‘) from dual;

1.2.设置客户端字符集(Windows)

set NLS_LANG = NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET

1.3.确定schema的对象所占用表空间

SQL> Select distinct segment_type,tablespace_name
SQL> From dba_segments
SQL> Where owner=‘NC2010‘;

SEGMENT_TYPE       TABLESPACE_NAME
------------------ ------------------------------
TABLE              NNC_DATA03
TABLE              NNC_DATA02
LOBSEGMENT         NNC_DATA01
INDEX              NNC_INDEX01
INDEX              NNC_DATA01
INDEX              NNC_INDEX02
TABLE              NNC_DATA01
LOBINDEX           NNC_DATA01
INDEX              NNC_INDEX03

9 rows selected.

SQL>

1.4 查看用户默认表空间

select username,default_tablespace from user_users;

1.5.用数据泵导出数据

--创建directory 并赋权
SQL> conn / as sysdba;
SQL> create directory backup as ‘e:\backup‘;
SQL> grant read,write on directory backup to NC60;
SQL> select * from dba_directories

--导出schema
[[email protected] ~]$ expdp nc60/nc60 DIRECTORY=backup DUMPFILE=tianlesoftware.dmp SCHEMAS=NC60 logfile=exp.log;

--注,如果源库与目的库oracle版本不同,导出时需指定version参数。

二.将dump文件导入RAC或单实例

2.1 确定字符集

select userenv(‘language‘) from dual;

2.2 设置客户端字符集(linux)

export NLS_LANG = NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET

2.3 检查RAC运行状态

2.4 创建相关用户和表空间

--查看数据文件
select file_name from dba_data_files;

--创建表空间(与1.3查询结果相同)
--SQL> create tablespace NNC_DATA01  datafile ‘+DATA/orcl/datafile/tianlesoftware.dbf‘ size 50m;
--SQL> create tablespace NNC_DATA02  datafile ‘+DATA/orcl/datafile/tianlesoftware.dbf‘ size 50m;
--SQL> create tablespace NNC_DATA03  datafile ‘+DATA/orcl/datafile/tianlesoftware.dbf‘ size 50m;

--SQL> create tablespace NNC_INDEX01 datafile ‘+DATA/orcl/datafile/tianlesoftware.dbf‘ size 50m;
--SQL> create tablespace NNC_INDEX02 datafile ‘+DATA/orcl/datafile/tianlesoftware.dbf‘ size 50m;
--SQL> create tablespace NNC_INDEX03 datafile ‘+DATA/orcl/datafile/tianlesoftware.dbf‘ size 50m;

--创建用户
SQL> create user NC60 identified by NC60 default tablespace NNC_DATA01 temporary tablespace temp;

--赋予权限
Grant resource,connect,dba to NC60;

2.5 创建导入directory

SQL> create directory backup as ‘/backup‘;

SQL> Grant read,write on directory backup to NC60;

2.6 导入数据

[[email protected] u01]$ export ORACLE_SID=orcl1

[[email protected] u01]$ impdp nc60/nc60 DIRECTORY=BACKUP DUMPFILE=NC60.dmp SCHEMAS=NC60 logfile=impdp.log;

注,如果源库与目的库oracle版本不同,导入时需指定version参数。

时间: 2024-11-05 18:56:14

Oracle利用数据泵迁移用户的相关文章

Oracle使用数据泵 (expdp/impdp)实施迁移

Oracle使用数据泵 (expdp/impdp)实施迁移 实验环境: 1.导出环境:RedHat6.4+Oracle 11.2.0.4.0,利用数据库自带的scott示例用户进行试验测试. Directory:wjq  à /tmp/seiang_wjq 2.导入环境:Centos7.1+Oracle 12.2.0.1.0   Oracle12c默认没有scott用户 Directory:imp_wjq  à /tmp/imp_comsys 一.导出数据: 特别注意:如果后续要导入的数据库版本

ORACLE使用数据泵定时执行备份

前言:随着多个系统的逐步上线,作为运维人员,数据库备份显得尤为重要,考虑到当前系统资源有限,数据库处于非归档模式,使用数据泵每天进行全备,网上备份脚本很多,本人也是参考网上一些脚本分享并根据现有环境适当修改. 原文参考链接:http://www.osyunwei.com/archives/5960.html 操作系统环境:AIX 7.1.0.0 数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Prod

Oracle之数据泵导入/导出数据

以前习惯用imp/exp导入导出数据,现在我们来搞一把数据泵导入导出的方法.它比之于imp/exp的方式的优点自不必说---速度快! 但是很不幸,我在导出数据的时候报错了,我擦,这特么就尴尬了.于是,神技乍现,康哥就擅长解决问题有木有?呀?乍一看这报错也是没谁了,完全看不懂啊!别害怕,遇到这样的报错就是文件问题,与文件相关的要么权限要么路径,这里是指数据库内部不存在这个文件,但是我在Oracle用户下面创建了啊.没用的,你要在数据库内部创建哦,记住是内部.来,我们操作一把. 来吧朋友,开始我们的

使用Oracle数据泵迁移数据库

一.准备目标数据库1.确保目标数据库的字符集 NLS_CHARACTERSET 和源数据库一致select * from nls_database_parameters2.创建要迁移数据库表空间select tablespace_name from dba_tablespacescreate tablespace BBGODB datafile '+DATA_VG' size 300m autoextend on3.创建相应的schemacreate user BBGO identified b

Oracle 12c利用数据泵DataPump进行Oracle数据库备份

1.查看数据库版本 SQL> select version from v$instance; VERSION ----------------- 12.1.0.2.0 2.sysdba用户登录sqlplus SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB

Oracle 用数据泵导入导出数据

oracle expdp导出数据 expdp username/[email protected] dumpfile=1.dmp 在数据库服务器的命令行中执行上面的命令,会在app\hisense_jtpt\admin\orcl\dpdump生成一个1.dmp文件 其中orcl是SID名称 oracle impdp导入数据 impdp newUser/[email protected] dumpfile=1.dmp remap_schema=oldUser:newUser

『ORACLE』 数据泵Data Pump中expdp导出(11g)

[[email protected] ~]$ mkdir datadump[[email protected] ~]$ cd datadump/[[email protected] datadump]$ pwd/home/oracle/datadump SQL> create or replace directory dir_dp as '/home/oracle/datadump'; Directory created. SQL> grant read,write on directory

数据库使用数据泵迁移遇到LOB字段

impdp system/Clic1234 attach=SYS_IMPORT_ILEARN_TRA desc ILEARN_TRA.NOTIFI_TACTIC desc ILEARN_TRA.MSG_MAILdesc ILEARN_TRA.NT_HISTORYdesc ILEARN_TRA.ATTEMPTdesc ILEARN_TRA.NOTIFI_TACTICdesc ILEARN_TRA.USER_INIT_EXAM while truedoora tsfreesleep 600done;

ORACLE使用数据泵导入导出部分表

1.导出名字为A的表(这里会导出SEQUENCES及FUNCTION等内容) expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY=db_bak EXCLUDE=TABLE:\"NOT IN\(\'A\')\" 2.导出名字不为A的表(去掉NOT与我们习惯的正好相反) expdp TEST/TEST@orcl schemas=TEST dumpfile=TEST.dmp DIRECTORY=db_bak EXCLUD