最近oracle常被锁,然后自己对这些命令不太熟悉,老是需要百度搜,于是趁着今天花点时间记录下
忘记密码,用管理员登录
sqlplus /nolog
conn /as sysdba
解锁:
ALTER USER username ACCOUNT UNLOCK;
更改密码:
alter user 用户名 identified by 新密码;
SYSDBA创建表空间跟用户并授权:
这里的test为表空间名称,路径自己来命名。
1. create tablespace test datafile 'D:\test.ora' size 1000m;
这里第一个test为用户名,第二个test为密码,第三个test为表空间名。
2. create user test identified by test default tablespace test quota 500m on users;
授权
3. grant all privileges to test;
删除表空间,test为表空间名称
4. drop tablespace test;
查看表空间
5. select * from dba_data_files;
授予权限:
grant dba to 用户名 --给用户赋予所有权限,connect是赋予连接数据库的权限,resource 是赋予用户只可以创建实体但是没有创建数据结构的权限。
grant create session to 用户名 --这个是给用户赋予登录的权限。
grant create table to 用户名 --给用户赋予表操作的权限
grant unlimited tablespace to 用户名 --给用户赋予表空间操作的权限
grant select any table to 用户名 --给该用户赋予访问任务表的权限 同理可以赋予update 和delete 的
grant select on srapp_hz_zhpt_yl.jggl to srapp_hz_zhpt_ylcs --这里是给srapp_hz_zhpt_ylcs用户赋予selectsrapp_hz_zhpt_yl用户的jggl表的查询的权限。同理可以有alter,drop,insert等权限。 -----------------------------注意 这个语句在没有访问另一个用户的权限情况下这个语句要在另一个用户登录情况下执行,这样才能生效。
-------------撤销权限
撤销权限:
rovoke create table from username ----取消这个用户的对表操作的权限
基本语法同grant,关键字为revoke 如: revoke create tabel to 用户名 就是取消这个用户的对表操作的权限。
-----------查看权限
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
-----------角色
角色即权限的集合,可以把一个角色授予给用户,管理角色的权限比较简单,可以在一个用户下创建多个角色,用户只需要添加角色就可以管理权限了,便于用户管理权限。
create role myrole;//创建角色
grant create session to myrole;//将创建session的权限授予myrole
grant myrole to zhangsan;//授予zhangsan用户myrole的角色
drop role myrole;删除角色
(授予权限转自https://www.cnblogs.com/lanqingzhou/p/8145272.html)
目前暂时想到就这些,以后遇到不同的再补上