博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次oracle创建一个新数据库,并导入正式环境数据库备份的dmp包过程
阅读量:2121 次
发布时间:2019-04-30

本文共 2123 字,大约阅读时间需要 7 分钟。

背景:
正式环境oracle数据库定时用exp备份一个dmp包,现在打算在一台机器上创建一个新数据库,并导入这个dmp包。
1、创建数据库
   开始 -> 所有程序 ->  Oracle -> 配置和移植工具  -> Database Configuration Assistant,打开图形化界面,大部分都是默认的下一步操作,有几个地方需要输入:
  (1)其中要输入“全局数据库名”和“SID”的名称,两个一样就行,这里假设输入testdb;
  (2)选择“所有账户使用同一管理口令”,输入口令(这个口令一定要记住);
  (3)数据文件和控制文件等的路径,根据实际需要可以修改;
2、创建完数据库后,可以修改tnsnames.ora的网络服务名,如把TESTD修改为TESTDB
   文件位置:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
  TESTD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = serv001)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = testdb)
    )
  )
3、用dba管理员登录
   cmd命令窗口中
   输入   set oracle_sid=ibrtestdb回车
   再输入 sqlplus  /nolog 回车
   再输入 conn / as sysdba 回车
4、上面提示:“权限不足”,网上搜索了下解决方法,把操作系统的当前用户加入到ORA_DBA组里,就好了。
   计算机 -> 管理 -> 本地用户和组 -> 用户 -> 【当前用户】 -> 属性 -> 隶属于 -> 添加 -> ORA_DBA
5、根据正式环境数据库的表空间,创建对应的表空间
create tablespace data datafile 'E:\oradata\testdb\data01.dbf' size 500m;
create tablespace indx datafile 'E:\oradata\testdb\indx01.dbf' size 500m;
6、创建用户dev,并赋予一些权限
create user dev identified by dev default tablespace data;
-- Grant/Revoke object privileges 
grant execute on SYS.DBMS_JOB to dev;
-- Grant/Revoke role privileges 
grant connect to dev;
grant resource to dev;
grant dba to dev;
-- Grant/Revoke system privileges 
grant create job to dev;
grant create materialized view to dev;
grant create view to dev;
grant debug connect session to dev;
grant manage scheduler to dev;
grant unlimited tablespace to dev;
7、导入dmp备份包,留意导入过程中是否有错误信息
imp dev/dev@TESTDB file= E:\db20170530.dmp fromuser=prd touser=dev
8、导入后的检查,检查表、视图、存储过程、job等是否已全部导入
select * from user_tables;
select * from user_views; 
select * from user_objects t where t.OBJECT_TYPE='FUNCTION';
select * from user_objects t where t.OBJECT_TYPE='PROCEDURE';
select * from user_objects t where t.OBJECT_TYPE='JOB';
select * from user_objects t where t.OBJECT_TYPE='VIEW';
select * from user_objects t where t.OBJECT_TYPE='MATERIALIZED VIEW';
select * from user_objects t where t.OBJECT_TYPE='TABLE';
9、其他电脑连接到此数据库,需要在tnsnames.ora增加配置信息
TESTDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = serv001)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = testdb)
    )
  )

转载地址:http://nlzrf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++ 《拓扑排序-1》20200626 207.课程表
查看>>
Go语言学习Part1:包、变量和函数
查看>>
Go语言学习Part2:流程控制语句:for、if、else、switch 和 defer
查看>>
Go语言学习Part3:struct、slice和映射
查看>>
Go语言学习Part4-1:方法和接口
查看>>
Leetcode Go 《精选TOP面试题》20200628 69.x的平方根
查看>>
Leetcode C++ 剑指 Offer 09. 用两个栈实现队列
查看>>
Leetcode C++《每日一题》20200707 112. 路径总和
查看>>
云原生 第十一章 应用健康
查看>>
Leetcode C++ 《第202场周赛》
查看>>
云原生 第十二章 可观测性:监控与日志
查看>>
Leetcode C++ 《第203场周赛》
查看>>
云原生 第十三章 Kubernetes网络概念及策略控制
查看>>
《redis设计与实现》 第一部分:数据结构与对象 || 读书笔记
查看>>
《redis设计与实现》 第二部分(第9-11章):单机数据库的实现
查看>>
算法工程师 面经2019年5月
查看>>
搜索架构师 一面面经2019年6月
查看>>
稻草人手记
查看>>
第一次kaggle比赛 回顾篇
查看>>
leetcode 50. Pow(x, n)
查看>>