一、创建用户并授权

1. 进去cmd登录sysdba账号

sqlplus/nolog

conn/ as sysdba

2. 创建临时表空间

create temporary tablespace test_temp tempfile 'D:\oradata\test\TEST_TEMP.dbf' size 100M autoextend on next 50M maxsize 20480M;

3. 创建表空间

create tablespace test datafile 'D:\oradata\test\TEST.dbf' size 1024M autoextend on next 50M maxsize unlimited EXTENT MANAGEMENT local autoallocate segment space management auto;

4. 创建用户授予表空间

create user test_user identified by test_pwd default tablespace test temporary tablespace test_temp profile default;

5. 给用户授予权限

(1) grant dba to test_user;//给用户名授予dba权限,一般情况不给dba权限

(2) grant create session to test_user;/授予⽤户创建session的权限,即登陆权限

(3) grant connect,resource to test_user;

(4) 执⾏上⾯的sql语句后⽤户包括的权限

a. CONNECT⾓⾊:

--是授予最终⽤户的典型权利,最基本的

ALTER SESSION --修改会话

CREATE CLUSTER --建⽴聚簇

CREATE DATABASE LINK --建⽴数据库链接

CREATE SEQUENCE --建⽴序列

CREATE SESSION --建⽴会话

CREATE SYNONYM --建⽴同义词

CREATE VIEW --建⽴视图

b. RESOURCE⾓⾊:

--是授予开发⼈员的

CREATE CLUSTER --建⽴聚簇

CREATE PROCEDURE --建⽴过程

CREATE SEQUENCE --建⽴序列

CREATE TABLE --建表

CREATE TRIGGER --建⽴触发器

CREATE TYPE --建⽴类型

6. 校验用户名密码是否永不过期

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

如果结果显示 180 天 请执行一下语句

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

二、导出Oracle数据库dmp文件

1. 检查空表

导出之前先检查先处理没有数据的空表(Oracle 空表无法导出)

select table_name from user_tables where NUM_ROWS=0; --查询是否有空表

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null; --拼接处理空表语句

将查询出来拼接好的处理语句复制到新SQL窗口执行

2. 执行导出语句

以管理员运行cmd命令行,执行以下命令并等待执行完成

exp test_user/test_pwd@ORCL file=D:\dmp\test.dmp owner=test_user log=D:\dmp\ZWWHH20220528_DAOCHU.log direct=y

三、导入Oracle数据库dmp文件

1. 复制文件

将第二步中导出的文件复制到需要导入Oracle数据库的服务器上

2. 执行导入语句

以管理员运行cmd命令行,执行以下命令并等待执行完成

imp test_user/test_pwd@ORCL touser=test_user tablespaces=test file=D:\dmp\test.dmp full=y ignore=y

四、导入之后问题处理

1. 表空间修改

导入之后表空间需要修改成我们第一步创建的表空间

select * from user_tables; --查询当前所有表的表空间

--拼接修改表空间语句,查出来的数据中存在多个表空间的时候TABLESPACE_NAME条件用IN

SELECT 'alter table '||TABLE_NAME||' move tablespace test;' FROM USER_TABLES WHERE TABLESPACE_NAME = 'USERS';

将查询出来拼接好的修改语句复制到新SQL窗口执行

2. 索引处理

导入之后可能会导致索引失效需要重新处理索引

select index_name ,status from user_indexes where status = 'UNUSABLE'; --查询失效索引

select 'alter index ' || index_name || ' rebuild;' from user_indexes where Status = 'UNUSABLE'; --拼接重建索引语句

将查询出来拼接好的重建索引语句复制到新SQL窗口执行

3. 索引空间修改

导入之后索引表空间需要修改成我们第一步创建的表空间

SELECT * FROM DBA_INDEXES WHERE TABLE_OWNER = 'TEST_USER' AND INDEX_TYPE = 'NORMAL' ; --查询当前所有表的表空间

--拼接修改索引表空间语句,查出来的数据中存在多个表空间的时候TABLESPACE_NAME条件用IN

SELECT 'ALTER INDEX '|| INDEX_NAME || ' REBUILD TABLESPACE rmyy_index;' FROM DBA_INDEXES WHERE TABLE_OWNER = 'TEST_USER' AND INDEX_TYPE = 'NORMAL' AND TABLESPACE_NAME = 'USERS';

将查询出来拼接好的修改语句复制到新SQL窗口执行

4. 批量编译存储过程和函数

--拼接批量编译函数的语句

SELECT OBJECT_NAME, 'alter function ' || OBJECT_NAME || ' compile;' FROM ALL_OBJECTS WHERE STATUS = 'INVALID' AND OBJECT_TYPE ='FUNCTION' AND OWNER = UPPER('test_user');

将查询出来拼接好的语句复制到新SQL窗口执行

--拼接批量编译函数的语句

SELECT OBJECT_NAME, 'alter procedure ' || OBJECT_NAME || ' compile;' FROM ALL_OBJECTS WHERE STATUS = 'INVALID' AND OBJECT_TYPE ='PROCEDURE' AND OWNER = UPPER('test_user');

将查询出来拼接好的语句复制到新SQL窗口执行

Oracle导出导入相关推荐

  1. oracle取32位唯一码,Oracle导出导入dmp文件命令,以及excel生成32位uuid

    Oracle导出dmp文件命令,以及excel生成64位uuid 导出命令cmd中 expdp mms/xfkjerp@orcl schemas=mms dumpfile=expdp.dmp DIRE ...

  2. Oracle导出导入dmp文件(exp.imp命令行)

    1.说明 使用Oracle命令行导出导入dmp文件, 从而在两个数据库之间快速转移数据, 也可以用来作为数据库的备份, 将来可以快速恢复数据. 命令:导出exp.导入imp 步骤: 使用Oracle的 ...

  3. oracle导出导入同义词,使用datapump 导出导入同义词

    对于同义词的备份我们有多种方式来实现,如直接通过脚本生成同义词的创建脚本,或者使用dbms_metadata.get_ddl来提取同义词的定义脚本.然而在使用传统的exp或是datapump expd ...

  4. oracle 导出导入exl,关于oracle导出excel和excel导入oracle的经验总结【转】

    一.oracle导出excel 方法一:最简单的方法---用工具plsql dev 执行File =>new Report Window .在sql标签中写入需要的sql,点击执行或按快捷键F8 ...

  5. oracle导出导入emp,oracle导入导出操作

    PS 在11g中执行导入导出时有的选项可能不需要加()! PS2,导入导出命令请在shell下运行非sql/plus环境! ***数据库逻辑备份与恢复** 导出: 导出具体分为:导出表,导出方案,导出 ...

  6. Oracle 导出导入数据库

    好久在windows环境下没进行过导入导出数据库操作,最近操作了一下,出现了一些小问题,重新尝试了下各种导出,做过记录. 环境准备 window环境下执行数据库导入导出,其先决条件有两个: 1,安装了 ...

  7. 玩转oracle 11g(52):Oracle导出导入表(.sql、.dmp文件)两种方法

    提示:在导入sql和dmp文件之前,先建立用户,指明表空间.其中要注意用户名和表空间最好跟sql文件中的一样. 方法一:.sql文件的导出与导入 导出步骤 使用PL/SQL Developer登录你需 ...

  8. oracle导出命令位置,ORACLE 导出导入命令说明

    命令详解:      E:/>exp help=y    通过输入 EXP 命令和用户名/口令,您可以 在用户 / 口令之后的命令:    实例: EXP SCOTT/TIGER    或者,您 ...

  9. oracle导出导入数据库

    cmd命令下 导出: exp username/password@orcl file=E:\filename.dmp owner=username 导入: imp username/password@ ...

最新文章

  1. 机械转嵌入式还是it?学嵌入式好还是java好?
  2. Presto实现原理和美团的使用实践
  3. Spring MVC概述
  4. Thread class vs Runnnable interface(转)
  5. oracle的空闲等待事件,Oracle 常见的33个等待事件详解
  6. android网络盒子改,有什么办法可以把淘汰下来的安卓手机改造成电视盒子用?...
  7. 深入理解 RecyclerView 系列之一:ItemDecoration
  8. 计算机管理员账户不能创建新的用户名,win10为什么无法更改账户名称解决方法 win10系统管理员用户名更改...
  9. ImportError: DLL load failed: 找不到指定的模块。
  10. 关于Android中为什么主线程不会因为Looper.loop()里的死循环卡死?引发的思考,事实可能不是一个 epoll 那么 简单。...
  11. 推理接口的调用过程(欢迎讨论,希望这是一个大坑~~~)
  12. storm发布jar包时报找不到主类_咖啡5元一大包,进口饼干10元3包…济南有个临期食品超市,快过期的食品你会买单吗...
  13. 典型的对称加密和非对称加密算法有哪些
  14. Data Integration Introduction
  15. 大学毕业必须知道的东西:三方协议、报到证(派遣证)、干部身份
  16. 接口调用频繁限制,接口限制流量
  17. torchvision.transforms.Pad和torchvision.transforms.functional.pad的区别
  18. JVM -verbose参数详解
  19. android开发论坛!关于Android开发的面试经验总结,含爱奇艺,小米,腾讯,阿里
  20. 网易云音乐接入微信状态

热门文章

  1. MindSpore:Ascend芯片Mindspore代码实现小样本图像分类,在网络训练时出现错误
  2. idea 设置log级别_IDEA+Log4j2 设置控制台打印彩色日志(示例代码)
  3. Python 数据清洗之缺失数据填充fillna()
  4. 写作论说文写作诀窍和万能模版展示
  5. python绘制图形微格课_智慧职教MOOCPython程序设计章节测试答案
  6. aes linux加密 windows解密,解决Linux操作系统下DES、AES解密失败的问题
  7. Win10《芒果TV》商店内测版更新至v3.7.65.0:跨平台UI新体验,铺路SP
  8. 【蓝桥杯 算法训练】强力党逗志芃
  9. 【三月英语——AJ相伴】
  10. python归并排序链表,python链表归并排序