ops$ oracle数据库用户,Oracle中的用户、角色、权限(1)

Oracle中的用户、角色、权限(一)

一、用户的创建

在oracle中,用户与schema是一一对应的关系,在创建一个用户的同时也就创建了一个相应的schema。所谓的schema就是指该用户下所有对象的集合。在创建一个用户的时候,若不显示指定表空间跟临时表空间,则会使用系统的默认表空间跟临时表空间。一般在创建用户的时候都会指定一个表空间,否则有可能使用系统的默认表空间(system表空间)。

通过database_properties数据字典可以查询数据库的默认表空间、临时表空间及其他信息:

SQL> desc database_properties;

Name Null? Type

----------------------------------------- -------- ----------------------------

PROPERTY_NAME NOT NULL VARCHAR2(30)

PROPERTY_VALUE VARCHAR2(4000)

DESCRIPTION VARCHAR2(4000)

SQL> select property_name,property_value from database_properties;

PROPERTY_NAME PROPERTY_VALUE

------------------------------ ------------------------------

DICT.BASE 2

DEFAULT_TEMP_TABLESPACE TEMPTS

DEFAULT_PERMANENT_TABLESPACE TBS_1

DBTIMEZONE +08:00

DEFAULT_TBS_TYPE SMALLFILE

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CURRENCY $

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_CHARACTERSET ZHS16GBK

NLS_CALENDAR GREGORIAN

NLS_DATE_FORMAT DD-MON-RR

NLS_DATE_LANGUAGE AMERICAN

NLS_SORT BINARY

NLS_TIME_FORMAT HH.MI.SSXFF AM

NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY $

NLS_COMP BINARY

NLS_LENGTH_SEMANTICS BYTE

NLS_NCHAR_CONV_EXCP FALSE

NLS_NCHAR_CHARACTERSET AL16UTF16

NLS_RDBMS_VERSION 10.2.0.1.0

GLOBAL_DB_NAME ORCL

EXPORT_VIEWS_VERSION 8

27 rows selected.

通过dba_tablespaces数据字典可以查询到数据库中已创建的表空间的相关信息:

SQL> desc dba_tablespaces;

Name Null? Type

----------------------------------------- -------- ----------------------------

TABLESPACE_NAME NOT NULL VARCHAR2(30)

BLOCK_SIZE NOT NULL NUMBER

INITIAL_EXTENT NUMBER

NEXT_EXTENT NUMBER

MIN_EXTENTS NOT NULL NUMBER

MAX_EXTENTS NUMBER

PCT_INCREASE NUMBER

MIN_EXTLEN NUMBER

STATUS VARCHAR2(9)

CONTENTS VARCHAR2(9)

LOGGING VARCHAR2(9)

FORCE_LOGGING VARCHAR2(3)

EXTENT_MANAGEMENT VARCHAR2(10)

ALLOCATION_TYPE VARCHAR2(9)

PLUGGED_IN VARCHAR2(3)

SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)

DEF_TAB_COMPRESSION VARCHAR2(8)

RETENTION VARCHAR2(11)

BIGFILE VARCHAR2(3)

SQL> select tablespace_name,contents from dba_tablespaces;

TABLESPACE_NAME CONTENTS

------------------------------ ---------

SYSTEM PERMANENT

UNDOTBS UNDO

SYSAUX PERMANENT

TBS_1 PERMANENT

MYTBS PERMANENT

TEMPTS TEMPORARY

6 rows selected.

通过以下语句可以创建一个用户:

SQL> create user mytbs identified by mytbs default tablespace mytbs;

User created.

此时可以通过查询dba_users数据字典来查询数据库中已建立的用户的相关信息:

SQL> desc dba_users

Name Null? Type

----------------------------------------- -------- ----------------------------

USERNAME NOT NULL VARCHAR2(30)

USER_ID NOT NULL NUMBER

PASSWORD VARCHAR2(30)

ACCOUNT_STATUS NOT NULL VARCHAR2(32)

LOCK_DATE DATE

EXPIRY_DATE DATE

DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)

TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)

CREATED NOT NULL DATE

PROFILE NOT NULL VARCHAR2(30)

INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)

EXTERNAL_NAME VARCHAR2(4000)

SQL> select username,password from dba_users;

USERNAME PASSWORD

------------------------------ ------------------------------

DBSNMP E066D214D5421CCC

DIP CE4A36B8E06CA59C

TSMSYS 3DF26A8B17D0F29F

SYSTEM D4DF7931AB130E37

SYS 4DE42795E66117AE

MYTBS C7618B865F241C60

OUTLN 4A3BA55E08595C81

7 rows selected.

在oracle中也支持操作系统认证的用户,具体创建方法如下:

--显示oracle中的默认操作系统认证用户的用户名前缀

--即os_authent_prefix参数

SQL> show parameter os

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

optimizer_index_cost_adj integer 100

os_authent_prefix string ops$

os_roles boolean FALSE

remote_os_authent boolean FALSE

remote_os_roles boolean FALSE

timed_os_statistics integer 0

SQL> create user ops$test identified externally default tablespace test;

User created.

同时在linux下建立test用户,并设置相应的环境变量(ORACLE_SID、ORACLE_HOME、PATH等):

[root@localhost etc]# useradd test -g dba -G dba

[root@localhost etc]# id test

uid=501(test) gid=500(dba) groups=500(dba)

[root@localhost etc]# passwd test

Changing password for user test.

New UNIX password:

BAD PASSWORD: it is too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost test]# cp /home/oracle/.bash_profile /home/test/

cp:是否覆盖‘/home/test/.bash_profile’? yes

[root@localhost test]# su - test

[test@localhost ~]$ id

uid=501(test) gid=500(dba) groups=500(dba)

[test@localhost ~]$ echo $ORACLE_SID

orcl

[test@localhost ~]$ sqlplus /

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 22 14:49:43 2011

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:

ORA-01045: user OPS$TEST lacks CREATE SESSION privilege; logon denied

--以上错误主要是因为我们没有赋给该用户相应的权限,在下文中将介绍权限

以上主要介绍了用户的创建,在创建用户的时候可以给该用户指定更多的参数,具体可以到oracle官方联机文档(OracleSQL Reference)里查。当然,此时建立的用户并不能登录oracle,因为还没有相应的权限,在下一篇文章中将介绍这部分内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值