用户管理
创建用户:
create user 用户名 identified by 用户密码;
删除用户及用户名下的所有表和视图:
drop user 用户名 cascade;
如果用户下存在表,删除时不加cascade会报错:ORA-01922
用户解锁:
alter user 用户名 account unlock;
改密码:
alter user 用户名 identified by 新密码;
授权:
grant connect,resource,dba to 用户名;
PL/SQL连接数据库
格式:IP:端口/orcl
导出与导入
命令
导出远程数据库:
exp reed/reed@127.0.0.1:1521 file="D:\reed.dmp" full = y;
导入远程数据库:
imp reed/reed@127.0.0.1:1521 file="D:\reed.dmp" full = y;
导出本地数据库:
exp reed/reed file="D:\reed.dmp" full = y;
导入本地数据库:
imp reed/reed file="D:\reed.dmp" full = y;
full=y :表示全库导出。可以不写,则默认为no,则只导出用户下的对象。(如果导出时加上该参数,则导入时也需要增加)
问题记录
1、本地安装了oracle数据库,按网上的命令进行导入导出操作时,提示:
EXP-00056:ORACLE error 12504 encountered
ORA-12504:TNS:listener was bot given the SERVICE_NAME in CONNECT_DATA
EXP-00000:Export terminated unsuccessfully
解决方法:
连接远程服务器才需加@服务器名, 本机运行、不用加@orcl;
所以直接使用:exp reed/reed file=D:\reed.dmp full = y
个人理解:exp和imp可以用于服务器端和客户端,我本地安装oracle的时候,默认装的是oracle服务器端,所以无法使用远程连接,必须使用本地连接。
参考文献
drop user和drop user cascade的区别
oracle导出数据库报的错:EXP-00056 遇到 ORACLE 错误 12154
oracle11g数据库导入导出方法教程