0


Oracle数据库迁移

本文章为本人工作中遇到的问题记录,如果有问题欢迎讨论改正

一、检查数据库服务器参数、表空间、数据库用户名、实例名、账号、密码等信息

二、导出数据:

    使用exp命令:

            1:directory:dump文件导出的文件位置,可以预先在数据库中创建出来

            2:schemas:根据数据库用户导出数据,schemas为用户名

            3:parallel:并行数,由于数据量大的情况下导出数据比较慢,所以需要进行并行导出,具体并行数根据服务器情况而定,推荐8

            4:cluster:并行导出情况下,推荐为no,若为y,由于目录未共享情况,会出现问题

            5:compression:压缩,可以在导出的同时对dump文件进行压缩,但并不会提升导出速度

            6:开并行导出dumpfile写法才加_%U
expdp user/passwd directory='注释1' dumpfile=file_%U.dmp logfile=exp.log schemas='注释2' parallel=8 cluster=no compression=y

三、导入数据

    使用imp命令:

            1:directory为dump文件存放位置,可预先在新数据库中创建完成

            2:导出时开并行,导入时需保持一致,dumpfile与导出时写法一致 

            3:remap_schema=old:new为当新老数据库的实例发生改变时,进行转换

            4:parallel并行数需与导出时一致
impdp user/passwd directory='注释1' dumpfile=file_%U.dmp logfile=imp.log remap_schema=old:new parallel=8 cluster=no

数据库查询知识:

1.查询directory:

select * from dba_directories;

2.创建directory并附权:directory_name自己取名字,username为数据库用户

create directory directory_name as '/home/示例';
grant read,write on directory directory_name to username;

3.导入后如果要清空数据库用户下所有内容并重新创建新的用户,进行如下操作(谨慎操作)

    ①.删除用户
drop user username cascade;
    ②.创建用户、设置密码、设置表空间
create user username identified by passed default tablespace tablespace_name;
    ③.给用户附权
grant resource,connect to username;
    ④.quota为限制用户对表空间的使用,可以设置为unlimited
alter user username quota unlimited on tablespace_name;
    ⑤.给用户赋予directory的读写权限
grant read,write on directory_name to username;
    ⑥.给用户赋予对应创建视图、索引、同义词表的权限
grant create synonym to username;
grant create view to username;

4.查询当前数据库多少进程占用,删除用户前需要将所有进程关闭

select  SID,SERIAL#,MACHINE,PROGRAM from V$session;

5.查询数据库表空间

select * from dba_tablespaces;

6.查询数据库用户

select * from dba_users;

7.重启数据库

登录dba用户:shutdown immediate;
登录dba用户:startup;

本文转载自: https://blog.csdn.net/kiss_mans/article/details/126925102
版权归原作者 一条胖胖龙 所有, 如有侵权,请联系我们删除。

“Oracle数据库迁移”的评论:

还没有评论