赞
踩
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yby774529038/article/details/90046162
数据库迁移及注意事项
--1.新建或修改备份地址变量
CREATE OR REPLACE DIRECTORY EXPDPDUMP AS 'C:\expdpdump2';
--2.在备份机上创建还原的用户的表空间(两个)
CREATE TABLESPACE ZMDZ_NC63_DATA01 --表空间名称
DATAFILE 'C:\TABLESPACE\ZMDZ_NC63_DATA01.dbf' --表空间文件路径及名称
SIZE 1000m --初始大小
AUTOEXTEND ON --自动扩容
NEXT 500m --每次扩容大小
;
CREATE TABLESPACE ZMDZ_NC63_INDEX01 --表空间名称
DATAFILE 'C:\TABLESPACE\ZMDZ_NC63_INDEX01.dbf' --表空间文件路径及名称
SIZE 500m --初始大小
AUTOEXTEND ON --自动扩容
NEXT 100m --每次扩容大小
;
--3.在备份机上创建用户
CREATE USER ZMDZ_NC63--用户名
IDENTIFIED BY 123456 --密码
DEFAULT TABLESPACE ZMDZ_NC63_DATA01 --默认表空间
TEMPORARY TABLESPACE temp --临时表空间
;
--4.给用户授权
GRANT dba TO ZMDZ_NC63;
--5.导入数据(在CMD命令中执行)
impdp ZMDZ_NC63/123456@orcl directory=EXPDPDUMP dumpfile=20190405EXP65.DMP remap_schema=zmdnc6:ZMDZ_NC63
说明:
--表空间满了的解决方法
alter tablespace ZMDZ_NC63_DATA01 add datafile 'C:\tablespace\ZMDZ_NC63_DATA02.dbf' SIZE 500M autoextend on ;
————————————————
版权声明:本文为CSDN博主「yby774529038」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yby774529038/article/details/90046162
导出用户对象:
1、plsql登录到数据库
2、查询当前用户的默认表空间(以DEMO1账户为例)
用DEMO1用户登陆plsql,在上图的窗口里的Users的分支下找到当前的用户名DEMO1,再点view,在右边的Default tablespace就可以查看该用户的默认表空间(TBS_DEMO1)。
3、导出DEMO1用户的所有用户对象(表结构):
在DEMO1用户下,点击tools,Export User Objects,在右侧弹出的窗口按如上设置进行设置,重点是Single file,然后在Output file选择路径,再点击export导出用户对象文件(文件为sql格式)。
注意:这个导出完成后可能没有什么成功或者完成一类的提示,只需要看到下条的进度条已经走完。再看一下生成出来的log文件最后有spoo off就说明导完了。
导出表数据:
在右侧窗口全选所有表对象,再点击下方的Output file选择输出路径,再点击Export生成数据文件(文件格式为dmp格式)
在新的数据库服务器用sys账号登陆sql
1、新建用户表空间(表空间的名字要和导出的一致,这里以TBS_DEMO1为例)
create tablespace TMS_DEMO1 datafile 'D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF' size 10g
autoextend on next 1g maxsize unlimited
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
表空间是oracle独有的,可以想象为一个存放数据库的一个盒子,需要指定该大小(本例为10g),以及实体文件的路径xx.DBF自定义(本例为D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF),所有数据表都会放在表空间。(如果想知道当前实例里别的表空间路径都在哪,可以用select * from dba_data_files 查询)
2、新建一个用户,并指定其默认表空间(用户名需要和之前导出时的用户名一致,这里以DEMO1为例。)
CREATE USER DEMO1 IDENTIFIED BY DEMO1123
DEFAULT TABLESPACE TBS_DEMO1
TEMPORARY TABLESPACE TEMP;
新建用户DEMO1,密码DEMO1123,默认表空间 TBS_DEMO1,默认临时表空间TEMP.
3、授予用户DBA权限(有时间可能上述的权限无法导入用户对象以及用户数据,所以最好用grant dba to DEMO1;授予它dba权限,在导完了用户对象后,再用revoke dba from DEMO1;回收dba权限。)
授于用户的基本权利
grant
connect,
ALTER SESSION,
CREATE ANY JOB,
CREATE ANY TABLE,
CREATE ANY VIEW,
CREATE CLUSTER,
CREATE DATABASE LINK,
CREATE INDEXTYPE,
CREATE JOB,
CREATE OPERATOR,
CREATE PROCEDURE,
CREATE SEQUENCE,
CREATE SESSION,
CREATE SYNONYM,
CREATE TABLE,
CREATE TRIGGER,
CREATE TYPE,
CREATE VIEW,
DEBUG ANY PROCEDURE,
DEBUG CONNECT SESSION,
EXECUTE ANY PROCEDURE,
INSERT ANY TABLE,
MANAGE SCHEDULER,
SELECT ANY DICTIONARY,
SELECT ANY TABLE,
UNDER ANY TABLE,
UNLIMITED TABLESPACE,
UPDATE ANY TABLE
to DEMO1;
1、导入用户对象(表结构)
登陆DEMO1账号后,直接执行导出的sql脚本。
2、导入表数据
登陆DEMO1账号后,选择tools 下边的Import Tables,选择之前导出的dmp文件后,按import后即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。