oracle数据库的迁移(包括创建表空间、用户以及赋予用户功能、导出数据库、导入数据库)

一、导出被迁移数据库的dmp文件

  1. 导出数据库
    打开cmd,输出下列命令(此处以导出本地数据库为例,如果需要导出公司数据库,可以挂,修改ip即可)
    exp 账户/密码@localhost/orcl file=F:/oracle/data.dmp owner=(账户)
  2. 注意点
    有的时候我们导出数据库的话会存在无法导出空表的情况,这时候我们需要先对数据库空表进行处理。
    2.1搜索存在哪空表
    select ‘alter table ‘||table_name||’ allocate extent;’ from user_tables where num_rows=0 or num_rows is null;
    2.2对这些空表进行处理
    alter table R_WORK_ORDER allocate extent;

二、创建表空间和用户,赋予功能(与被迁移数据库保持一致)

  1. 创建表空间
    create tablespace 表空间
    ----如果命名错了可以修改表空间,修改命令如下:
    alter tablespace 原空间名 rename to 新空间名

  2. 表空间存放位置
    logging
    ----根据select * from dba_data_files查询其他表空间存放位置
    datafile ‘/data1/oracle/oradata/orcl/表空间.dbf’
    size 100m
    autoextend on
    next 50m
    extent management local;

  3. 创建用户
    create user 账户 identified by 密码 default tablespace 表空间
    ----创建完用select * from dba_users;查看用户是否创建成功

  4. 赋予功能
    grant connect,resource,dba to 用户

三、导入数据库
打开新数据库所在的电脑的cmd,直接输入:
imp 账户/密码@localhost/orcl file=“F:\oracle\data.dmp” full=y
(如果想在本电脑上为公司服务器导入数据库,同理挂,修改ip即可)

四、删除本地数据库对应的数据
一个项目在数据库对应的东西基本是就是“用户”和“表空间”。

  1. 搜索和删除表空间
    select * from dba_data_files
    drop tablespace 表空间
  2. 删除用户
    drop user 用户 cascade;
    有的时候可能会提示用户还在连接,这时候应该要先杀死session才行,操作如下:
    select username,sid,serial# from v$session where username = ‘HYDROPOWER_JIANGXI’;
    alter system kill session ‘5,966’;

有不足的欢迎大家来讨论!!!

你可能感兴趣的:(oracle数据库的迁移(包括创建表空间、用户以及赋予用户功能、导出数据库、导入数据库))