如何利用sys as sysdba权限连接数据库进行EXPIMP?

如何利用sys as sysdba权限连接数据库进行EXPIMP?,第1张

首先,清空DATA_PUMP_DIR环境变量:\x0d\x0aC:\>setDATA_PUMP_DIR=\x0d\x0a\x0d\x0a创建DATA_PUMP_DIR的目录:\x0d\x0aCONNECTSYSTEM/MANAGER\x0d\x0aCREATEORREPLACEDIRECTORYdata_pump_dirAS'D:\DataPump'\x0d\x0aGRANTread,writeONDIRECTORYdata_pump_dirTOscott\x0d\x0a\x0d\x0a--Onwindows,placeallexpdpparametersononesingleline:\x0d\x0a\x0d\x0aC:\>expdpsystem/manager@my_db_aliasDUMPFILE=expdp_s.dmp\x0d\x0aLOGFILE=expdp_s.logSCHEMAS=scott\x0d\x0a\x0d\x0a如果SCOTT用户不是授权用户,不能使用默认的DATA_PUMP_DIR。\x0d\x0aORA-39002:invalidoperation\x0d\x0aORA-39070:Unabletoopenthelogfile.\x0d\x0aORA-39145:directoryobjectparametermustbespecifiedandnon-null\x0d\x0a\x0d\x0a用户SCOTT的解决方法:如上面5.3,SCOTT可以设置环境变量DATA_PUMP_DIR为MY_DIR:\x0d\x0a--Onwindows,placeallexpdpparametersononesingleline:\x0d\x0a\x0d\x0aC:\>setDATA_PUMP_DIR=MY_DIR\x0d\x0aC:\>expdpscott/tiger@my_db_aliasDUMPFILE=expdp_s.dmp\x0d\x0aLOGFILE=expdp_s.logSCHEMAS=scott\x0d\x0a\x0d\x0a或者这种特定场景下,用户SCOTT也可以有目录DATA_PUMP_DIR的读和写权限:\x0d\x0a--Onwindows,placeallexpdpparametersononesingleline:\x0d\x0a\x0d\x0aC:\>setDATA_PUMP_DIR=DATA_PUMP_DIR\x0d\x0aC:\>expdpscott/tiger@my_db_aliasDUMPFILE=expdp_s.dmp\x0d\x0aLOGFILE=expdp_s.logSCHEMAS=scott

什么意思?

1. sys as sysdba    ,其中  sys 是用户名啊, as sysdba  表示 sys 用 sysdba的角色登录。

2. 已连接到空闲例程。

   说明你的数据库现在没有启动,你可以分步启动,看有没有问题:

--sqlplus / as sysdba nolog

sql>startup nomount  -- 启动实例,不加载数据库

sql>alter database mount -- 加载数据库

sql>alter database open  -- 打开数据库


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9418869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存