如题,今天第一次真正的用dos来操作数据库呢,也是遇到了很多麻烦,此文用于记录这些问题。
之前学过数据库这本书,但是那个时候没有用过只是上课听下课丢的节奏,今天算是给自己长点记性吧。
1、dba用户的登陆,在安装好oracle之后,管理员账户是没有密码的(数据库不是我安装的,不能说是一定),登陆是:sqlplus / as sysdba这个账户就是相当与安卓用户的root账户,可以进行一切操作。
2、创建用户。登陆到sysdba用户之后,开始创建普通用户,因为数据库(在此数据库都是oracle数据库)的这个用户是不允许第三方登陆的。
create user username identified by password 其中username就是登陆名称,password也就是密码了(提示:在登陆的时候密码是不显示的,连*也没有)
3、赋值权限给用户。这个时候你直接拿着这个账号去登陆是登陆不了的,会显示拒绝登陆,这个提示就证明你账号密码都是正确的,但是我拒绝你,这肯定是有问题的,这就是权限问题了,首先要给用户 grant create session to username(用户登录账号)。然后就可以登陆,但是登陆了之后你什么也做不了,我的目的是导入dmp文件的,上面显示无法读取,换个dmp文件,但是我在管理员下是可以的。然后我想起了其他权限,我就grant create table to username给了这个用户创建表的权限,然后这个时候显示错误就是DBA用户导出的文件,DBA用户才能导入(就是这个意思)。没办法,我就直接把DBA用户权限给他了 grant dba to username,然后就成功的导入了。
4、导入语句。多说一句,这个语句是不用登陆的。imp username/password file=dmp文件路径 full= y igonre=y full是说全部导入的意思
5、过程中使用到的语句。(1)select table_name from user_tables; 查看该用户下的表 (2)select * from user_sys_privs; 用户权限 (3)show user ; 展示当前用户 (4)exit 退出当前登录 (5)select instance_name from v$instance 当前的实例名或者当前数据库名称
疑问:我一直想把一个数据库下面的所有表的增删查改的权限都赋给一个用户,但是尝试了多次没有成功,希望有知道给予指导,谢谢。
参考很多,这里列出一二