oracle创建用户

oracle触发器

蹲街弑〆低调 提交于 2019-11-27 00:27:09
1. 什么是触发器?   当用户满足某一条件(如:登陆数据库, insert, update, delete,create等等)时, 会引起某个存储过程的   自动执行, 我们把这个隐含被调用的存储过程就称为触发器. 2.触发器的分类   dml触发器 # insert delete update   ddl触发器 # create table; create view; drop...   系统触发器 # 与系统行为有关的触发器, 如登陆, 退出, 启动/关闭数据库等 3.创建触发器   create or replace trigger trigger_name # trigger_name为自定义的触发器名称   { before | after } # 设定在之前/之后触发   { insert|delete|update [of column1, column2]} # 设定触发的条件   on 方案.表名 # 方案即用户空间   [for each row] # 设定行级触发器, 如没有则为语句级触发器   [when condition]   begin   这里放触发器执行时要干的事 # 如: dbms_output.put_line('输出内容到窗口')   end; 4.行级触发器和语句级触发器:   行级触发器: 涉及多少行就触发执行多少次;   语句级触发器

[转帖]Oracle 常用SQL查询语句

徘徊边缘 提交于 2019-11-26 21:38:47
1 、查看表空间的名称及大小    select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts_size    from dba_tablespaces t, dba_data_files d    where t.tablespace_name = d.tablespace_name    group by t.tablespace_name;       2 、查看表空间物理文件的名称及大小    select tablespace_name, file_id , file_name ,    round (bytes / ( 1024 * 1024 ), 0 ) total_space    from dba_data_files    order by tablespace_name;       3 、查看回滚段名称及大小    select segment_name, tablespace_name, r.status,    (initial_extent / 1024 ) InitialExtent,(next_extent / 1024 ) NextExtent,    max_extents, v.curext CurExtent    From dba_rollback

oracle 常用SQL查询

这一生的挚爱 提交于 2019-11-26 21:38:28
一、ORACLE的启动和关闭 1 、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle > svrmgrl SVRMGR > connect internal SVRMGR > startup SVRMGR > quit b、关闭ORACLE系统 oracle > svrmgrl SVRMGR > connect internal SVRMGR > shutdown SVRMGR > quit 启动oracle9i数据库命令: $ sqlplus / nolog SQL * Plus: Release 9.2 . 0.1 . 0 - Production on Fri Oct 31 13 : 53 : 53 2003 Copyright (c) 1982 , 2002 , Oracle Corporation. All rights reserved. SQL > connect / as sysdba Connected to an idle instance. SQL > startup ^ C SQL > startup ORACLE instance started. 2 、在双机环境下 要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su - root a

[转载]---Oracle SQL的硬解析和软解析

三世轮回 提交于 2019-11-26 20:35:53
我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析。在Oracle中存在两种类型的SQL语句,一类为DDL语句(数据定义语言),他们是从来不会共享使用的,也就是每次执行都需要进行硬解析。还有一类就是DML语句(数据操纵语言),他们会根据情况选择要么进行硬解析,要么进行软解析。 DML:INSERT、UPDATE、DELETE、SELECT; DDL:CREATE、DROP、ALTER 一、SQL解析过程 Oracle对此SQL将进行几个步骤的处理过程: 1、语法检查(syntax check):检查此sql的拼写是否有语法错误; 2、语义检查(semantic check):诸如检查sql语句中的访问对象是否存在及该用户是否具备相应的权限; 3、对sql语句进行解析(prase):利用内部算法对sql进行解析,生成解析树(parse tree)及执行计划(execution plan); 4、执行sql,返回结果(execute and return)。 二、解析过程详解 2.1、语法检测 判断一条SQL语句的语法是否符合SQL的规范,比如执行: 1 SQL > select * form emp; 2 select * form emp 3 * 4 ERROR at line 1 : 5 ORA - 00923 : FROM

Oracle:Authid Current_User使用

帅比萌擦擦* 提交于 2019-11-26 20:32:15
由于用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显示授权,如grant create table to user;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限。 下面以例子说明: -- --执行存储过程p_create_emp2报下面的错误: SQL > exec p_create_emp2; begin p_create_emp2; end ; ORA - 01031 : 权限不足 ORA - 06512 : 在 "ECHO.P_CREATE_EMP2", line 12 ORA - 06512 : 在 line 2 -- --查看p_create_emp2,该存储过程是要创建emp2表 create or replace procedure P_create_emp2 as cursor t_cursor is select * from user_tables where table_name = ' EMP2 ' ; t_cur t_cursor % rowtype; num int : = 0 ; begin for t_cur in t_cursor loop num:

Oracle创建设置查询权限用户

六眼飞鱼酱① 提交于 2019-11-26 19:14:30
用户创建的可以参考博客: https://blog.csdn.net/u014427391/article/details/84889023 Oracle授权表权限给用户: 语法:grant [权限名(select|insert |update|delete|all)] on [表名] to [用户名] 例子:给user1授权查询table1的权限: grant select on table1 to user1; 不过上面的有点麻烦,假如表很多的话,或许可以用游标试验,如果对用户表权限不是很严格的,可以授权用户查询所有用户的表权限: grant select any table to gd_user with admin option; 不过查询时候,还是要加上用户名才能查询,例如: select * from user.table1 上面是用sql分配权限的办法,也可以通过角色来授权,先给角色权限,然后再给用户分配角色 Oracle主要系统角色: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构 。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 普通用户:一般授予connect, resource权限。

部署Oracle 12c企业版数据库

爱⌒轻易说出口 提交于 2019-11-26 18:52:35
在计算机信息安全领域中,数据库系统无疑有着举足轻重的地位。比如:SQL Server、MySQL、DB2、Oracle等,都是比较知名的数据库管理软件,由于Oracle数据库的安全性,所以在一些比较重要的场合被普遍使用,比如:电信、银行、政府部门等。 本次博文以Oracle 12c数据库的64位企业版为例,学习如何在Centos 操作系统中的安装和基本配置,包括安装的准备等。 博文大纲: 一、安装Oracle 12c 二、创建Oracle 12c数据库 三、Oracle 12c数据库的启动与关闭 四、将Oracle数据库设置为开机自启动 一、安装Oracle 12c 1.安装CentOS 7操作系统的注意事项 由于本次安装Oracle 12c软件是在CentOS 7系统上实现的,那么首次安装CentOS 7操作系统有几点要求: 防火墙的配置选项设置为禁用; SELinux设置为禁用; 默认安装设置为软件开发; 内核选择3.10.0-862.el7.x86_64及以上版本; 2.前置条件的准备 Oracle数据库是一个相对庞大的应用软件,对服务器的系统类型、内存和交换分区、硬盘空阿金、内核参数、软件环境、用户环境等都有相应的要求。只要满足了这些必备的条件,才能确保Oracle 12c安装成功并稳定运行。 (1)系统及配置要求 Oracle

oracle学习笔记(二:数据库的备份和恢复)

梦想与她 提交于 2019-11-26 16:57:36
创建一个directory对象,指定备份的目标磁盘位置 SQL>create directory myback as 'd:\oraclestudy'; 为scoot用户授予使用该目录的权限 SQL>grant read,write on directory myback to scott; 备份数据库:expdp C:\Users\Administrator>expdp scott/1231234 directory=myback dumpfile=dbbacktest.dmp full=y; 恢复数据库:impdp C:\Users\Administrator>impdp scott/1231234 directory=myback dumpfile=dbbacktest.dmp full=y; 来源: https://www.cnblogs.com/oraclelast/p/11327749.html

Linux centos7. 配置安装Oracle

只谈情不闲聊 提交于 2019-11-26 14:48:14
oralcle 11g r2 配置一下前期的网络环境 一 修改linux核心配置 1.修改用户的SHELL限制 vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 2.修改/etc/pam.d/login 文件 vi /etc/pam.d/login session required /lib/security/pam_limits.conf session required pam_limits.conf 3.修改linux内核,修改/etc/sysctl.conf文件 vi /etc/sysctl.conf fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max =

Centos下安装Oracle12c

孤者浪人 提交于 2019-11-26 14:47:29
总结一次安装oracle的折腾血泪史 环境准备 centos7 虚拟机VMware Workstation Pro14 IP:192.168.245.128(根据实际情况) 4G物理内存,8G虚拟内存,处理器2 Oracle的安装文件夹不低于15G 为虚拟机分配两个以上的处理器 磁盘SSD 远程登陆:Xshell 软件包:oracle12c 12.2.0.1 数据库下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 以上虚拟机配置都不是硬性要求,除去安装目录大小,为了安装体验 安装前准备 以root用户登陆 关闭防火墙及selinux防火墙 systemctl disable firewalld.service systemctl stop firewalld.service 或用以下指令 systemctl stop firewalld systemctl disable firewalld 修改主机名(该步骤非必需,也可在安装centos时指定主机名) vim /etc/hostname oracle 或进入centos界面 进入目录 /etc/hostname ,双击打开 hostname修改即可 修改hosts文件 vim /etc/hosts