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
注意:用户解锁后,要重启服务。文章来源地址https://www.yii666.com/article/332846.html

# 修改表空间的设置
默认情况下,它会使用表空间SYSTEM和TEMP(用于存放临时数据)。
不推荐采用这种方法。所以我们需要改变表空间。网址:yii666.com

通过系统用户连接数据库服务器
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特权,为他们提供连接许可。文章地址https://www.yii666.com/article/332846.html

##################################
# 建立数据表
##################################

# 语法规则
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');网址:yii666.com<

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;文章来源地址:https://www.yii666.com/article/332846.html

# 数据词典
每一个数据库都有一个数据词典,任何管理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建立用户与授权(转载)-相关文章

  1. ORACLE 中的一些特殊符号

    oracle通配符,运算符的使用 用于where比较条件的有: 等于:=、、=、、=、 包含:in、not in exists、not exists 范围:between...and、not between....and 匹配测试:like、not like Null测试:is null、is not null 布尔链接:and、or、not 通配符: 在where子句中,通配符可与like条件一起使用。在Oracle中:

  2. oracle 特殊符号

    http://hi.baidu.com/wind_stay/blog/item/85113a6f6553a5d680cb4a0e.htmloracle通配符,运算符的使用用于where比较条件的有:等于:=、、=、、=、包含:in、not in exists、not exists范围:between...and、not between....and匹配测试:like、not likeNull测试:is null、is not null布尔链接:and、or、not通配符:在where子句

  3. Oracle 常用符号CHR

    select  chr(92)||chr(102) from dual; f select  chr(92)||chr(110) from dual; nselect  chr(92)||chr(114) from dual; rselect  chr(92)||chr(116) from dual; tselect  chr(92)||chr(118) from dual; vb  退格符(Backspace)  0x08 f  换页符(Form Feed)  0x0cn  换行符(Line Feed)  0x0ar  回车符(Carriage Return)  0x0dt  水平

  4. oracle 特殊符号替换删除处理

    1 获取ascii码select ascii(\\\'特殊字符\\\') from dual2 替换update table set testfield= replace(testfield,chr(ascii码),\\\'\\\') where 查询条件

  5. SqlServer和Oracle中一些常用的sql语句10 特殊应用

    --482, ORACLE / SQL SERVER--订购数量超过平均值的书籍WITH Orders_BookAS ( SELECT Book_Name, SUM(Qty) Book_Qty FROM Orders GROUP BY Book_Name )SELECT *FROM Orders_BookWHERE Book_Qty ( SELECT AVG(Book_Qty) FROM Orders_Book )--递归 产生连续数列1至10000WITH Tally(N)AS ( SELECT 1 N --FROM DAUL -- ORACLE UNION ALL --2.递归区块 SELECT N+1 FRO

  6. Oracle实战笔记(第三天)

    导读今天的主要内容有:java连接Oracle、事务、Oracle中的事务处理、Oracle函数。一、Java连接Oracle的两种方式第一种:桥连接(JDBC_ODBC)(不推荐)1、准备工作:桥连接需要配置ODBC数据源,本机必须有安装了Oracle数据库。步骤:打开控制面板    管理工具      ODBC数据源  

  7. Oracle 一些注意点

    number精度问题Number(p,s):p和s都是可选的。p指精度(precision),即总位数。默认情况下精度为38。精度的取值范围为1~38。s指小数位(scale),小数点右边的位数。小数点位数的合法值为-84~127。小数位的默认值由精度来决定。如果没有指定精度,小数位默认为最大的取值区间。如果指

  8. oracle = : := 和变量绑定 oracle通配符和运算符

    oracle通配符和运算符用于where比较条件的有:等于:=、、=、、=、包含:in、not in exists、not exists范围:between...and、not between....and匹配测试:like、not likeNull测试:is null、is not null布尔链接:and、or、not  www.2cto.com通配符:在where子句中,通配符可与like条件一起使用。在Oracle中:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png