oracle建立用户与授权(转载)
创建表空间及用户:
create tablespace 表空间名 datafile 'd:/seal.dbf' size 10M autoextend on;
create user username identified by password default tablespace 表空间名;
grant connect,resource,dba to username;
登录超级用户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 创建用户,授权用户,创建表,查询表
原文:oracle 创建用户,授权用户,创建表,查询表 oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步 ...
- Oracle创建用户、授权、规则
---用户登录命令--管理员登录conn sys/oracle as sysdba;--创建用户方案必须是管理员权限--创建用户命令 create user useranme identifild b ...
- oracle创建用户、授权、导入、导出命令总结
1.创建用户 需要先用system用户登录数据库,因为system用户具有创建其他用户的权限. 语法[创建用户]: create user 用户名 identified by 口令[即密码]: 例子: ...
- oracle数据库用户之间授权
今天遇到一个数据库的问题: 系统数据库用户下创建了几个视图用于外部系统开发报表使用,当外部系统提取视图数据时,需要通过一个只能访问需要视图权限的用户,于是想到给他创建一个新的用户,并给这个用户分配只能 ...
- Oracle 创建用户并且授权
以sysdba登陆 创建用户:CREATE USER username IDENTIFIED BY password; 授予(角色)权限:GRANT CONNECT,RESOURCE TO usern ...
- oracle新建用户并授权步凑
#首先创建表空间.存放路径.设置表空间大小 create tablespace tbs_ams datafile '+DATA/pdorcl1/datafile/ams1.dbf' size 1024 ...
- Oracle新用户以及授权的若干问题
Database 实验4 问题: 授权语句 grant create table to user_name; 收回授权语句 revoke create table from user_name; 注意 ...
- (转)Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出
Linux系列 启动1.启动数据库实例,分为两步:第一步,启动监听:第二步,启动数据库实例. 1.1进入到sqlplus启动实例 [oracle@redhat ~]$ su - oracle ...
- Oracle创建表空间、用户、授权
在创建好数据实例(数据库)好后的基础上,后续做的事情如下: ---创建表空间 create tablespace LIS2011DATA logging datafile 'd:\oracle\pro ...
随机推荐
- css引用第三方字体库
对应的CSS文件中如下方式进行字体库的引用: @font-face { font-family: '造字工房情书'; src: url('../fonts/MFQingShu_Noncommercia ...
- 利用 squid 反向代理提高网站性能(转载)
本文在介绍 squid 反向代理的工作原理的基础上,指出反向代理技术在提高网站访问速度,增强网站可用性.安全性方面有很好的用途.作者在具体的实验环境下,利用 DNS 轮询和 Squid 反向代理技术, ...
- 转:java c/s tomcat 三层架构
概述在c/s结构的发展历程中,产生了两层c/s结构和三层c/s结构之分.在两层c/s结构中,在信息管理系统的管理上主要分为客户端和数据库服务器. 缺点有两个: 1)开销高昂.在两层c/s结构中,为了维 ...
- SDP协议简述
SDP协议也是文本协议,只需要按照协议本身的格式填充.SDP协议格式即详细信息如下: 会话描述 格式及举例 v=(protocol version) v=0 o=(owner/creator and ...
- Freemaker的java.beans.IntrospectionException: type mismatch between read and write methods
引言:freemaker在特定的spring以及jdk下的问题解决路径. 环境描述 spring 3.1.1, jdk1.8u80, freemake 2.3.19 错误信息描述: 严重: Excep ...
- 我也说说Emacs吧(6) - Lisp速成
前面我们学习了基本操作,也走马观花地看了不少emacs lisp的代码.这一章我们做一个lisp的速成讲座. Lisp的含义是表处理语言.它的代码组成结构都是用括号组成的表来表示的.Lisp中的功能, ...
- LNMP架构基础搭建
LNMP架构+wordpress博客 环境: centos6.7 2.6.32-573.el6.x86_64 nginx-1.6.3 mysql-5.5.49 php-5.3.27 wordpress ...
- linux vim 命令使用
基本上vim可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 模式切换方法 在命令模式输入“i”,进入插入模式 ...
- 通过反编译让SpecFlow支持多层属性值的验证
需求:在使用SpecFlow时,我希望能对目标对象所关联的对象属性进行验证,但SpecFlow(Version 1.9.0)无法实现.如图中红框,可以对专户所属的金融机构的名称进行验证. 反编译步骤 ...
- 一次Mysql连接池卡死导致服务无响应问题分析(.Net Mysql.Data 6.9.9)
问题: 进程启动后,线程数迅速上升至最小线程数后,缓慢上升(线程池限制)到数千,然后由于线程过多,CPU飙升到90%. 对外表现为Api无响应或连接超时. 背景 有些数据存在于另一个机房,通过内网专线 ...