创建Oracle用户
我认为,在项目或自己开发中,尽量使用普通用户开发,赋予每个普通用户不用的权限,使用普通用户开发或者维护项目,这样做的好处是超级管理员的权限太高,如果出现失误可能导致不可挽回的损失。这是我目前的认知,可能不对,活几年,我的认知可能有所改变。欢迎看的人提出意见。
这是Oracle的第一篇学习笔记,前面还有一篇Oracle的安装博客。
开始正事,创建用户。
Oracle分为普通用户和特权用户。
普通用户有特权用户创建,只拥有对数据库的一部分权限,只对该用户需要的权限进行分配,以免造成过多的安全隐患。
特权用户是建立数据库实例的时候自带的,有sys、system、sysdba、sysoper。sys拥有最高权限,一般不建议使用。这类用户主要用于进行数据库的管理,如启动、关闭、创建及备份数据库。建议使用system创建普通用户(我也不知道为啥)
首先使用sqlplus,进入Oracle用户登录,使用system登录。
sql语句
CREATE USER 用户名 IDENTIFIED BY 密码;
在dba_users这张表中查看所有用户,下面是表机构
我们这里只查看username,user_id和password这三列,下面是SQL语句
SELECT username,user_id,password FROM dba_users;
按照Oracle最少权限的安全性规则,新创建的新用户是不能登录的。必须分配CREATE SESSION的权限。
GRANT CREATE SESSION TO 用户名;
显示Grant succeeded.就表示成功了
使用create完整的用法
CREATE USER username INENTIFIED BY
{password | EXTERNALLY | GLOBALLY AS 'CN = user'} --验证方式
[DEFAULT TABLESPACE tablespace] --默认的表空间
[TEMPORARY TABLESPACE tablespace] --临时的表空间
[QUOTA [integer K[M]] [UNLIMITED] ON tablespace ] --空间配额
[PROFILES profile_name] --口令配置
[PASSWORD EXPIRE] --密码过期设置
[ACCOUNT LOCK or ACCOUNT UNLOCK] --锁定或取消锁定
username:用户名
创建俩个表空间,创建一个用户,指定到这俩个表空间,作为新用户test的指定表空间。
创建一个永久表空间test_yj,临时表空间test_ls,大小为100M,自动增长。
CREATE TABLESPACE test_yj DATAFILE 'test_yj.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
创建临时表空间
CREATE TEMPORARY TABLESPACE test_ls
TEMPFILE 'test_ls.dbf' SIZE 50M;
创建用户
CREATE USER test
IDENTIFIED BY test
DEFAULT TABLESPACE test_yj
QUOTA 500K ON test_yj
TEMPORARY TABLESPACE test_ls;