ORACLE循序渐进讲解(第四讲)

一、数据库管理员

1、sys与system的区别(用实例说明)

在第一讲说过下面两句话:

(1)sys用户是超级用户,具有最高权限,具有dba的角色和sysdba、sysoper数据库管理特殊权限,所有 oracle 的数据字典的基表和视图都存放在sys 用户中,这些基表和视图对于 oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改,sys有创建create  database的权限。

(2)system用户是管理操作员,权限一样很大具有dba角色,没有创建create database的权限。

SQL> select * from dba_roles where role='DBA';
ROLE                           PASSWORD_REQUIRED
------------------------------ -----------------
DBA                            NO

dba_roles是查询所有系统角色,从结果上看DBA是系统角色,不是权限,同样dba_roles中没有sysdba和sysoper说明这两个不是角色。

SQL> select * from dba_role_privs where granted_role='DBA' and (grantee='SYS' or grantee='SYSTEM');
GRANTEE                        GRANTED_ROLE                   ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
SYS                            DBA                            YES          YES
SYSTEM                         DBA                            YES          YES

DBA_ROLE_PRIVS是查询所有用户或角色对应的角色,从结果上看sys和system都有DBA的角色。

SQL> select * from v$pwfile_users;
USERNAME                       SYSDBA SYSOPER
------------------------------ ------ -------
SYS                            TRUE   TRUE
SQL> select * from system_privilege_map;
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
        -3 ALTER SYSTEM                                      0
        -4 AUDIT SYSTEM                                      0
        -5 CREATE SESSION                                    0
        -6 ALTER SESSION                                     0
        -7 RESTRICTED SESSION                                0
       -10 CREATE TABLESPACE                                 0
       -11 ALTER TABLESPACE                                  0
       -12 MANAGE TABLESPACE                                 0
       -13 DROP TABLESPACE                                   0
       -15 UNLIMITED TABLESPACE                              0
       -20 CREATE USER                                       0
       -21 BECOME USER                                       0
       -22 ALTER USER                                        0
       -23 DROP USER                                         0
       -30 CREATE ROLLBACK SEGMENT                           0
       -31 ALTER ROLLBACK SEGMENT                            0
       -32 DROP ROLLBACK SEGMENT                             0
       -40 CREATE TABLE                                      0
       -41 CREATE ANY TABLE                                  0
       -42 ALTER ANY TABLE                                   0
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
       -43 BACKUP ANY TABLE                                  0
       -44 DROP ANY TABLE                                    0
       -45 LOCK ANY TABLE                                    0
       -46 COMMENT ANY TABLE                                 0
       -47 SELECT ANY TABLE                                  0
       -48 INSERT ANY TABLE                                  0
       -49 UPDATE ANY TABLE                                  0
       -50 DELETE ANY TABLE                                  0
       -60 CREATE CLUSTER                                    0
       -61 CREATE ANY CLUSTER                                0
       -62 ALTER ANY CLUSTER                                 0
       -63 DROP ANY CLUSTER                                  0
       -71 CREATE ANY INDEX                                  0
       -72 ALTER ANY INDEX                                   0
       -73 DROP ANY INDEX                                    0
       -80 CREATE SYNONYM                                    0
       -81 CREATE ANY SYNONYM                                0
       -82 DROP ANY SYNONYM                                  0
       -83 SYSDBA                                            0
       -84 SYSOPER                                           0
       -85 CREATE PUBLIC SYNONYM                             0
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
       -86 DROP PUBLIC SYNONYM                               0
       -90 CREATE VIEW                                       0
       -91 CREATE ANY VIEW                                   0
       -92 DROP ANY VIEW                                     0
      -105 CREATE SEQUENCE                                   0
      -106 CREATE ANY SEQUENCE                               0
      -107 ALTER ANY SEQUENCE                                0
      -108 DROP ANY SEQUENCE                                 0
      -109 SELECT ANY SEQUENCE                               0
      -115 CREATE DATABASE LINK                              0
      -120 CREATE PUBLIC DATABASE LINK                       0
      -121 DROP PUBLIC DATABASE LINK                         0
      -125 CREATE ROLE                                       0
      -126 DROP ANY ROLE                                     0
      -127 GRANT ANY ROLE                                    0
      -128 ALTER ANY ROLE                                    0
      -130 AUDIT ANY                                         0
      -135 ALTER DATABASE                                    0
      -138 FORCE TRANSACTION                                 0
      -139 FORCE ANY TRANSACTION                             0
      -140 CREATE PROCEDURE                                  0
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
      -141 CREATE ANY PROCEDURE                              0
      -142 ALTER ANY PROCEDURE                               0
      -143 DROP ANY PROCEDURE                                0
      -144 EXECUTE ANY PROCEDURE                             0
      -151 CREATE TRIGGER                                    0
      -152 CREATE ANY TRIGGER                                0
      -153 ALTER ANY TRIGGER                                 0
      -154 DROP ANY TRIGGER                                  0
      -160 CREATE PROFILE                                    0
      -161 ALTER PROFILE                                     0
      -162 DROP PROFILE                                      0
      -163 ALTER RESOURCE COST                               0
      -165 ANALYZE ANY                                       0
      -167 GRANT ANY PRIVILEGE                               0
      -172 CREATE MATERIALIZED VIEW                          0
      -173 CREATE ANY MATERIALIZED VIEW                      0
      -174 ALTER ANY MATERIALIZED VIEW                       0
      -175 DROP ANY MATERIALIZED VIEW                        0
      -177 CREATE ANY DIRECTORY                              0
      -178 DROP ANY DIRECTORY                                0
      -180 CREATE TYPE                                       0
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
      -181 CREATE ANY TYPE                                   0
      -182 ALTER ANY TYPE                                    0
      -183 DROP ANY TYPE                                     0
      -184 EXECUTE ANY TYPE                                  0
      -186 UNDER ANY TYPE                                    0
      -188 CREATE LIBRARY                                    0
      -189 CREATE ANY LIBRARY                                0
      -190 ALTER ANY LIBRARY                                 0
      -191 DROP ANY LIBRARY                                  0
      -192 EXECUTE ANY LIBRARY                               0
      -200 CREATE OPERATOR                                   0
      -201 CREATE ANY OPERATOR                               0
      -202 ALTER ANY OPERATOR                                0
      -203 DROP ANY OPERATOR                                 0
      -204 EXECUTE ANY OPERATOR                              0
      -205 CREATE INDEXTYPE                                  0
      -206 CREATE ANY INDEXTYPE                              0
      -207 ALTER ANY INDEXTYPE                               0
      -208 DROP ANY INDEXTYPE                                0
      -209 UNDER ANY VIEW                                    0
      -210 QUERY REWRITE                                     0
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
      -211 GLOBAL QUERY REWRITE                              0
      -212 EXECUTE ANY INDEXTYPE                             0
      -213 UNDER ANY TABLE                                   0
      -214 CREATE DIMENSION                                  0
      -215 CREATE ANY DIMENSION                              0
      -216 ALTER ANY DIMENSION                               0
      -217 DROP ANY DIMENSION                                0
      -218 MANAGE ANY QUEUE                                  1
      -219 ENQUEUE ANY QUEUE                                 1
      -220 DEQUEUE ANY QUEUE                                 1
      -222 CREATE ANY CONTEXT                                0
      -223 DROP ANY CONTEXT                                  0
      -224 CREATE ANY OUTLINE                                0
      -225 ALTER ANY OUTLINE                                 0
      -226 DROP ANY OUTLINE                                  0
      -227 ADMINISTER RESOURCE MANAGER                       1
      -228 ADMINISTER DATABASE TRIGGER                       0
      -233 MERGE ANY VIEW                                    0
      -234 ON COMMIT REFRESH                                 0
      -235 EXEMPT ACCESS POLICY                              0
      -236 RESUMABLE                                         0
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
      -237 SELECT ANY DICTIONARY                             0
      -238 DEBUG CONNECT SESSION                             0
      -241 DEBUG ANY PROCEDURE                               0
      -243 FLASHBACK ANY TABLE                               0
      -244 GRANT ANY OBJECT PRIVILEGE                        0
      -245 CREATE EVALUATION CONTEXT                         1
      -246 CREATE ANY EVALUATION CONTEXT                     1
      -247 ALTER ANY EVALUATION CONTEXT                      1
      -248 DROP ANY EVALUATION CONTEXT                       1
      -249 EXECUTE ANY EVALUATION CONTEXT                    1
      -250 CREATE RULE SET                                   1
      -251 CREATE ANY RULE SET                               1
      -252 ALTER ANY RULE SET                                1
      -253 DROP ANY RULE SET                                 1
      -254 EXECUTE ANY RULE SET                              1
      -255 EXPORT FULL DATABASE                              0
      -256 IMPORT FULL DATABASE                              0
      -257 CREATE RULE                                       1
      -258 CREATE ANY RULE                                   1
      -259 ALTER ANY RULE                                    1
      -260 DROP ANY RULE                                     1
 PRIVILEGE NAME                                       PROPERTY
---------- ---------------------------------------- ----------
      -261 EXECUTE ANY RULE                                  1
      -262 ANALYZE ANY DICTIONARY                            0
      -263 ADVISOR                                           0
      -264 CREATE JOB                                        0
      -265 CREATE ANY JOB                                    0
      -266 EXECUTE ANY PROGRAM                               0
      -267 EXECUTE ANY CLASS                                 0
      -268 MANAGE SCHEDULER                                  0
      -269 SELECT ANY TRANSACTION                            0
      -270 DROP ANY SQL PROFILE                              0
      -271 ALTER ANY SQL PROFILE                             0
      -272 ADMINISTER SQL TUNING SET                         0
      -273 ADMINISTER ANY SQL TUNING SET                     0
      -274 CREATE ANY SQL PROFILE                            0
      -275 EXEMPT IDENTITY POLICY                            0
      -276 MANAGE FILE GROUP                                 1
      -277 MANAGE ANY FILE GROUP                             1
      -278 READ ANY FILE GROUP                               1
      -279 CHANGE NOTIFICATION                               0
      -280 CREATE EXTERNAL JOB                               0
166 rows selected

system_privilege_map是查询所有系统权限,总共有166个系统权限,但没有sysdba和sysoper。V$PWFILE_USERS是查询所有拥有sysdba和sysoper权限的用户,系统默认只有sys有sysdba和sysoper权限。结合可以看出sysdba和sysoper数据库管理的特殊权限是不存在数据库中的,接下来再看看sysdba和sysoper权限的区别(网上有很多我只粘来一张图片)。

总上所说system没有sysdba和sysoper权限所以system就不能创建数据库启动关闭等操作,DBA的所有操作都必须在数据库打开的情况下,sys登录必须用sysdba或sysoper身份登录。

2、oracle数据库非Dba角色用户使用as sysdba仍然可以连接相关问题

从黑屏的结果上看无论怎么写只要as sysdba都能登录成功并且都是成sys用户,这就奇怪了,oracle是怎样去管理的?

其实oracle登录的时候有三种登录验证机制(1)操作系统验证(2)密码文件验证(3)数据库验证

一般权限用户的登录验证都是第三种方式,即数据库验证,因为用户名和密码都是存储在数据库当中的。然而,SYS用户(具有SYSDBA和SYSOPER权限的用户)却不是数据库验证。在oracle数据没有启动的时候,SYS用户就可以连接到数据库,并对其进行启动等操作,所以不可能是数据库验证。SYS用户采用的是第一种和第二种验证方式。这个就清楚了,下面有两种方法解决。

(1)找到oracle的安装目录NETWORK下ADMIN目录下的sqlnet.ora文件将SQLNET.AUTHENTICATION_SERVICES= (NTS)改成SQLNET.AUTHENTICATION_SERVICES= (NONE)

(2)计算机管理用户组删除ora_dba下面用户

再次连接

3、oracle的备份还原。

(1)导出

导出具体分为:导出表、导出方案、导出数据库三中方式(可以在cmd下导出也可以在oracle的bin目录下exp.exe下导出)。导出使用exp命令来完成,学用的选项有:

userid:指定执行导出操作的用户名,口令,连接字符串。

table:指定导出操作的表。

owner:指定执行导出操作的方案。

full=y:指定执行导出操作的数据库。

rows:指定执行导出操作是否导出表中的数据。

inctype:指定执行导出操作的增量类型。

file:指定导出文件名。

实例:(导出表)exp userid=scott/[email protected] tables=(emp,dept) file=d:\data.dmp;

(导出方案)exp userid=scott/[email protected] owner=(scott) file=d:\data.dmp;

(导出数据库)exp userid=system/orcl[email protected] full=y inctype=complete  file=d:\data.dmp;

(2)导入

导入就是使用工具import将文件中的对象和数据导入到数据库中,但导入要使用的文件必须是exp所导出的文件。

imp常用的选项有

userid:指定执行导出操作的用户名,口令,连接字符串。

table:指定导出操作的表。

fromuser:指定源用户。

touser:指定目标用户。

file:指定导入文件名。

full=y:指定执行导入整个文件。

rows:指定执行导出操作是否导出表中的数据。

inctype:指定执行导出操作的增量类型。

ignore:如果表存在,则只导入数据。

时间: 2024-10-28 22:41:49

ORACLE循序渐进讲解(第四讲)的相关文章

ORACLE循序渐进讲解(第二讲)

一.ORACLE常用数据类型(其他类型不太常用) (1)字符类型 1.char 定长,最大2000字符.例如:char(10) '小明' 前四个字符放'小明'后添加6个空格补全. 2.varchar2(20) 变长,最大4000字符.例如:varchar(10) '小明' oracle分配四个字符,这样可心节省空间. 3.clob(character large objiect)字符型大对象最大4G (2)数字类型 number范围-10的38次方到10的38次方,可以表示整数,也可以表示小数.

ORACLE循序渐进讲解(第一讲)

由于工作原因很长一段时间没有使用oracle,最近花了点时间学习下,把自己所学的记录下来以便日后巩固(以10g为例). 一.ORACLE 安装和卸载 (1)ORACLE安装可以去百度上搜下只要按着步骤基本上都能安装成功.卸载稍微麻烦点需要删注册表方法网上也有很多. (2)ORACLE安装成功后会自动创建两个用户sys和system. 1.sys用户是超级用户,具有最高权限,具有dba的角色和sysdba.sysoper数据库管理权限,所有 oracle 的数据字典的基表和视图都存放在sys 用户

ORACLE循序渐进讲解(第三讲)

一.oracle常用系统函数 1.日期类函数 (1)to_date(字符串,格式) SQL> select to_date('2014-10-11 12:13:14','yyyy-mm-dd hh:mi:ss') from dual; TO_DATE('2014-10-1112:13:14',' ------------------------------ 2014-10-11 12:13:14 (2)获取当前月份的第一天. SQL> select trunc(sysdate,'month')

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议把昨天代码熟悉一遍(课程是紧跟着来的,请不要拉下任何一天,因为今天的知识, 可能就和昨天的知识挂钩,昨天的知识,和前天的挂钩.....,当然你如你懂汇编,不是新手,那么则可以直接往下看) 一丶远程线程注入,和汇编远程注入的区别 昨天的代码,大家可能看了(没看也没有关系,就是远程线程注入的代码,开发角

Stanford机器学习---第十四讲.机器学习应用举例之Photo OCR

http://blog.csdn.net/l281865263/article/details/50278745 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.内容大多来自Standford公开课machine lear

第四讲 社会主义初级阶段的分配与消费

第四讲  社会主义初级阶段的分配与消费1 <马克思主义与改革>(经济学篇) 第一节  我国国民收入的分配 一.社会总产值和国民收入 社会总产值是指我国一年内由物质生产部门劳动者生产出来的社会总产品的总价值.全国在一年中生产的物质资料,表现为实物形式和价值形式.从实物上称为社会总产品,它分为生产资料和消费资料两部分:从价值上称为社会总产值,它分为生产中消耗的生产资料旧价值和劳动者创造的新价值.其中新价值又分为两部分,一是劳动力价值即劳动者报酬,二是剩余价值即经营利润. 国民收入是社会总产值的一部

Oracle笔记(十四) 用户管理

Oracle笔记(十四) 用户管理 SQL语句分为三类:DML.DDL.DCL,之前已经讲解完了DML和DDL,现在就差DCL操作的,DCL主要表示的是数据库的控制语句,控制的就是操作权限,而在DCL之中,主要有两个语法:GRANT.REVOKE: 权限的操作基础是需要有用户的,而这个时候就需要通过一个新的用户进行演示,而要想创建新用户则首先必须是具备管理员权限的sys.system两个用户操作. 范例:创建一个dog用户,密码为wangwang CONN sys/change_on_insta

常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.

常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战. PS:上面是操作.最后是原理 一丶需要了解的API 使用全局钩子注入.我们需要了解几个WindowsAPI. 不需要太多. 1. 设置钩子API HHOOK WINAPI SetWindowsHookEx( _In_ int idHook, 设置钩子的类型.意思就是我要设置的钩子是什么钩子. 可以是监视窗口过程.可以是监视消息队列. _In_ HOOKPROC lpfn, 根据钩子类型.设置不同的回调函数

第四讲课后题

本讲主要学习了静态类的使用方法: 1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?". 代码: 1 package 课后四讲; 2 3 import javax.swing.JOptionPane; 4 5 class Example 6 { 7 static int value=0; 8 public Example() 9 { 10 value++; 11 12 } 13 } 14 public cl