本文是Oracle建立用户和对用户的管理基础性的文章,适合大家学习Oracle中的相关知识。包括建立、删除用户,建立表等等内容。

# 合法的Oracle标识符号

详解Oracle树立用户和对用户的办理(Oracle建立用户)  教程 管理 用户 Oracle 第1张

1、不能是保存关键字

2、有必要运用1到30个字符。数据库的称号最多是8个字符。

3、有必要以数据库字符会集的字母字符最初

4、只能够包括数据库字符会集的字母字符,以及以下字符:#、$、_,别的数据库链接能够包括@符号和'.'(句号)

5、不能包括引号

# 树立用户

create user angeos identified by angeos;

树立了用户:angeos,暗码为:angeos

# 对用户授权

grant connect,resource to angeos;

对用户angeos颁发了衔接数据库和拜访资源的权限

# 对用户授权

grant create session,dba to angeos;

CREATE SESSION是一个体系特权,它能够为用户供给衔接数据库的才能。

DBA是一个具有超越120个体系特权的人物,所以它能够让用户在数据库中完结简直任何作业。

# 改动用户的暗码

alter user angeos identified by Oracle;将用户angeos的暗码改动为:oracle.

# 确定帐号以及解锁

alter user oe account unlock;

然后用用户oe登录数据库服务器,暗码为oe.留意:用户解锁后,要重启服务。

# 修正表空间的设置

默许情况下,它会运用表空间SYSTEM和TEMP(用于寄存暂时数据)。
不引荐选用这种办法。所以咱们需求改动表空间。

经过体系用户衔接数据库服务器


conn sys/sysadmin@hostname_services as sysdba;

然后检查表空间


select tablespace_name,contents from dba_tablespaces
order by tablespace_name;

运用USER表空间替代SYSTEM表空间


alter user angeos default tablespace users
temporary tablespace temp;

测验树立一张表


create table table1
(
fieldA varchar2(10)
)

# 删去用户

angeos

drop user angeos;

因为用户angeos有一张表table1,所以删去用户时,咱们需求指定关键字CASCADE

drop user angeos cascade;

# 解说术语形式Schema

数据库的形式界说为数据库目标的调集,而形式的称号便是具有或许操控这个数据库目标调集的用户称号。
一切数据库目标,例如表、视图、索引、触发器、Java存储进程、PL/SQL程序包,函数等,都是由Oracle
数据库中的一个用户所具有。乃至Oracle的数据词典,体系编目也是名为SYS的形式的一部分。

用户的传统解说便是能够仅有标识一组信赖凭据的称号和暗码组合。

# 解说体系特权

在Oracle数据库中有两类特权:

(1)目标等级特权是由用户赋予的拜访或许操作数据库目标的特权。

(2)体系特权不是操控对指定数据库目标的拜访,而是用来答应对各种特性的拜访,或许答应Oracle数据库中的特定使命。

查询特权

connect system/sysadmin

desc dba_sys_privs;

查询

select distinct privilege from dba_sys_privs order by privilege

赋予体系特权的句子

GRANT system_priviege to username [with admin option];

吊销体系特权的句子

REVOKE system_priviege from username;

留意:在任何用户能够衔接到Oracle数据库之前,都需求向它们赋予CREATE SESSION特权,为他们供给衔接答应。

##################################
# 树立数据表
##################################

# 语法规矩
CREATE TABLE [SCHEMA.] (
[default ] []
[, [default ] []]
[,...]
);

# 建表的比如
********************************************************************
CREATE TABLE CD_COLLECTION (
ALBUM_TITLE VARCHAR2(100),
ARTISTVARCHAR2(100),
COUNTRYVARCHAR2(25),
RELEASE_DATE DATE,
LABELVARCHAR2(25),
PRIMARY KEY (ALBUM_TITLE, ARTIST)
);
********************************************************************
CREATE TABLE seagal.SONGS (
SONG_TITLEVARCHAR2(100),
COMPOSER VARCHAR2(100),
LENGTHNUMBER,
TRACKNUMBER,
ARTISTVARCHAR2(100),
ALBUM_TITLE VARCHAR2(100),
FOREIGN KEY (ARTIST, ALBUM_TITLE) REFERENCES seagal.CD_COLLECTION(ARTIST, ALBUM_TITLE),
PRIMARY KEY (SONG_TITLE, ARTIST, ALBUM_TITLE)
);


********************************************************************
select * from seagal.cd_collection;
select * from seagal.songs;
********************************************************************

********************************************************************
INSERT INTO seagal.CD_COLLECTION
VALUES('Black Sheets of Rain', 'Bob Mould', 'USA',to_date('01-01-92','DD-MM-YY'), 'Virgin');

INSERT INTO seagal.CD_COLLECTION
VALUES('Candy Apple Grey', 'Husker Du', 'USA',to_date('01/01/86','DD/MM/YY'), 'Warner Brothers');

INSERT INTO seagal.SONGS
VALUES('Black Sheets of Rain','Mould', NULL,1, 'Bob Mould', 'Black Sheets of Rain');

INSERT INTO seagal.SONGS
VALUES('Crystal','Mould', 3.28, 1, 'Husker Du', 'Candy Apple Grey');

INSERT INTO seagal.SONGS
VALUES('Don''t want to know if you are lonely ','Hart', 3.28, 2, 'Husker Du', 'Candy Apple Grey');

INSERT INTO seagal.SONGS
VALUES('I don''t know for sure','Mould', 3.28, 3, 'Husker Du', 'Candy Apple Grey');

INSERT INTO SONGS VALUES('Black Sheets of Rain','Mould', NULL,1, 'Bob Mould', 'Black Sheets of Rain');

COMMIT;
*******************************************************

******************************************************
DROP TABLE FRUITS;

CREATE TABLE FRUITS (
FRUIT VARCHAR2(12),
COLOR VARCHAR2(12),
QUANTITY NUMBER,
PRICE NUMBER,
PICKED DATE
);

INSERT INTO FRUITS VALUES('Apple', 'Green', 12, 0.5, '12-Sep-2002');
INSERT INTO FRUITS VALUES('Apple', 'Red', 12, 0.5, '15-Sep-2002');
INSERT INTO FRUITS VALUES('Mango', 'Yellow', 10, 1.5,
'22-Sep-2002');
INSERT INTO FRUITS VALUES('Mangosteen', 'Purple', 5, 2,
'25-Sep-2002');
INSERT INTO FRUITS VALUES('Durian', 'NULL', 2, 15, NULL);
INSERT INTO FRUITS VALUES('Orange', 'Orange', 10, 1.5, '28-Aug-2002');

COMMIT;
*********************************************************
COMMIT;

# CREATE TABLE AS SELECT的句子

经过查询一个表,而且将查询成果集物化到一个惯例表中来树立表。
复制表的结构,可是束缚、索引和触发器等目标不会被放入新的表中。

比如:

create table emp_copy as

select * from scott.emp;

# 数据词典

每一个数据库都有一个数据词典,任何办理Oracle数据库,或许运用Oracle构建运用的用户都需 要运用数据词典。
数据词典是Oracle数据库的编目。

当树立用户、表、束缚和其它数据库目标的时分,Oracle都会主动保护一个在数据库中存储的项 目编目。

例如:USER_TABLES视图能够展现当时用户所具有的一切表的信息。

运用DESCRIBE指令检查USER_TABLES视图的结构信息。

具有DBA权限的用户能够检查DBA_TABLES

select owner ,table_name,tablespace_name from dba_tables

where owner in('SCOTT','HR')

order by owner,tablesapce_name,table_name

【修改引荐】

  1. 实例解说Oracle 9i数据坏块的处理
  2. Oracle数据库办理脚本浅析
  3. Oracle 11g中完成自我调整功用
转载请说明出处
知优网 » 详解Oracle树立用户和对用户的办理(Oracle建立用户)

发表评论

您需要后才能发表评论