Ⅰ oracle 数据库的外模式,内模式,模式。
一、模式(Schema)
定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:
①
一个数据库只有一个模式;
②
是数据库数据在逻辑级上的视图;
③
数据库模式以某一种数据模型为基础;
④
定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
二、外模式(External
Schema)
定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解:
①
一个数据库可以有多个外模式;
②
外模式就是用户视图;
③
外模式是保证数据安全性的一个有力措施。
三、内模式(Internal
Schema)
定义:也称存储模式(Storage
Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
①
一个数据库只有一个内模式;
②
一个表可能由多个文件组成,如:数据文件、索引文件。
它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
其目的有:
①
为了减少数据冗余,实现数据共享;
②
为了提高存取效率,改善性能。
Ⅱ 如何设置oracle为共享模式
一、将数据库操作模式改为共享服务器模式
注:在Oracle数据库服务器本机操作。
1、 点击开始,从程序菜单选择“Database Configuration Assistant”,如下图所示。
2、 进入“欢迎使用”界面后,点击“下一步”,如下图所示。
3、 进入“步骤1(共4步):操作”界面后,选择“在数据库中配置数据库选项”,点击“下一步”,如下图所示。
4、 进入“步骤2(共4步):数据库”界面后,选择可用数据库(本机Oracle数据库服务名),点击“下一步”,如下图所示。
5、 进入“步骤3(共4步):数据库特性”界面后,点击“下一步”,如下图所示。
6、 进入“步骤4(共4步):数据库连接选项”界面后,选择“共享服务器模式”,点击“编辑共享连接参数…”,如下图所示。
7、
进入“共享服务器模式”界面后,协议选择为TCP;调度程序数设置为5;每个调度程序的最大连接数设置为100;最大调度程序数设置为5;最大服务器进程数设置为600,点击“确定”,如下图所示。
8、 返回到“步骤4(共4步):数据库连接选项”界面后,点击“完成”,如下图所示。
9、 系统弹出“重新启动数据库”提示,点击“是”,如下图所示。
10、进入“概要”界面后,点击“确定”,数据库配置正在进行…如下图所示。
11、系统弹出“数据库配置已成功完成。是否要执行其他操作?”提示,点击“否”,如下图所示。
12、数据库操作模式改为共享服务器模式已完成!
Ⅲ oracle数据库如何切换模式
oracle dg 三大模式切换
1、最大性能模式MAXIMUM PERFORMANCE --默认模式,最大性能模式特点。
192.168.1.181
SQL>selectdatabase_role,protection_mode,protection_levelfromv$database;
DATABASE_ROLEPROTECTION_MODEPROTECTION_LEVEL
--------------------------------------------------------
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_configstringdg_config=(orcl,db01)
log_archive_dest_1stringlocation=/home/oracle/arch_orc
lvalid_for=(all_logfiles,all_
roles)db_unique_name=orcl
log_archive_dest_2stringservice=db_db01LGWRASYNCval
id_for=(online_logfiles,primar
y_roles)db_unique_name=db01
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence31
Nextlogsequencetoarchive33
Currentlogsequence33
192.168.1.183
SQL>selectdatabase_role,protection_mode,protection_levelfromv$database;
DATABASE_ROLEPROTECTION_MODEPROTECTION_LEVEL
--------------------------------------------------------
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_configstringdg_config=(db01,orcl)
log_archive_dest_1stringlocation=/home/oracle/arch_db0
1valid_for=(all_logfiles,all_
roles)db_unique_name=db01
log_archive_dest_2stringservice=db_orclLGWRASYNCval
id_for=(online_logfiles,primar
y_roles)db_unique_name=orcl
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence31
Nextlogsequencetoarchive33
Currentlogsequence33
192.168.1.181
SQL>altersystemswitchlogfile;
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence32
Nextlogsequencetoarchive34
Currentlogsequence34
192.168.1.183
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence32
Nextlogsequencetoarchive0
Currentlogsequence34
2 、最大性能模式--切换到-->最大高可用 (默认是最大性能模式---MAXIMUM PERFORMANCE)。
192.168.1.181
SQL>selectDATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVELfromv$database;
DATABASE_ROLEPROTECTION_MODEPROTECTION_LEVEL
--------------------------------------------------------
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRASYNCval
id_for=(online_logfiles,primar
y_roles)db_unique_name=db01
192.168.1.181
SQL>shutdownimmediate
192.168.1.183
SQL>;
SQL>shutdownimmediate
192.168.1.181
SQL>startupmount;
SQL>;
SQL>altersystemsetlog_archive_dest_2='service=db_db01LGWRSYNCvalid_for=(online_logfiles,primary_roles)db_unique_name=db01'scope=spfile;
192.168.1.183
SQL>startupnomount
SQL>;
SQL>altersystemsetlog_archive_dest_2='service=db_orclLGWRSYNCvalid_for=(online_logfiles,primary_roles)db_unique_name=orcl'scope=spfile;
SQL>shutdownimmediate
SQL>startupnomount
SQL>;
192.168.1.181
SQL>startup
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=db01
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence34
Nextlogsequencetoarchive36
Currentlogsequence36
192.168.1.183
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_orclLGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=orcl
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence35
Nextlogsequencetoarchive0
Currentlogsequence36
192.168.1.181
SQL>altersystemswitchlogfile;
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence35
Nextlogsequencetoarchive37
Currentlogsequence37
192.168.1.183
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence36
Nextlogsequencetoarchive0
Currentlogsequence37
3、最大高可用--切换到-->最保护能模式,DG最大保护模式Maximum protection。
192.168.1.181
SQL>shutdownimmediate
192.168.1.183
SQL>shutdownimmediate
192.168.1.181
SQL>;
SQL>shutdownimmediate
192.168.1.183
SQL>startupnomount
SQL>;
192.168.1.181
SQL>startup
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=db01
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence37
Nextlogsequencetoarchive39
Currentlogsequence39
192.168.1.183
SQL>coldest_namefora25
SQL>selectdest_name,statusfromv$archive_dest_status;
DEST_NAMESTATUS
----------------------------------
LOG_ARCHIVE_DEST_1VALID
LOG_ARCHIVE_DEST_2VALID
SQL>showparameterlog_archive_dest_2
NAMETYPEVALUE
--------------------------------------------------------------------------
log_archive_dest_2stringservice=db_db01LGWRSYNCvali
d_for=(online_logfiles,primary
_roles)db_unique_name=db01
SQL>selectdatabase_role,protection_level,protection_modefromv$database;
DATABASE_ROLEPROTECTION_LEVELPROTECTION_MODE
--------------------------------------------------------
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence37
Nextlogsequencetoarchive0
Currentlogsequence39
192.168.1.181
SQL>altersystemswitchlogfile;
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_orcl
Oldestonlinelogsequence38
Nextlogsequencetoarchive40
Currentlogsequence40
192.168.1.183
SQL>archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
Archivedestination/home/oracle/arch_db01
Oldestonlinelogsequence37
Nextlogsequencetoarchive0
Currentlogsequence40
Ⅳ Oracle数据库的管理
安全的实现 在多用户环境中 有效管理Oracle数据库最重要的方面就是创建一个安全模式来控制对数据库的访问和更改 在一个Oracle中 可以对单独的用户或数据库角色授予安全许可 安全管理一般在 个级别中执行 ·数据库级·操作系统级·网络安全级 用户名 权限 组和角色 DBA或数据库安全管理员创建用户名(username)来提供有效的用户标识符 用来和数据库连接 在安装过程中自动创建两个赋予DBA角色的用户账号 SYS和SYSTEM 角色(role)是权限的命名组 可以被创建 更改或删除 在大多数实现中 DBA或安全管理员为用户创建用户名并分配角色 从而赋予用户一个权限集 每个数据库都有个伪角色 称为PUBLIC 它包含所有的拥护 所有的用户都可以赋予PUBLIC权限 如果通过关键字PUBLIC创建了数据库链接 那么对于所有用户这些链接都是可见的 安全权限 有 个基本的安全权限可适用于Oracle数据库中的数据 ·SELECT 执行查询·INSERT 在表或视图中插入行·UPDATE 更新表或视图中的行·DELETE 从表 表分区或视图中删除行除了这些数据特定的权限外 还有以下用于数据库模式中对象的权限 ·CREATE 在模式中创建表·DROP 在模式中删除表·ALTER 更改表或视图所有权限都是通过两个SQL命令来处理 GRANT命令把一个特定的权限赋予一个用户或角色 REVOKE命令用于取消某个特定的权限 其中任何一个命令都可以结合关键字PUBLIC对所有的用户赋予或取消某个权限 默认角色和权限 默认角色和权限集是Oracle安装过程中预先定义的 每个版本的默认角色都有所变化CONNECT可用于注册登录到数据库 创建对象和执行导出 RESOURCE可用于创建过程 触发器 以及用户模式区内的类型 DBA赋予无限制的权限 SYSOPER权限集 允许远程地建立与数据库的连接 并执行有限的已授权的操作 包括启动和关闭 SYSDBA权限集 和DBA角色十分相近 包含了SYSOPER权限集以及ADMIN OPTION所有的权限 可用于与远程数据库连接 并远程执行已授权的操作 如关闭或启动数据库 EXP_FULL_DATABASE允许执行任何数据库对象导出操作 并且将导出操作记录在数据字典中 IMP_FULL_DATABASE可用于成为数据库的用户 这样用户的对象就可以导入适当的模式内 DELETE_CATALOG_ROLE可用于从SYS AUD$审计表中删除行 EXECUTE_CATALOG_ROLE可用于执行恢复目录中列出的所有导出包 SELECT_CATALOG_ROLE可用于从所有导出恢复目录视图和表中选择角色 RECOVERY_CATALOG_OWNER可用于创建恢复目录的所有者 SNMPAGENT可用于Oracle企业智能代理 DBA角色STARTUP启动一个数据库实例 SHUTDOWN关闭数据库实例 ALTER DATABASE OPEN打开一个已安装的但是关闭的数据库 ALTER DATABASE MOUNT通过前面的启动实例来安装一个数据库 ALTER DATABASE BACKUP例如 启动一个控制文件的备份 但是现在用的大多是通过RMAN来备份ALTER DATABASE ARCHIVELOG指定在日志文件组可以重用之前 日志文件组的内容必须归档 ALTER DATABASE RECOVER逐个地应用日志或启动日志文件的自动化应用 CREATE DATABASE创建并命名一个数据库 指定数据文件和大小 并指定日志文件及其大小 还要设置参数限制RESTRICTED SESSION可用于与受限(Restricted)模式中启动的数据库相连接 设计受限模式的目的是使用户避免进行某些数据库操作DBA角色的权限一般用于对用户分配表空间配额 设置系统资源限制以及建立审计 安全审计 lishixin/Article/program/Oracle/201311/16942
Ⅳ Oracle数据库体系结构
Oracle数据库的体系结构包括四个方面 数据库的物理结构 逻辑结构 内存结构及进程 物理结构物理数据库结构是由构成数据库的操作系统文件所决定 Oracle数据库文件包括 数据文件(Data File) 数据文件用来存储数据库中的全部数据 例如数据库表中的数据和索引数据 通常以为* dbf格式 例如:userCIMS dbf 日志文件(Redo Log File) 日志文件用于记录数据库所做的全部变更(如增加 删除 修改) 以便在系统发生故障时 用它对数据库进行恢复 名字通常为Log* dbf格式 如 Log CIMS dbf Log CIMS dbf 控制文件(Control File) 每个Oracle数据库都有相应的控制文件 它们是较小的二进制文件 用于记录数据库的物理结构 如 数据库名 数据库的数据文件和日志文件的名字和位置等信息 用于打开 存取数据库 名字通常为Ctrl*ctl 格式 如Ctrl CIMS ctl 配置文件 配置文件记录Oracle数据库运行时的一些重要参数 如 数据块的大小 内存结构的配置等 名字通常为init* ora 格式 如 initCIMS ora 逻辑结构Oracle数据库的逻辑结构描述了数据库从逻辑上如何来存储数据库中的数据 逻辑结构包括表空间 段 区 数据块和模式对象 数据库的逻辑结构将支配一个数据库如何使用系统的物理空间 模式对象及其之间的联系则描述了关系数据库之间的设计 一个数据库从逻辑上说是由一个或多个表空间所组成 表空间是数据库中物理编组的数据仓库 每一个表空间是由段(segment)组成 一个段是由一组区(extent)所组成 一个区是由一组连续的数据库块(database block)组成 而一个数据库块对应硬盘上的一个或多个物理块 一个表空间存放一个或多个数据库的物理文件(即数据文件) 一个数据库中的数据被逻辑地存储在表空间上 表空间(tablespace) Oracle数据库被划分为一个或多个称为表空间的逻辑结构 它包括两类表空间 System表空间和非System表空间 其中 System表空间是安装数据库时自动建立的 它包含数据库的全部数据字典 存储过程 包 函数和触发器的定义以及系统回滚段 除此之外 还能包含用户数据 一个表空间包含许多段 每个段有一些可以不连续的区组成 每个区由一组连续的数据块组成 数据块是数据库进行操作的最小单位 每个表空间对应一个或多个数据文件 每个数据文件只能属于一个表空间 数据库块(database block) 数据库块也称逻辑块或ORACLE块 它对应磁盘上一个或多个物理块 它的大小由初始化参数db block size(在文件init ora中)决定 典型的大小是 k Pckfree 和pctused 两个参数用来优化数据块空间的使用 区(extent) 区是由一组连续的数据块所组成的数据库存储空间分配的逻辑单位 段(segment) 段是一个或多个不连续的区的集合 它包括一个表空间内特定逻辑结构的所有数据 段不能跨表空间存放 Oracle数据库包括数据段 索引段 临时段 回滚段等 模式对象(schema object) Oracle数据库的模式对象包括表 视图 序列 同意词 索引 触发器 存储 过程等 关于它们将重点在后面章节介绍 .Oracle Server系统进程与内存结构当在计算机服务器上启动Oracle数据库后 称服务器上启动了一个Oracle实例(Instance) ORACLE 实例(Instance)是存取和控制数据库的软件机制 它包含系统全局区(SGA)和ORACLE进程两部分 SGA是系统为实例分配的一组共享内存缓冲区 用于存放数据库实例和控制信息 以实现对数据库中数据的管理和操作 进程是操作系统中一个极为重要的概念 一个进程执行一组操作 完成一个特定的任务 对ORACLE数据库管理系统来说 进程由用户进程 服务器进程和后台进程所组成 当用户运行一个应用程序时 系统就为它建立一个用户进程 服务器进程处理与之相连的用户进程的请求 它与用户进程相通讯 为相连的用户进程的ORACLE请求服务 为了提高系统性能 更好地实现多用户功能 ORACLE还在系统后台启动一些后台进程 用于数据库数据操作 系统进程的后台进程主要包括 SMON 系统监控进程 (system monitor)负责完成自动实例恢复和回收分类(sort)表空间 PMON 进程监控进程 (process monitor)实现用户进程故障恢复 清理内存区和释放该进程所需资源等 DBWR 数据库写进程 数据库缓冲区的管理进程 在它的管理下 数据库缓冲区中总保持有一定数量的自由缓冲块 以确保用户进程总能找到供其使用的自由缓冲块 LGWR 日志文件写进程 是日志缓冲区的管理进程 负责把日志缓冲区中的日志项写入磁盘中的日志文件上 每个实例只有一个LGWR进程 ARCH 归档进程 (archiver process)把已经填满的在线日志文件拷贝到一个指定的存储设备上 仅当日志文件组开关(switch)出现时 才进行ARCH操作 ARCH不是必须的 而只有当自动归档可使用或者当手工归档请求时才发出 RECO 恢复进程 是在具有分布式选项时使用的一个进程 主要用于解决引用分布式事务时所出现的故障 它只能在允许分布式事务的系统中出现 LCKn 封锁进程 用于并行服务器系统 主要完成实例之间的封锁 内存结构(SGA) SGA是Oracle为一个实例分配的一组共享内存缓冲区 它包含该实例的数据和控制信息 SGA在实例启动时被自动分配 当实例关闭时被收回 数据库的所有数据操作都要通过SGA来进行 SGA中内存根据存放信息的不同 可以分为如下几个区域 Buffer Cache 存放数据库中数据库块的拷贝 它是由一组缓冲块所组成 这些缓冲块为所有与该实例相链接的用户进程所共享 缓冲块的数目由初始化参数DB_BLOCK_BUFFERS确定 缓冲块的大小由初始化参数DB_BLOCK_SIZE确定 大的数据块可提高查询速度 它由DBWR操作 b 日志缓冲区Redo Log Buffer 存放数据操作的更改信息 它们以日志项(redo entry)的形式存放在日志缓冲区中 当需要进行数据库恢复时 日志项用于重构或回滚对数据库所做的变更 日志缓冲区的大小由初始化参数LOG_BUFFER确定 大的日志缓冲区可减少日志文件I/O的次数 后台进程LGWR将日志缓冲区中的信息写入磁盘的日志文件中 可启动ARCH后台进程进行日志信息归档 c 共享池Shared Pool 包含用来处理的SQL语句信息 它包含共享SQL区和数据字典存储区 共享SQL区包含执行特定的SQL语句所用的信息 数据字典区用于存放数据字典 它为所有用户进程所共享 Cursors 一些内存指针 执行待处理的SQL语句 其他信息区 除了上述几个信息区外 还包括一些进程之间的通讯信息(如封锁信息) 在多线索服务器配置下 还有一些程序全局区的信息 请求队列和响应队列等 lishixin/Article/program/Oracle/201311/18784
Ⅵ 3ORACLE数据库日志有哪几种模式,如何在不同模式中切换
有两种模式:
一:日志模式,日志模式的设置分为Archive
Mode和No
Archive
Mode。
二:自专动归属档模式:自动归档模式的设置分为:Enabled和Disabled
可用可用archive
log
list命令来查看数据库的现行日志和自动归档模式的设置。
希望对你有帮助。
Ⅶ 怎么查看oracle的数据库模式
查看那些库的话必须用dba权限登录。登陆后可以通过下面的方法来查看。
一、查看有哪些库,你的库理解不准确,应该准确来说是表空间,可以通过下面的命令来实现
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name
二、查看有哪些表。
1
select table_name from dba_tables where owner='A';