oracle数据库导出数据时密码中存在特殊符号的情况处理
oracle数据库导出指定的表数据,直接在windows的cmd命令行执行如下命令:
exp wz9199/""“wzz@123"”"@172.17.34.40:1521/orcl file=E:\temp\exp.dmp tables=(T_User)
命令详细说明:
exp代表我们要进行导出操作;
wz9199是用户名;
wzz@123是密码;
在密码两边拼接的三个双引号是为了适配密码中有特殊符号的情况,比如上面的密码中有“@”。
@172.17.34.40:1521/orcl是数据库连接字符串,包括ip地址,端口和实例名;
file=E:\temp\exp.dmp指定了导出到哪个文件中,注意文件路径中的文件夹需要手动创建;
tables=(T_User)指定要导出哪个表,如果要导出多个表数据,使用逗号拼接即可,如果需要全部导出,则不需要添加这条命令属性;
导入数据时,将exp命令改为imp命令即可,在导入时,为了避免中间部分错误导致导入操作中断,可以再添加ignore=y的属性,这样中间报错也不会中断导入:
exp wz9199/""“wzz@123"”"@172.17.34.40:1521/orcl file=E:\temp\exp.dmp tables=(T_User) ignore=y
如果是在linux中,使用方式略有不同:
exp ‘wz9199/“wzz@123”’@172.17.34.40:1521/orcl file=E:\temp\exp.dmp tables=(T_User) ignore=y
这里的用户名和密码在单引号内,并且密码单独使用一对双引号引起来,这样就可以在linux调用sqlplus远程连接oracle数据库并执行命令了.
这里还有一点要注意:如果linux的控制台编码格式和oracle数据库或sqlplus不一致,有可能出现用户名或密码错误的提醒,而且提示中的中文是乱码;
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_34902590/article/details/86718295