oracle 9i 入门(初级教程)-----6

Oracle 数据库的管理

1. Oracle 9i 中两个最重要的用户 sys system

    下面分析二者的区别

(1)       存储的数据的重要性不同

sys 存放所有oracle 用户的数据字典的基表和动态视图,这些基表和视图对于oracle 的运行是至关重要的,由oracle 自己维护,任何用户都不能手动更新。sys 用户具有dbasysdbasysoper 的角色,是oracle 权限最高的用户

system 存放次一级的数据,如oracle 的一些特性或工具的管理 信息,具有dbasysdba 角色

(2)       权限不同

sys 必须以as sysdba 或者 as sysoper 登陆,不能以normal 登陆

system 如果不加as sysdba 登陆,就是一个普通的dba 用户,否则其实是以sys 用户登陆的

(3)       sysdbasysoper 角色具有的权限

 

sysdba

sysoper

启动数据库

启动数据库

关闭数据库

关闭数据库

Alter database open/mount/backup

Alter database open/mount/backup

改变字符集

No

Create database

No

Drop database

No

Create spfile

Create spfile

Alter database archivelog (归档日志)

Alter database archivelog (归档日志)

Alter database recorver (恢复数据库)

只能完全恢复,不能执行不完全恢复

拥有 restricted session (会话限制)的权限

拥有 restricted session (会话限制)的权限

可以让用户作为sys 用户连接数据库

可以进行一些基本操作,但不能查看用户数据

登陆之后是sys

登陆之后是PUBLIC

   

4DBA 权限的用户只有在数据库启动之后才能进行各种管理操作

2. 显示初始化参数

    Show parameter

    如果想修改这些参数(数据库调优的时候),需要到 \oracle\admin\’ 你的数据库实例名称’\pfiel\init.ora 中去修改

3. 数据库的备份

    物理备份:直接复制,数据库关闭的情况下仍然可以

    逻辑备份:使用命令,将数据导出,只能在数据库open 的情况下

        导出分3 种:导出表、导出方案、导出数据库

        导出表 exp userid=scott/scott@ORCL tables=(tb1,tb2) file=D:\ddd.dmp (导出别的方案的表时,需要加 限定 scott.emp , 需要DBA 权限或者exp_full_database 的权限 )

        只是导出表结构 :exp userid=scott/scott@ORCL tables=(tb1,tb2) file=D:\ddd.dmp rows=n

        使用直接导出方式:exp userid=scott/scott@ORCL tables=(tb1,tb2) file=D:\ddd.dmp direct=y , 速度比较快,但是要求数据库字符集与客户端字符集一致

        导出方案 exp userid=scott/scott@ORCL owner=(scott) file=D:\ss.dmp

        导出其他方案 exp userid=system/manager@ORCL owner=(system,scott) file=D:\ss.dmp , 需要DBA 权限或者exp_full_database 的权限

        导出整个数据库   exp userid=system/manager@ORCL full=y inctype=complete file=D:\ff.dmp 需要DBA 权限或者exp_full_database 的权限 inctype=complete 表示增量备份,第一次备份不会有影响,下一次的时候会快

        导入常用的指令

        Fromuser 用于指定源用户

        Touser 用于指定目标用户

        Inctype 用于指定执行导入操作的增量类型

        Ignore 如果表存在,则只导入数据

        导入和导出相似

        用那个用户导入,那么数据对象就存在于那个用户(方案)下

        导入自身方案: imp scott/scott file=D:\dddd.dmp

        导入其他方案: imp system/manager file=D:\dddd.dmp fromuser=system touser=scott 要求该用户具有DBA 权限

4 . 数据字典

(1) Oracle 数据库最重要的组成部分,提供数据库的系统信息,是静态的。是只读表和视图集合,数据字典的所有者为sys 用户,用户只能查询,维护和修改由系统自动完成

(2) 数据字典包括数据字典基表和数据字典视图。基表存储数据库的基本信息,普通用户不能直接访问;视图是基于基表的视图,普通用户可以通过视图获得系统信息。

3 )数据字典视图主要包括 user_XXXXall_XXXXdba_XXXX

查询本用户的所有表 select table_name from user_tables;

查询本用户能访问的所有表: select table_name from all_tables;

查询数据库的所有表(DBA 权限或select any table 的权限):select table_name from dba_tables;

4 ) 在建立用户时,oracle 会把用户信息存储在数据字典中;当给用户授权时,也会想相应信息存储在数据字典中

    DBA_USERS 数据库用户视图

    DBA_SYS_PRIVS 用户具有的系统权限视图

    DBA_TAB_PRIVS 用户具有的对象权限视图

    DBA_COL_PRIVS 用户具有的列权限视图

    DBA_ROLE_PRIVS 用户具有的角色视图

    DBA_ROLES Oracle 具有的角色

5 ) 如何查询角色包含的权限

    其实是查询该角色的对象权限和系统权限,以DBA 角色为例

    系统权限:select * from dba_sys_privs where grantee = ‘DBA’( 或者从role_sys_privs 视图中)

    对象权限:select * from dba_tab_privs where grantee = ‘DBA’

6 ) 显示当前用户可以访问的数据字典视图(只有这一条语句,上面的全部解决)

        Select * from DICT where comments like ‘%grant%’

5. 动态性能视图,记载了例程启动后的相关信息

    启动oracle 时,系统建立动态性能视图,关闭是删除

    动态性能视图的所有者为sys

1.       表空间

1 ) 表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在文件中,从逻辑上讲,数据库存在表空间中。表空间由一个或者多个数据文件组成。

Oracle 的逻辑结构由表空间、段、区、块构成。表空间个数不受限制。数据库逻辑上是由多个表空间构成的、段构成表空间、区构成段、块构成区

2 ) 表空间的作用

    a) 控制数据库占用的磁盘空间

    b) DBA 可以将不同的数据类型放在不同的表空间中,提高I/O 性能,有利于备份 和恢复数据

3 ) 创建表空间

    由特权用户或者DBA 用户,或者具有CREATE TABLESPACE 系统权限 的用户

    CREATE TABLESPACE tp01   DATAFILE ‘D:\dd.dbf’ size =20M uniform =128K

    上述命令创建名为tp01 的表空间,并为该表空间简历名为dd.dbf 的数据文件,大小 为20M (指定的时候不能超过500M ,如果不够可以扩展,但这里不能超过500M ),区的大小为128K

(4)       改变表空间状态

a)       脱机(不可访问) alter tablespace tsName offline;

b)       联机 alter tablespace tsName online;

c)       只读(只能是普通表空间,不能是系统表空间。表空间下数据对象变为只读) alter tablespace tsName read only;

d)       读写 alter tablespacce tsName read write;

(5)       删除表空间

Drop tablespace tsName including contents and datafiles

Including contents 表示删除表空间的时候同时删除数据对象,datafiles 表示连同数据文件一并删除

(6)       扩展表空间

表空间由数据文件构成,表空间的大小实际上是数据文件大小相加的后的大小。

a)       增加数据文件

Alter tablespace tsName add datafile =D:\ddd.dbf size 20M

(不能超过500M

b)       改变数据文件大小 Alter tablespace tsName D:\dd.dbf resize 200M (不能超过500M

c)       设置文件自动增长

Alter tablespace tsName dataflie D:\dd.dbfautoextend on next 10M maxsize 500M

(7)       移动数据文件

a)       表空间脱机 alter tablespace tsName offline;

b)       移动数据文件到指定位置

sql>host move D:\ts00001.dbf E:\ts999.dbf

c)       修改表空间数据文件

Alter tablespace tsName rename datafile ‘D:\ts000001.dbf’ to ‘E:\ts999.dbf’

d)       表空间联机 alter tablespace tsName online

8. 索引

1 user_constraints  显示当前用户约束信息

      user_cons_columns 显示约束所对应的列

2user_index 显示用户的索引

     dba_index 显示所有索引

      user_ind_columns 显示索引对应的列

3oracle 会为 unique  字段自动加unique 索引

9. 权限

    1 ) 系统权限:是指执行特定类型SQL 命令的权限。比如用户具有create table 系统权限的时候,可以在自己的方案中建表,具有create any table 系统权限,可以在任何方案中建表

        a) 系统权限的查看 select * from system_privilege_map

        b) 一般由DBA 授予用户系统权限,或是具有grant any privilege 的系统权限的用户,可以带有 with admin option ,代表权限可以继续下放

        grant priv_1 [,priv_2 ] to aUser [ with admin option ]

    10. 角色:相关权限的命令集合

    几个重要的系统预定义角色

(1)       connect 角色

该角色具有一般应用开发人员需要的大部分权限

alter session 修改会话

create cluster

create database link

create session 连接数据库

create table

create view

create squence

(2)       rescource 角色

该角色隐含了unlimited tablespace 的系统权限

Create cluster

Create indextpye

Create table

Create sequence

Create type

Create procedure

Create trigger

(3)       dba 角色

具有几乎所有系统权限,及 with admin option 选项,但是不具备sysdba sysoper 权限(启动和关闭数据库)

    自定义角色(一般由DBA 定义,或者具有create role 系统权限的用户)

(1)       建立角色(不需验证)

Create role 角色名 not identified

(2)       建立角色(需验证)

Create role 角色名identified by 密码

(3)       给角色授权

和给用户授权区别不大,但是系统权限 unlimited tablespace 和对象权限的 with grant option 不能授予角色

(4)       删除角色

DBA 或者 具有 drop any role 的系统权限

(5)       显示所有角色(包含预定义和自定义) Select * from dba_roles

角色具有点的系统权限 select * from role_sys_privs where role=’ 角色名

   角色具有的对象权限或者列权限 dba_tab_privs

   某个用户具有的角色 dba_role_privs where grantee=’ 用户名

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
oracle 9i所有版本最新下载链接 直接迅雷下载 Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.zip http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk2.zip http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk3.zip Oracle9i Database Release 2 Enterprise/Standard/Personal/Client Edition for Windows XP 2003/Windows Server 2003 (64-bit) http://download.oracle.com/otn/nt/oracle9i/9202/92021Win64_Disk1.zip http://download.oracle.com/otn/nt/oracle9i/9202/92021Win64_Disk2.zip Oracle9i Database Release 2 Enterprise/Standard Edition for Intel Linux http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz Oracle9i Database Release 2 (9.2.0.4) Enterprise/Standard Edition for Linux x86-64 http://download.oracle.com/otn/linux/oracle9i/9204/amd64_db_9204_Disk1.cpio.gz http://download.oracle.com/otn/linux/oracle9i/9204/amd64_db_9204_Disk2.cpio.gz http://download.oracle.com/otn/linux/oracle9i/9204/amd64_db_9204_Disk3.cpio.gz Oracle9i Database Release 2 Enterprise/Standard Edition for AIX – Based 4.3.3 Systems (64-bit) http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk1.cpio.gz http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk2.cpio.gz http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk3.cpio.gz http://download.oracle.com/otn/aix/oracle9i/9201/server_9201_AIX64_Disk4.cpio.gz Oracle9i Database Release 2 Enterprise/Standard Edition for AIX- Based 5L Systems http://download.oracle.com/otn/aix/oracle9i/9201/A99331-01.zip http://download.oracle.com/otn/aix/oracle9i/9201/A99331-02.zip http://download.oracle.com/otn/aix/oracle9i/9201/A99331-03.zip http://download.oracle.com/otn/aix/oracle9i/9201/A99331-04.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值