`
infen
  • 浏览: 14211 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle建立用户与授权(转载)

阅读更多

登录超级用户sqlplus sys@orcl as sysdba

####################################
# 建立用户和对用户的管理
####################################


# 合法的Oracle标识符号
      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.] <tablename>(
     <coloumn_name> <datatype> [default <expression>] [<constraint>]
     [,<coloumn_name> <datatype> [default <expression>] [<constraint>]]
     [,...]
);

# 建表的例子
********************************************************************
CREATE TABLE CD_COLLECTION (
     ALBUM_TITLE     VARCHAR2(100),
     ARTIST      VARCHAR2(100),
     COUNTRY      VARCHAR2(25),
     RELEASE_DATE     DATE,
     LABEL      VARCHAR2(25),
     PRIMARY KEY (ALBUM_TITLE, ARTIST)
);
********************************************************************
CREATE TABLE seagal.SONGS (
     SONG_TITLE      VARCHAR2(100),
     COMPOSER     VARCHAR2(100),
     LENGTH      NUMBER,
     TRACK      NUMBER,
     ARTIST      VARCHAR2(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

分享到:
评论

相关推荐

    oracle创建用户以及授权

    oracle创建用户以及授权命令,可在toad等工具下执行创建用户以及相应的权限设置。

    oracle 添加用户 授权问题

    ### Oracle添加用户及授权问题详解 #### 一、Oracle用户管理概述 在Oracle数据库管理系统中,用户管理是一项非常重要的任务。正确地创建用户并授予适当的权限对于确保数据的安全性和完整性至关重要。本文将详细...

    Oracle 查询用户,表,授权相关语句

    在Oracle数据库管理中,查询用户、表以及授权信息是日常操作的重要部分。这些操作对于数据库管理员(DBA)和开发人员来说至关重要,因为它们有助于理解数据的存储结构和权限分配。以下是一些关于如何在Oracle中执行...

    oracle跨数据库查询授权

    支持授权非自身表空间的用户权限。 跨数据库查询对方表数据,以及复制粘贴。

    查看登录oracle数据库用户记录.docx

    要查看登录 Oracle 数据库的用户记录,可以创建一个临时日志表,并建立一个数据库表触发器来记录用户的登录行为。 创建临时日志表 首先,需要创建一个临时日志表来存储用户的登录记录。可以使用以下 SQL 语句来...

    数据库创建用户并授权

    在Oracle数据库管理中,创建用户和进行权限授权是一项基本而重要的操作。这对于数据库的安全性和管理至关重要。对于许多初学者来说,尽管这些操作看似简单,但在实际操作过程中可能会遇到不少困难。 #### 创建用户 ...

    Oracle创建用户,并授权DBA权限

    在 Oracle 数据库管理系统中,用户管理与权限分配是维护数据库安全性和操作性的关键环节。本文将详细解析如何在 Oracle 中创建用户、分级授权以及对 DBA 权限的具体操作方法,并介绍如何为用户授予导入导出权限。 #...

    Oracle创建表空间、临时表、用户及用户授权

    在Oracle数据库管理中,表空间(Tablespaces)、临时表(Temporary Tables)、用户(Users)以及用户授权(User Authorization)是数据库管理员(DBA)进行数据库架构设计和安全管理的基础操作。以下将详细介绍这些...

    ORACLE用户授权语句

    ORACLE补充文档,补充上一份oracle.txt文档,免费下载,更多开发资料敬请期待。本来上次想一次性上传我整理好的API,但是CSDN有文档大小限制,拆开了发吧那就

    Oracle创建表空间用户及授权

    Oracle创建表空间用户及授权

    建立用户组保证Oracle数据库安全性

    2. 为限制访问Oracle服务器的Unix用户,可以创建一个授权用户组,并将Oracle服务器进程分配给这个组。例如,SQL*Plus和SQL*Forms等公用可执行程序应赋予710权限,允许同组用户执行,但禁止其他用户直接访问。 3. ...

    完整ORACLE创建表空间、用户、设置用户权限脚本

    ### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...

    oracle查询用户信息

    oracle查询用户信息1.查看所有用户2.查看用户或角色系统权限3.查看角色4.查看用户对象权限5.查看所有角色

    Oracle用户授权

    可以授权用户使用特定的表空间,例如: ```sql GRANT UNLIMITED TABLESPACE TO peter; ``` 这允许用户在指定的表空间中创建无限量的数据对象。 以上就是Oracle数据库中创建用户、管理表空间以及进行权限分配的...

    oracle中将一个用户的所有表的权限授予另一个用户的方法

    在Oracle数据库管理中,权限管理是一项至关...总之,通过PL/SQL环境下的脚本编写,可以高效、批量地实现Oracle数据库中用户权限的管理,但同时也需要谨慎处理可能遇到的各种异常情况,以确保数据库的安全与稳定运行。

    使用PLSQL 创建Oracle数据库用户并设置权限

    "使用PLSQL创建Oracle数据库用户并设置权限" 在 Oracle 数据库中,创建用户并设置权限是数据库管理员的基本任务之一。在本文中,我们将使用 PLSQL 创建 Oracle 数据库用户并设置权限,包括创建用户、设置权限和创建...

    oracle创建表空间,创建用户,授权给新建的用户实例全解

    在Oracle数据库管理中,表空间(Tablespace)是存储数据的主要单位,用户(User...以上就是Oracle数据库中创建表空间、创建用户以及授权的基本过程。通过理解这些概念和操作,你可以更好地管理和维护Oracle数据库系统。

    ORACLE单独授权表或视图或存储过程.doc

    ORACLE单独授权是指在ORACLE数据库中,授予某个用户对部分数据表、视图或存储过程的访问权限,而不是授予全数据库的访问权限。本文将详细介绍如何授予用户对部分表、视图或存储过程的权限。 为什么需要单独授权 在...

    Oracle创建用户和授权.docx

    ### Oracle 创建用户与授权知识点详解 #### 一、Oracle 数据库用户管理概述 在 Oracle 数据库管理系统中,用户管理是一项非常重要的任务。合理的用户管理能够确保数据的安全性和系统的稳定性。对于初学者而言,...

    Linux下修改Oracle用户密码

    2. **切换到Oracle用户**:使用`su - oracle`命令切换到Oracle用户环境。这一步骤非常重要,因为后续的操作需要在Oracle用户的环境下进行。 3. **启动SQL*Plus工具**:输入`sqlplus /nolog`命令进入SQL*Plus工具,...

Global site tag (gtag.js) - Google Analytics