Oracle连接配置以及实例的备份和恢复
背景:一个团队项目开发,不可能每个人都架设自己本地的数据库,大多数情况下是统一用服务器上的数据库,这时候就需要进行远程数据库的连接。而且有时候还需要进行数据库搬迁 ,这时候就需要进行数据库的备份和恢复了。
从最初创建一个数据库实例开始:
一.创建数据库实例
通过数据库配置助手进行数据库实例的创建即可,最后得到数据实例的配置信息
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(注意:先导入用户数据库对象,然后再导入数据库记录,顺序错误就会报错!):
导入用户数据库对象:
导入数据库对象数据:
至此数据库恢复结束