权限(Privilege)是指执行特定类型SQL命令或访问其他方案对象的权利,权限包括系统权限和对象权限两种类型.系统权限(System Privilege)是指执行特定类型SQL命令的权利,它用于控制用户可以执行的一个或一组数据库操作.常用的系统权限:
CREATE SESSION 连接到数据库
CREATE TABLE 建表
CREATE VIEW 建立视图
CREATE PUBLIC SYNONYM 建立同义词
CREATE SEQUENCE 建立序列
CREATE PROCEDURE 建立过程,函数和包
CREATE TRIGGER 建立触发器
CREATE CLUSTER 建立簇
CREATE TYPE 建立对象类型
CREATE DATABASE LINK 建立数据库链
另外,oracle还提供了一类ANY系统权限,当用户具有该类系统权限时,可以在任何方案中执行相应操作.如果用户具有SELECT ANY TABLE系统权限,那么用户可以查询任何方案的表.
需要注意,当初始化参数O7_DICTIONARY_ACCESSIBILITY被设置为FALSE时,除了SYSDBA和DBA用户外,即使用户具有SELECT ANY TABLE权限,也不能访问数据字典基表和数据字典视图DBA_XXX.
对象权限(Object privilege)是指访问其他方案对象的权利,它用于控制用户对其他方案对象的访问.
管理系统权限
授予系统权限
GRANT system_priv[,system_priv,…]
To {user | role | PUBLI ......
Oracle数据库字符集问题解析(本文系整理他人帖子形成)
经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下。
第一次迭代:掌握字符集方面的基本概念
有些朋友可能会认为这是多此一举,但实际上正是由于对相关基本概念把握不清,才导致了诸多问题和疑问。
首先是字符集的概念。
我们知道,电子计算机最初是用来进行科学计算的(所以叫做“计算机”),但随着技术的发展,还需要计算机进行其它方面的应用处理。这就要求计算机不仅能处 理数值,还能处理诸如文字、特殊符号等其它信息,而计算机本身能直接处理的只有数值信息,所以就要求对这些文字、符号信息进行数值编码,最初的字符集是我们都非常熟悉的ASCII,它是用7个二进制位来表示128个字符,而后来随着不同国家、组织的需要,出现了许许多多的字符集,如表示西欧字符的 ISO8859系列的字符集,表示汉字的GB2312-80、GBK等字符集。
字符集的实质
就是对一组特定的符号,分别赋予不同的数值编码,以便于计算机的处理。
字符集之间的转换。
字符集多了,就会带来一个问题,比如一个字符,在某一字符集中被编码为一个数值,而在另一个字符集中被编码为另一个 ......
在进行数据库管理的时候,忽然一下记不起命令和语法,特别是给客户做演示,或者是现场实施,有没有办法查手册,没有办法,实在是尴尬,我们使用linux的时候,也是通过大量的命令行命令来进行系统的维护,如此多的命令,难免会对一些命令遗忘,不过linux里的man命令,可以帮我们找到相应命令的大部分的用法描述,根据这个man命令,我们就可以减少开篇碰到的这样的尴尬了。
其实在Oracle里也有这样的一个在线帮助的系统,不过可能是大家么有安装,或者安装的默认的形式,所以不知道Oracle已经提供这样的方式,或者默认的方式功能介绍的太模糊,而慢慢的淡化了这个工具的使用,
今天这里,我就带着大家一起安装开启和扩展我们的Oracle的在线帮助系统
Oracle的在线帮助系统是通过ystem.help这个表来实现的,这个表里储存了Oracle里sql信息
敲入
SQL>desc system.help;
名称 是否为空? 类型
----------------------------------------- -------- --------------
TOPIC ......
step1
在联机时做备份(基于恢复目录的备份,做了控制文件的自动备份),包括所有数据文件及归档的日志文件:
rman>run{
backup format 'c:\bak\test_full_%u' database;
sql 'alter system archive log current';
backup format 'c:\bak\test_log_%u' archivelog all delete input;
}
step2
sql>insert into lsf.aa values('a','b');
sql>commit;
sql>alter system switch logfile;
rman>shutdown immediate;
手动删除所有文件(控制文件、数据文件、联机日志文件)
step3
RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> alter database mount;
step4
RMAN> list backup of archivelog from time='sysdate-2'; ......
server A: 10.85.10.44 SID=orcl
target server B: 10.85.10.43
oracle version:10.2.0.1
OS platform : windows XP
Data Guard默认是maximize performance, 可以用以下语句来进行模式间的切换。
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE {PROTECTION | AVAILABILITY | PERFORMANCE};
修改主数据库保护模式需要重启数据库才能生效。
select protection_mode,protection_level from v$database;
Primary设置:
1. 设置主数据库为force logging 模式
SQL>sqlplus "/as sysdba"
SQL>alter database force logging;
2. 设置主数据库为归档模式
SQL> archive log list
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> archive log list
3. 添加"备用联机日志文件"
先查看日志文件位置:
SQL>select * from v$logfile;
在添加:
SQL> alter database add standby logfile group 4 ('D:\ORACLE\PRODUCT\10.2 ......
oracle10g新特性:闪回恢复区(Flash recovery area)
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的。这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了。oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的flashback log实现的。flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将数据库往后滚。为了保存管理和备份恢复相关的文件,oracle10g提供了一个叫做闪回恢复区(Flashback recovery area)的新特性,可以将所有恢复相关的文件,比如flashback log,archive log,backup set等,放到这个区域集中管理。
1.设置闪回恢复区
闪回恢复区主要通过3个初始化参数来设置和管理
db_recovery_file_dest:指定闪回恢复区的位置
db_recovery_file_dest_size:指定闪回恢复区的可用空间大小
db_flashback_retention_target:指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是一天。当然,实际上可回退的时间还决定于闪回恢复区的大小,因为里面保存了回退所需要的flash log。所以这个参数要和db_reco ......