背景:一个团队项目开发,不可能每个人都架设自己本地的数据库,大多数情况下是统一用服务器上的数据库,这时候就需要进行远程数据库的连接。而且有时候还需要进行数据库搬迁 ,这时候就需要进行数据库的备份和恢复了。

从最初创建一个数据库实例开始:

一.创建数据库实例

通过数据库配置助手进行数据库实例的创建即可,最后得到数据实例的配置信息

SID即为数据库实例的名称:ZHeOracle(并不区分大小写),也可通过sql指令来查询数据库实例:

 

有数据库实例后,得为数据库实例配置监听器,这样实例才能接受客户端发出的连接请求

二.服务器端的监听器配置

进行监听位置和数据库服务的配置,最后点击文件,保存配置即可。

客户端要连接远程的服务器就要配置服务命名:         

三.客户端服务命名配置

填写需要连接的远程网络数据库IP

下一步,进行连接测试。若不成功,可能是默认的用户被锁定了,可选更改登陆,使用system用户测试即可。

补充:

以上服务器端的监听器和客户端的服务命名都是在可视化界面进行配置,下面介绍非可视化配置:

oracle安装路径:E:\oracle\product\10.2.0\client_1\network\ADMIN

找到以下文件:

tnsnames.ora—客户端服务命名配置文件

listener.ora---服务器端监听器配置文件

注意:全局数据库名和数据库实例名并非同一个概念!

四.客户端登陆

目前服务器端数据库和客户端都是在本机(127.0.0.1),确认相关服务已经开起来:

使用SQL Plus登陆:

使用客户端的服务命名名称,这里是ZHe_Test(并不区分大小写)

使用plsqldev登陆:

红色部分也是服务命名

五.数据库实例的备份和恢复

以使用plsqldev工具进行数据库备份为例,进行数据库实例的导出和恢复:

1.导出用户数据库对象: Tools—export user objects

 

用户ZHE下有这些用户对象,选中Export导出.sql文件。

2.导出用户数据库数据(数据记录之类的):Tools—export tables

导出的文件格式为.dmp

3.进行数据库的恢复

准备工作(创建表空间和用户的脚本.sql):

create tablespace zhe_tbs datafile 'D:\ZHe_Oracle\ZHe_Orac\zhe.dbf' size 50M;
--DROP TABLESPACE zhe_tbs INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
create user zheuser identified by zheuser default tablespace zhe_tbs; grant connect,resource to zheuser;
grant dba to zheuser;
--Revoke daba from zheuser;

由于备份的数据库表可能原来是存放在某个表空间(比如原来是存放在zhe_tbs表空间),那么现在要被导入的数据库如果没有zhe_tbs表空间那么执行导入操作时就会报错,这里code1就是创建zhe_tbs表空间(D:\ZHe_Oracle\ZHe_Orac为要被导入的数据库实例所在的路径,而且要确保你拥有足够的权限)。Code创建用户并且设置该用户的表空间为zhe_tbs,code5、6给用户zheuser授权以下角色:

Tools—import tables(注意:先导入用户数据库对象,然后再导入数据库记录,顺序错误就会报错!):

导入用户数据库对象:

导入数据库对象数据:

至此数据库恢复结束

Oracle连接配置以及实例的备份和恢复的更多相关文章

  1. Oracle DB 执行用户管理的备份和恢复

    • 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...

  2. oracle数据库热备中的备份和恢复及例子

    手工热备(开库状态) 备份控制文件: alter database backup controlfile to '/u01/oradata/prod/con.bak1'; 备份数据文件(这里用到pl/ ...

  3. Oracle连接Db2

    因为有个业务场景需要访问客户DB2数据库的数据,我们使用的Oracle,百度一下是有方法的,本来以为很简单,没想到搞了一天,因为数据库版本都太老,使用的也少走了不少弯路,在此记录下来给需要的人借鉴. ...

  4. 如何实现Docker镜像和容器实例的备份迁移

    题记 大家在使用Docker都会从容器仓库下载镜像,不过这个过程可能依据网络带宽而定,那么如果将一个已经下载好的镜像迁移到另外一个环境中,或者说如何实现Docker容器的备份恢复,或者迁移,接下来我们 ...

  5. 【Oracle】Oracle安装配置、创建数据库实例及用户和连接

    https://blog.csdn.net/wudiyong22/article/details/78904361 参考资料:https://www.cnblogs.com/hoobey/p/6010 ...

  6. Oracle 数据库备份和恢复配置

    可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...

  7. Oracle BEQ方式连接配置

    Oracle BEQ方式连接配置 服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高. 可以参考MOS:How To Connect Us ...

  8. NHibernate4使用Oracle.ManagedDataAccess.dll连接oracle及配置多个数据库连接

    NHibernate数据库配置参数在hibernate.cfg.xml中 <?xml version="1.0" encoding="utf-8"?> ...

  9. PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释

    PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...

随机推荐

  1. Java网络编程(模拟浏览器访问Tomcat服务器)

    程序运行结果: HTTP/1.1 404 Not FoundServer: Apache-Coyote/1.1Content-Type: text/html;charset=utf-8Content- ...

  2. SQL2008-分页显示3种方法

    方法1: 适用于 SQL Server 2000/2005/2008 SELECT TOP 10 * FROM YieldRole WHERE id NOT IN ( SELECT TOP (10*( ...

  3. CocoaPods使用命令

    5.需要在工程中创建一个Podfile文件, 使用命令: $cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径) $ touc ...

  4. hdu2594 Simpsons’ Hidden Talents kmp

    Simpsons’ Hidden Talents Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...

  5. node.js在windows下的学习笔记(4)---同步,异步,回调的概念

    Node.js是使用事件驱动的,非阻塞的I/O模型,用于构建快速的,可扩展的网络应用程序. Node.js想解决的问题是:处理输入,输入,高并发 1.阻塞与非阻塞 阻塞也叫同步,是指每一次执行一个操作 ...

  6. shell修改文件名(二)

    我想修改类似如下一批文件的文件名:AA01_01.txtAA01_02.txtAA01_03.txtAA01_04.txt 修改成BB02_01.txtBB02_02.txtBB02_03.txtBB ...

  7. 【C/C++多线程编程之六】pthread相互排斥量

    多线程编程之线程同步相互排斥量       Pthread是 POSIX threads 的简称,是POSIX的线程标准.          Pthread线程同步指多个线程协调地,有序地同步使用共享 ...

  8. Yum本地Rpm库设置

    http://blog.csdn.net/dc_726/article/details/8497188   1 Yum对光盘的支持 查看/etc/yum.repos.d/CentOS-Media.re ...

  9. 正则匹配ab不匹配aab

    var a = "aababaabababababaab"; a.replace(/(^|[^a])(ab)+/g, "$1"); var a = " ...

  10. php面试常用算法

    这些都是真实的IT公司招聘PHP程序员的面试题,这些都是简单的基本算法.包括:冒泡算法.快速排序算法.二分查找算法.顺序算法. 冒泡排序,对象可以是一个数组 01 function bubble_so ...