zoukankan      html  css  js  c++  java
  • exp迁移测试库10.2.0.5

    目的:

    将一套10.2.0.5的UP-UNIX系统的数据,迁移到一台Windows环境下。

    迁移方案:由于不同的操作系统,为了方便迁移,只是测试,使用EXP/IMP方式。

    迁移流程:

    一.源端导出

    1)确定数据库大小

    SQL>select round(sum(bytes)/1024/1024/1024,2) from dba_segments;

    2)确定数据库版本,及字符集

    SQL>select * from nls_database_parameters;

    NLS_CHARACTERSET               US7ASCII            数据库字符集

    NLS_NCHAR_CHARACTERSET  AL16UTF16          国家字符集

    NLS_RDBMS_VERSION             10.2.0.4.0             数据库版本

    3)迁移的用户数量

    SQL> select 'create user '||a.username||' identified by values '''||b.password||''';' from dba_users a,user$ b where

    b.name=a.username and a.username not like '%SYS%' and a.account_status='OPEN';

    4)数据导出

    $imp system/oracle file=/u01/dump/exp_full_20190325.dmp log=/u01/dump/exp_full_20190325.log full=y

    5)  Dump文件传输

    选择二进制方式,使用ftp传输不要选择默认方式,否则默认转换后dump文件损坏

    · ascii -   设置文件传输类型为ASCII,默认类型

    · binary -   设置文件传输类型为binary(二进制传输) 

    ftp> binary         --传输前进行修改传输类型,选择binary方式

    200 Switching to Binary mode.

    传输后,通过ls -lrt 等方式对比字节数量,确认无误.

    IMP-00010 During Import using a Transferred File (文档 ID 157954.1)

    CHANGES
    Copied export dump file from Windows to Solaris.
    CAUSE
    Export file was copied/transferred as ASCII file instead of binary.
    SOLUTION
    Copy/Transfer the export dump file as binary not ASCII.

    二、目标端导入前准备

    1)数据库版本与源端一致。

    2)创建永久、临时表空间

    select tablespace_name,sum(bytes)/1024/1024/1024 g,sum(maxbytes)/1024/1024/1024 maxg from dba_data_files group by tablespace_name;
    select tablespace_name,sum(bytes)/1024/1024/1024 g,sum(maxbytes)/1024/1024/1024 maxg from dba_temp_files group by tablespace_name;

    3)迁移用户

    3.1备份
    新库,导入前,备份系统用户名称:
    select username from dba_users;
    3.2创建批量删除用户脚本:{导入不成功,使用脚本进行回退操作}
    select 'drop user '||username||' cascade;' from dba_users where username not in('A','B');

    3.2创建用户{源端查询后,将文本拷贝编辑,目标端执行即可}
    SQL> select 'create user '||a.username||' identified by values '''||b.password||''';' from dba_users a,user$ b where

    b.name=a.username and a.username not like '%SYS%' and a.account_status='OPEN';

    对用户修改默认表空间
    SQL> select 'alter user '||username||' default tablespace '||DEFAULT_TABLESPACE||';' from dba_users where ACCOUNT_STATUS='OPEN' and username not like '%SYS%';

    4)用户授权【备选方案,实际操作中imp导入自动进行】
    源端TEST4需要检查是否存在非默认角色
    SQL> select 'grant '||GRANTED_ROLE||' TO '||GRANTEE||';' FROM DBA_ROLE_PRIVS;
    SQL> select 'grant '||PRIVILEGE||' to '||GRANTEE||';' from dba_sys_privs;

    5)参数修改

    5.1.参数值备份
    show parameter workarea_size_policy
    show parameter sort_area_size
    show parameter db_file_multiblock_read_count
    show parameter "_sort_multiblock_read_count"

    5.2.参数修改
    alter system set workarea_size_policy = manual;
    alter system set sort_area_size=1024000000 scope=spfile;
    alter system set db_file_multiblock_read_count= 128;
     

    6).导入操作
    imp user/pwd  file=/u01/dump/exp_full_20190325.dmp log=/u01/dump/imp_full_20190325.log full=y

    commit=y feedback=10000 buffer=10240000 ignore=y

    7)数据对比

    SQL> select object_type,count(*) from dba_objects group by object_type order by 2;

    SQL> select object_type,count(*) from dba_objects where owner='SYS' group by object_type order by 2;

    SQL>select round(sum(bytes)/1024/1024/1024,2) from dba_segments;

    SQL> select tablespace_name,count(*) from dba_segments group by tablespace_name;

    SQL> select SEGMENT_TYPE,count(*) from dba_segments where tablespace_name='USERS' group by SEGMENT_TYPE;

    7)参数回退

    SQL>  alter system set workarea_size_policy =AUTO;
    SQL> alter system set sort_area_size=65536 scope=spfile;
    SQL> alter system set db_file_multiblock_read_count= 16;

    8)失效对象重新编译

    编译失效对象:
    SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql

  • 相关阅读:
    Linq增删查改
    AspNetPager 分页显示
    简单C#数据库操作类
    SQL重复记录处理(查找,过滤,删除)
    Asp.Net配置Web.config连接数据库SqlServer
    转:Asp.Net网站项目发布到IIS后验证码不能显示的问题解决
    将一行含有日期范围的数据按照单日日期拆分
    asp.net过滤HTML标签的几个函数
    循环批量更新的的存储过程(属于转载)
    CheckBox的CheckedChanged事件获取所在GridView中的Cell值
  • 原文地址:https://www.cnblogs.com/lvcha001/p/10592458.html
Copyright © 2011-2022 走看看