恢复一个300G的oracle数据库

来源:互联网 发布:国外高匿代理ip和端口 编辑:程序博客网 时间:2024/05/17 02:01
最近公司有个项目需要恢复一下一个300G的数据库准备工作:使用Virtual box 创建一个windos 2003 的服务器 上面安装了oracle11g
1.首先需要查看创建virtual box的vdi的大小默认400G,300G备份文件至少需要1T的空间需要修改vdi的空间大小我进入了Oracle VM VirtualBox安装目录:D:\Program Files\Oracle\VirtualBox,VBoxManage list hdds,回车,查看需要扩容的虚拟硬盘的UUID,输入命令:VBoxManage modifyhd be05c3ee-3f64-4564-a3e5-7a00bfc4e233 --resize 102400,102400代表要把虚拟硬盘改成多少M。注意,在调整硬盘之前,一定要先关闭该虚拟机,要扩容的虚拟硬盘在以前创建时应该是动态增长的VBoxManage modifyhd 4264aafa-a33c-4d25-9a97-f3ca24e8f72b --resize 2048576
2.出现了字符集问题,原因在于我们的vdi里的oralcle字符集为 select userenv('language') from dual;   simplified chinese_china.al32utf8 应该设置成为 MERICAN _ AMERICA. ZHS16GBKORA-12899: value too large for column"JRGAZX"."DTLMB"."CC" (actual: 66,maximum: 50)初步断定是字符集问题,中文在UTF-8里占3个字节,ZHS16GBK里占2个字节,而源dmp文件字符集是ZHS16GBK的库到出来的,现在要导入到目标字符集为UFT-8的库里。修改数据库字符集为:ZHS16GBK修改:sqlplus /nologSQL>conn / as sysdba;SQL>SHUTDOWN IMMEDIATE;SQL>STARTUP MOUNT;SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;SQL>ALTER DATABASE OPEN;SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;ALTER DATABASE CHARACTER SET ZHS16GBK*ERROR at line 1:ORA-12712: new character set must be a superset ofold character set报字符集不兼容,此时下INTERNAL_USE指令不对字符集超集进行检查:可以执行下一步  跳转错误操作SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;SQL>SHUTDOWN IMMEDIATESQL>STARTUP再次用imp导入,就没有问题了。
数据泵导入数据步骤:cmd 登录  sqlplus / as sysdba1. 创建表空间CREATE TABLESPACE NNC_DATA01 DATAFILE 'C:\oraapp\oradata\orcl\nnc_data01.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;CREATE TABLESPACE NNC_INDEX01 DATAFILE 'C:\oraapp\oradata\orcl\nnc_index01.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;CREATE TABLESPACE NNC_DATA02 DATAFILE 'C:\oraapp\oradata\orcl\nnc_data02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;CREATE TABLESPACE NNC_INDEX02 DATAFILE 'C:\oraapp\oradata\orcl\nnc_index02.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;CREATE TABLESPACE NNC_DATA03 DATAFILE 'C:\oraapp\oradata\orcl\nnc_data03.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;CREATE TABLESPACE NNC_INDEX03 DATAFILE 'C:\oraapp\oradata\orcl\nnc_index03.dbf' SIZE 300M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;2. 创建用户CREATE USER HCM IDENTIFIED BY HCM DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;GRANT connect, dba to HCM;3. 创建目录 并赋权限Create directory ncdir1 as 'C:\Temp';Grant read,write on directory ncdir1 to HCM;4. 导入,并修改用户密码impdp HCM/HCM DIRECTORY=ncdir1 DUMPFILE=CTGHR20160711PATCH.DMP  FULL=y;alter user WATERNCDB identified by 1;指定用户映射导入可能不需要修改密码impdp HCM/HCM@orcl directory=ncdir1 dumpfile=CTGHR201608031628.DMP  REMAP_SCHEMA=CTGHR:HCM


1 0