2023年8月1日发(作者:)
关于PLSQL中的数据库的备份和还原关于PLSQL中的数据库的备份和还原背景:主机上已安装oracle客户端和服务端,备份还原PLSQL中的DB,使其能连接到本地DB,博主使⽤oracle11g。⼀、备份使⽤命令:exp username/password@客户端服务名 file=path(路径)
可能报错:⽆法连接⽬标主机
原因:oracle服务端未配置服务名。
解决⽅法:
1.打开服务端的(路径:dbhome_1NETWORKADMIN),加⼊客户端的服务名。例如:我的客户端服务名配置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.进⼊所在⽬录,可能会看到⼀个名为的⽂件,若有,建议删除。
2.打开Net Configuration Assiant,配置监听服务。
监听程序配置->添加->监听程序名(默认)–>选定的协议(TCP)–>使⽤标准端⼝号 1521->是否配置另⼀监听程序 否->完成
3.此时dbhome_1NETWORKADMIN会增加⼀个⽂件,⽤记事本打开,修改内容如下:
在SID_LIST=后加⼊code:(SID_DESC= (GLOBAL_DBNAME=ORCL) (ORACLE_HOME=F:appAdministratorproduct11.2.0dbhome_1) (SID_NAME=orcl) )其中GLOBAL_DBNAME可在sqlplus中键⼊select name from V$database;查询得到,ORACLE_HOME修改为⾃⼰的path,SID_NAME即中的SERVICE_NAME。3.在cmd测试监听是否配置成功。
键⼊命令:lsnrctl start
若显⽰已经启动,键⼊:lsnrctllsnrctl stoplsnrctl start重启监听服务。
4.在Net Manager 中进⾏连接测试。
5.登录sqlplus,⽤create user username identified by passwd; ⽤户名密码可以和备份时⼀样,⽅便记忆。成功创建⽤户后grant dba tousername; 授予dba权限。
6.在cmd执⾏还原命令。三、PLSQL连接
可能报错:连接超时等,也就是连接不上。
解决⽅法:
1.在Net Configuration Assiant 中配置本地⽹络服务名,或直接在tnsnames写⼊配置⽂件,这⾥默认⼤家都会。当然也可以使⽤中已经存在的服务名,毕竟之前我们已经测试成功了,但是建议新建⼀个服务名以便区分。
Manager中进⾏连接测试。
3.将 中新增的服务名配置加⼊到客户端的中,注意,不做修改。
连接时选择该服务名。⾄此,PLSQL可连接到本地DB。
2023年8月1日发(作者:)
关于PLSQL中的数据库的备份和还原关于PLSQL中的数据库的备份和还原背景:主机上已安装oracle客户端和服务端,备份还原PLSQL中的DB,使其能连接到本地DB,博主使⽤oracle11g。⼀、备份使⽤命令:exp username/password@客户端服务名 file=path(路径)
可能报错:⽆法连接⽬标主机
原因:oracle服务端未配置服务名。
解决⽅法:
1.打开服务端的(路径:dbhome_1NETWORKADMIN),加⼊客户端的服务名。例如:我的客户端服务名配置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.进⼊所在⽬录,可能会看到⼀个名为的⽂件,若有,建议删除。
2.打开Net Configuration Assiant,配置监听服务。
监听程序配置->添加->监听程序名(默认)–>选定的协议(TCP)–>使⽤标准端⼝号 1521->是否配置另⼀监听程序 否->完成
3.此时dbhome_1NETWORKADMIN会增加⼀个⽂件,⽤记事本打开,修改内容如下:
在SID_LIST=后加⼊code:(SID_DESC= (GLOBAL_DBNAME=ORCL) (ORACLE_HOME=F:appAdministratorproduct11.2.0dbhome_1) (SID_NAME=orcl) )其中GLOBAL_DBNAME可在sqlplus中键⼊select name from V$database;查询得到,ORACLE_HOME修改为⾃⼰的path,SID_NAME即中的SERVICE_NAME。3.在cmd测试监听是否配置成功。
键⼊命令:lsnrctl start
若显⽰已经启动,键⼊:lsnrctllsnrctl stoplsnrctl start重启监听服务。
4.在Net Manager 中进⾏连接测试。
5.登录sqlplus,⽤create user username identified by passwd; ⽤户名密码可以和备份时⼀样,⽅便记忆。成功创建⽤户后grant dba tousername; 授予dba权限。
6.在cmd执⾏还原命令。三、PLSQL连接
可能报错:连接超时等,也就是连接不上。
解决⽅法:
1.在Net Configuration Assiant 中配置本地⽹络服务名,或直接在tnsnames写⼊配置⽂件,这⾥默认⼤家都会。当然也可以使⽤中已经存在的服务名,毕竟之前我们已经测试成功了,但是建议新建⼀个服务名以便区分。
Manager中进⾏连接测试。
3.将 中新增的服务名配置加⼊到客户端的中,注意,不做修改。
连接时选择该服务名。⾄此,PLSQL可连接到本地DB。
发布评论