关于PLSQL中的数据库的备份和还原

关于PLSQL中的数据库的备份和还原

背景:主机上已安装oracle客户端和服务端,备份还原PLSQL中的DB,使其能连接到本地DB,博主使用oracle11g。

一、备份

使用命令:exp username/password@客户端服务名 file=path(路径)
可能报错:无法连接目标主机
原因:oracle服务端未配置服务名。
解决方法:
1.打开服务端的tnsnames.ora(路径:\dbhome_1\NETWORK\ADMIN),加入客户端tnsnames.ora的服务名。例如:我的客户端服务名配置

LOLO =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.35)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

将上如=述代码copy到服务端。
2.打开服务端的Net Manager,对加入的服务名LOLO进行连接测试,用PLSQL的username和passwd。
3.测试成功后,在cmd运行备份code。(注意:前述命令备份的是整个方案,包括表结构、索引等等,若有其他它需要,请自行百度)

二、还原
使用命令:imp username/password@服务端服务名 full=y file=(备份path)
可能报错:无法连接到目标主机
此时我们去服务端的Net Manager测试
可能报错:ORA-12514,监听程序无法识别当前服务。
解决方法:
(以下配置若无特殊说明,均在服务端进行)
1.进入tnsnames.ora所在目录,可能会看到一个名为listener.ora的文件,若有,建议删除。
2.打开Net Configuration Assiant,配置监听服务。
监听程序配置->添加->监听程序名(默认)–>选定的协议(TCP)–>使用标准端口号 1521->是否配置另一监听程序 否->完成
3.此时\dbhome_1\NETWORK\ADMIN会增加一个文件listener.ora,用记事本打开,修改内容如下:
在SID_LIST=后加入code:

(SID_DESC=
        (GLOBAL_DBNAME=ORCL)
         (ORACLE_HOME=F:\app\Administrator\product\11.2.0\dbhome_1)
         (SID_NAME=orcl)
        )

其中GLOBAL_DBNAME可在sqlplus中键入select name from V$database;查询得到,ORACLE_HOME修改为自己的path,SID_NAME即tnsnames.ora中的SERVICE_NAME。

3.在cmd测试监听是否配置成功。
键入命令:lsnrctl start
若显示已经启动,键入:

lsnrctl
lsnrctl stop
lsnrctl start

重启监听服务。
4.在Net Manager 中进行连接测试。
5.登录sqlplus,用create user username identified by passwd; 用户名密码可以和备份时一样,方便记忆。成功创建用户后grant dba to username; 授予dba权限。
6.在cmd执行还原命令。

三、PLSQL连接
可能报错:连接超时等,也就是连接不上。
解决方法:
1.在Net Configuration Assiant 中配置本地网络服务名,或直接在tnsnames写入配置文件,这里默认大家都会。当然也可以使用tnsnames.ora中已经存在的服务名,毕竟之前我们已经测试成功了,但是建议新建一个服务名以便区分。
2.Net Manager中进行连接测试。
3.将tnsnames.ora 中新增的服务名配置加入到客户端的tnsnames.ora中,注意,不做修改。
4.PLSQL连接时选择该服务名。

至此,PLSQL可连接到本地DB。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值