show user 显示当前用户

connect username/password@datebasename as sysdba 切换用户和数据库 和用户身份

Oracle登录身份有三种:

normal普通身份

sysdba系统管理员身份

sysoper系统操作员身份

创建永久表空间

create tablespace tablespace_name datafile '存储路径.dbf' size 10m aotuextend on next 10m;

创建表空间:create tablespace ts1 datafile 'C:\tablespace\ts1.dbf' size 50M;

自动扩展大小:create tablespace ts2 datafile 'C:\tablespace\ts2.dbf' size 50M autoextend on next 10M;

设置最大空间:create tablespace ts3 datafile 'C:\tablespace\ts3.dbf' size 50M autoextend on next 10M maxsize 1024M;

更改用户默认表空间:alter database default tablespace ts1;

表空间改名:alter tablespace ts1 rename to tss1;

删除表空间:drop tablespace ts2 including contents and datafiles;

创建临时表空间

create temporary tablespace temptablespace_name tempfile '存储路径.dbf' size 10m aotuextend on next 10m;

查询表空间存储路径

desc dba_data_files

select file_name from dba_data_files where tablespace_name='大写的表空间名称';

创建用户

create user user_name identified by password

default tablespace tablespace_name;----创建用户并指定默认表空间

如果想要修改用户的永久表空间可以执行命令:

alter user user default tablespace tablespaceName,

其中第二个user为要操作的用户,tablespaceName为将要设置的默认表空间名称。

如果想修改新添加的用户的默认表空间可以执行如下命名

alter database default tablespace tablespaceName,

这样新建立的用户的默认表空间就为tablespaceName。

修改用户密码

alter user 用户名 identified by 口令[改变的口令]

删除用户

drop user 用户名;

若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。

语法: drop user 用户名 cascade;

alter user USERNAME quota 100M on TABLESPACENAME;

alter user USERNAME quota unlimited on TABLESPACENAME;

grant unlimited tablespace to USERNAME;

quota是为了限制用户对表空间的使用,比如你限制用户Guotu在tablespace CYYD中的quota为10m,

当用户Guotu在tablespace CYYD中的数据量达到10m后,无论你的tablespace CYYD中有多少空间,Guotu都无法再使用tablespace CYYD了。

授权角色

oracle为兼容以前版本,提供三种标准角色(role):connect/resource和dba.

1》. connect role(连接角色)

--临时用户,特指不需要建表的用户,通常只赋予他们connect role.

--connect是使用oracle简单权限,这种权限只对其他用户的表有访问权限,包括select/insert/update和delete等。

--拥有connect role 的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、回话(session)和其他 数据的链(link)

2》. resource role(资源角色)

--更可靠和正式的数据库用户可以授予resource role。

--resource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

3》. dba role(数据库管理员角色)

--dba role拥有所有的系统权限

--包括无限制的空间限额和给其他用户授予各种权限的能力。system由dba用户拥有

授权命令

grant connect, resource to 用户名;

撤销权限

revoke connect, resource from 用户名;

授权类型:

grant create session to 用户名;

grant create table to 用户名;

grant create tablespace to 用户名;

grant create view to 用户名;

grant connect,resource to demo;

grant connect,resource to demo;

grant create any sequence to demo;

grant create any table to demo;

grant delete any table to demo;

grant insert any table to demo;

grant select any table to demo;

grant unlimited tablespace to demo;

grant execute any procedure to demo;

grant update any table to demo;

grant create any view to demo;

创建/授权/删除角色

除了前面讲到的三种系统角色----connect、resource和dba,用户还可以在oracle创建自己的role。

用户创建的role可以由表或系统权限或两者的组合构成。为了创建role,用户必须具有create role系统权限。

1》创建角色

语法: create role 角色名;

例子: create role testRole;

2》授权角色

语法: grant select on class to 角色名;

列子: grant select on class to testRole;

注:现在,拥有testRole角色的所有用户都具有对class表的select查询权限

3》删除角色

语法: drop role 角色名;

例子: drop role testRole;

注:与testRole角色相关的权限将从数据库全部删除

oracle添加主键的四种方法:

列级,表级建立主键

1.create table constraint_test

( name_id number not null constraint cons_name_id primary key,

old number )

2.create table constraint_test

( name_id number  primary key,

old number )

3.create table constraint_test

(

name_id number not null,

old number  ,

constraint cons_name_id primary key ( name_id )

);

4.create table constraint_test

(

name_id number not null,

old number

);

alter table constraint_test add constraint cons_name_id primary key ( name_id );

复制表结构和表数据

create table new_table_name as select * from old_table_name;

只复制表结构

create table table_name_new as select * from table_name_old where 1=2;

或者:

create table table_name_new like table_name_old;

只复制表数据

如果两个表结构一样:

insert into table_name_new select * from table_name_old;

如果两个表结构不一样:

insert into table_name_new(column1,column2...) select column1,column2... from table_name_old;

nvl函数

格式为:nvl(string1, replace_with)

功能:如果string1为null,则nvl函数返回replace_with的值,否则返回string1的值。

注意事项:string1和replace_with必须为同一数据类型,除非显示的使用to_char函数。

如何使用like操作符 %:表示0到多个字符 _:表示任意单个字符 问题:如何显示首字符为s的员工姓名和工资?

select ename,sal from emp where ename like 's%';

问题:如何显示工资在2000到3000的员工?

select ename,sal from emp where sal>=2000 and sal<=3000;

select ename,sal from emp where sal between 2000 and 3000;

In和exists对比:

Exists只能用于子查询,可以替代in,若匹配到结果,则退出内部查询,并将条件标志为true,传回全部结果资料,

in不管匹配到匹配不到都全部匹配完毕,使用exists可以将子查询结果定为常量,不影响查询效果,而且效率高。

若子查询结果集比较小,优先使用in,若外层查询比子查询小,优先使用exists。

因为若用in,则oracle会优先查询子查询,然后匹配外层查询,

若使用exists,则oracle会优先查询外层表,然后再与内层表匹配。

最优化匹配原则,拿最小记录匹配大记录。

一般来说,这两个是用来做两张(或更多)表联合查询用的,in是把外表和内表作hash 连接,而exists 是对外表作loop 循环,假设有A、B两个表,使用时是这样的:

1、select * from A where id in (select id from B)--使用in

2、select * from A where exists(select B.id from B where B.id=A.id)--使用exists

也可以完全不使用in和exists:

3、select A.* from A,B where A.id=B.id--不使用in和exists

具体使用时到底选择哪一个,主要考虑查询效率问题:

第一条语句使用了A表的索引;

第二条语句使用了B表的索引;

第三条语句同时使用了A表、B表的索引;

如果A、B表的数据量不大,那么这三个语句执行效率几乎无差别;

如果A表大,B表小,显然第一条语句效率更高,反之,则第二条语句效率更高;

第三条语句尽管同时使用了A表、B表的索引,单扫描次数是笛卡尔乘积,效率最差。

oracle中创建用户、角色、权限、表空间简单使用

一.数据库用户 创建数据库用户 create user 用户名 identified by 密码; 授权 grant 权限名 to 用户名; 查看当前用户权限 select * from sessio ...

Oracle创建用户、角色、授权、建表空间

oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

Oracle创建用户、角色、授权、建表

oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

&lbrack;转载&rsqb;Oracle创建用户、角色、授权、建表

出处:https://www.cnblogs.com/roger112/p/7685307.html oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system p ...

Oracle新建用户、角色,授权,建表空间

oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create table权限允许用户创建表,gr ...

oracle创建用户和密码以及授权登录问题

创建有户名和密码CREATE USER 用户名 IDENTIFIED BY 密码;分配权限GRANT connect,dba to 用户名; 1:使用oracle的命令行登录oracle的方式(安装好 ...

Oracle&&num;160&semi;用户、角色管理简介

Oracle 用户.角色管理简介 by:授客 QQ:1033553122 创建用户 形式1:创建名为testacc2的用户 CREATE USER testacc2 IDENTIFIED BY abc ...

oracle 创建用户,授权用户,创建表,查询表

原文:oracle 创建用户,授权用户,创建表,查询表 oracle 创建用户,授权用户,创建表,查询表 假设oracle10g所有的都已经安装和配置好 第一步:win+R,进入运行,cmd; 第二步 ...

Oracle数据库---用户与角色

Oracle数据库---用户与角色 2019年02月26日 10:56:10 俊杰梓 阅读数:21 标签: 数据库 更多 个人分类: 数据库   版权声明:版权所有,转载请注明出处.谢谢 https: ...

随机推荐

SQL拼接字段数据

查询语句: SELECT STUFF ( ( SELECT ',' + --分隔符 KeyID --查询字段 FROM #tmp --查询数据表 WITH(NOLOCK) --查询条件 FOR XML ...

centos qt5&comma;PyQt5 installation

一.SIP http://www.riverbankcomputing.com/software/sip/download   二.Centos6.5 qt 安装 1,centos linux系统必须 ...

webapp优化

1. 优化前提: 业务架构与数据库设计 2.  单页web应用  : ExtJs  backbone  ng  avalon 框架: React Native    , ionic  , Mui, m ...

设计模式のPrototypePattern(原型模式)----创建模式

一.产生的背景 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆.当直接创建对象的代价比较大时,则采用这种模式.例如,一个对象需要在一个高代价的数据库操作之后被创建.我们可以缓存该对象,在下 ...

SQL-61 对于employees表中,给出奇数行的first&lowbar;name

题目描述 对于employees表中,给出奇数行的first_nameCREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` ...

git中 &period;ignore文件的配置 忽略不想上传的文件

1.配置语法: 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录: 此外,g ...

DOM文档对象模型简介

DOM简介     DOM是W3C(万维网联盟)的标准 "W3C文档对象模型DOM是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容.结构.样式".W3C DOM ...

GlusterFS六大卷模式說明

GlusterFS六大卷說明   第一,分佈卷 在分布式卷文件被随机地分布在整个砖的体积.使用分布式卷,你需要扩展存储,冗余是重要或提供其他硬件/软件层.(簡介:分布式卷,文件通过hash算法随机的分 ...

Django之forms

Django forms 关于select和checkbox设置初始选中值 Django的forms和models一样很牛逼.他有两种功能,一是生成form表单,还有就是form表单的验证. 这里主要 ...

Window对象的判定方法

/* window对象的判定,由于ECMA是不规范Host对象,window对象属于Host,所以也没有约定,所以就算是Object.prototype也对它无可奈何, 而且如果根据window.wi ...

oracle 授权访问条空间,oracle创建用户和角色、管理授权以及表空间操作相关推荐

  1. Oracle创建用户、角色、授权、建表

    Oracle创建用户.角色.授权.建表 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,crea ...

  2. Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题

    本文转自:https://www.cnblogs.com/bjh1117/p/6605037.html, 侵删. 前提:本机已经安装了Oracle11g数据库 需求:使用PL SQL数据库连接工具操作 ...

  3. oracle 将包赋权给用户,oracle数据库如何创建用户和角色,并给其赋权?

    一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...

  4. oracle创建用户和角色、管理授权以及表空间操作

    show user 显示当前用户 connect username/password@datebasename as sysdba 切换用户和数据库 和用户身份 Oracle登录身份有三种: norm ...

  5. Oracle创建表空间、创建用户以及授权

    原文地址:Oracle创建表空间.创建用户以及授权 作者:chinacoolsword Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来 ...

  6. Oracle 数据库创建表空间、创建用户指定表空间

    Oracle 数据库创建表空间.创建用户指定表空间 //创建临时表空间 create temporary tablespace user_temp tempfile 'D:\oracle\oradat ...

  7. mysql 导入创建表空间_说说在 Oracle11g 中如何创建表空间、创建用户并授权以及导入与导出数据...

    假设 Oracle11g 已在本机安装成功. 1 创建表空间 打开 sqlplus 工具:开始-->所有程序--> Oracle –OraDb11g_home1-->应用程序开发-- ...

  8. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    http://suan2046.iteye.com/blog/379539 标题:查看Oracle数据库表空间大小,是否需要增加表空间的数据文件 在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问 ...

  9. oracle12c创建表空间、创建用户、创建权限

    目录 1.基本概念 1.1.关于账号的概念 1.2.关于pdb和cdb的概念 3.创建用户 4.给用户创建权限 5.综合练习(很重要.正在写...) 6.参考资料 1.基本概念 1.1.关于账号的概念 ...

最新文章

  1. 接口测试--version2
  2. Python Django URL传参代码示例
  3. package javax.servlet.jsp.tagext does not exist的错误消息如何解决
  4. win10休眠设置_电脑总是“打瞌睡”?教你如何简单关闭自动休眠
  5. 计算机视觉那些事儿(1):基本任务
  6. iphone屏蔽系统更新_iOS13屏蔽系统更新升级教程
  7. 作者:张慧(1984-),女,中国科学院软件研究所助理研究员
  8. 【今日CV 计算机视觉论文速览 第113期】Wed, 8 May 2019
  9. mysql 是空字符或null 设置为0_MySQL优化(三) - 数据类型
  10. 鸿蒙系统起飞!Flutter 完全适配指南
  11. opencv如何读取仪表中的指针刻度
  12. 训练深度神经网络时验证损失可能低于训练损失的三个原因:
  13. QQ默认表情消失的解决办法
  14. 机器人对话常用语模板_电销助手——智能电话机器人
  15. 12款惊人的HTML5Flash视频播放器
  16. cmd 控制台 提示:请求的操作需要提升!
  17. 大数据学习——spark运营案例
  18. Python 英文电影中参演人员名单一般以某种方式进行排版显示
  19. python中path语句什么意思_pythonpythonpath是什么意思?
  20. 栖霞牌王是怎样炼成的——利用django实现网页版千秋戏(1)

热门文章

  1. 算法描述怎么写_亚马逊店铺产品标题怎么写?新手做亚马逊怎么描述产品标题?...
  2. 读书日限免 | 这本前端修炼之道今天免费领取啦
  3. 关于解决无线路由器不稳定的方法备忘录
  4. 计算机平面设计基础材料,计算机平面设计资料要点.doc
  5. 验证码识别之连体字符切割
  6. Xbsj Render Error: TypeError: e.charCodeAt is not a function
  7. 一场以科学和时间为名的马拉松:荣耀和小米的技术攀爬
  8. BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)
  9. 为你讲述陈岷学医的缘
  10. springboot+java二手手机回收平台系统