- 浏览: 28513 次
- 性别:
- 来自: 北京
最新评论
-
my_ora:
本文作了解还是不错的,就当学学知识了。。。
oracle 优化器
文章列表
Linux 不启动KDE设置
- 博客分类:
- shell
每次启动linux,都启动KDE感觉太麻烦了,而且占得资源也比较多,索性干脆只启动基本的命令模式。。
以下是只启动命令模式的方法:
1.系统启动自动进入命令行模式
修改/etc/inittab文件中id:5:initdefault: 为 id:3:initdefault:
其中5代表图形界面模式,3代表多用户命令行模式,在进入后也可用init 3 或 init 5来切换
2.关闭系统的蜂鸣警报声
将/etc/inputrc中的set bell-style none 前的#去掉,之后重启系统即可。
dataguard介绍
- 博客分类:
- 备份和恢复
DATA GUARD的最主要的功能是冗灾。当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用、性能提升、数据保护以及故障恢复等。
DATA GUARD可以分为物理STANDBY和逻辑STANDBY两种。二者的最大差别在于,物理STANDBY应用的是主库的归档日志,而逻辑STANDBY应用的是主库的归档日志中提取的SQL语句。由于二者这一点的区别,决定了物理STANDBY无论从逻辑结构和物理结构都是和主库保持一致,而逻辑STANDBY则只需保证逻辑结构一致,且逻辑STANDBY在应用SQL语句的时候,数据库可以处于打开的状态。
如果从DATA GUARD的保护模 ...
修改oracle安装目录D:\DataBase\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\下的
listener.ora里的HOST值为localhost或者计算机名即可。
我的是localhost改好的。
关于oraclerowscn,早做增量数据抽取的时候可能会用到,但这它确实非常的好用。
一下是我查询的一些关于ORA_ROWSCN的一些资料:
Oracle10g引入了一个新的ORA_ROWSCN的伪列,可以查询表中记录最后变更的SCN。这个新的伪列在某些环境下会非常有用,比如执行乐观锁定,或者增量数据抽取的时候。但是,默认情况下,每行记录的ORA_ROWSCN是基于Block的,除非在建表的时候执行开启行级跟踪(create table … rowdependencies)。
先来简单理解一下ORA_ROWSCN的实现原理。我们知道,每个Block在头部是记录了该block最近事务的SCN的, ...
在数据库创建之后,磁盘的空间是连续的,但是随着对数据的DML操作,在数据库的数据块中就会出现一些磁盘碎片。磁盘碎片会影响磁盘I/O操作,浪费磁盘空间,就拿链化现象来说吧,通常链化行都会跨越不止一个数据块,所以当读取链化行时,所需要的磁盘I/O就需要读取不止一个数据块,从而增大了磁盘I/O操作,影响数据库性能。
对于数据库的磁盘碎片处理,可以总结为三个处理阶段:预防、监控、清理。
第一阶段:预防
对于磁盘碎片的预防阶段,主要是在对数据库、表空间或表的设计是所作的一些操作。对于表空间的设计,在设计时,如果可以预测表空间的段将会增大到多大的尺寸,那么最好使用同一的盘区分配,而不是使用自动的盘区分配。 ...
row chain:When a row is too large to fit into any block, row chaining occurs. In this case, the Oracle devide the row into smaller chunks. each chunk is stored in a block along with the necessary poiters to retrive and assemble the entire row.
row migration:when a row is to be updated and it can ...
1 按某用户登录:
select * from user_tables;
2 查看所有能查看的表,不需要dba权限
SELECT * FROM ALL_TABLES WHERE OWNER='USERNAME‘;
3 查看用户下的表
select * from tab;
4 查看用户下的所有表,需DBA权限
select * from dba_tables WHERE OWNER='USERNAME';
上面内容是自己总结出来的,如有更好的方式,谢谢补充。
交流请加群:127881306
群:127881306
很多资料讲了如何将ORACLE设置为SHARED SERVER模式运行,那么如何将SHARED SERVER转回DEDICATED SERVER?
ORACLE 判断是否是SHARED SERVER只有一个参数
SQL> show parameter shared_servers
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
max_shared_servers integer
shared_servers in ...
群:127881306
NVL( string1, replace_with)
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数的都为NULL ,则返回NULL。
Oracle在NVL函数的功能上扩展,提供了NVL2函数。
NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,否则返回E2。
群:127881306
1.查找分区表
select table_name from user_tables where partitioned='YES';
2.查看你的分区表的定义
set long 1000
select dbms_metadata.get_ddl('TABLE','TABLENAME','USERNAME') FROM dual;
3.合并分区表
alter table tablename merge partitions wqdb01,wqdb02 into partition wqdb02;
4.查看分区表的索引
select index_name,table ...
群:127881306
索引优化规则:
1. like件中不要以通配符(WILDCARD)开始,否则索引将不被采用.
例:SELECT LODGING FROM LODGING
WHERE MANAGER LIKE ‘%HANMAN';
2.避免在索引列上使用计算或改变索引列的类型或使用‘!=’及 <>
例: SELECT … FROM DEPT ...
群:127881306
(有些规则只有在基于规则的优化器里有效)
1>选择最有效率的表名顺序:
1.把记录少的表放在from子句的最后面一个表.
2.如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那 ...
群:127881306
1.索引对大表最有用,不要在小表上加索引.
2.为每个表中的主码指定一个唯一索引。
3.索引对于那些频繁出现在SQL命令中的where子句中的列最有用,不管这些列在选择中用来限定行还是为了表连接。
4.当一个属性中存在很多不同的值时,可以使用索引。Oracle建议当一个属性中有少于30个不同值时,索引不是很有用,当属性中有100或更多不同值时索引就很明显地有用了。相似地,只有当使用索引进行查询的结果不超过文件中所有记录总数的20%时,使用索引才有帮助。
5.检查你的DBMS对索引的限制,即便要在每个表允许的索引个数上。许多系统不超过16个索引而且限制每个索引键值的大小。对 ...
群:127881306
聚簇是根据码值找到数据的物理存储位置,从而达到快速检索数据的目的。聚簇索引的顺序就是数据的物理存储顺序,叶节点就是数据节点。非聚簇索引的顺序与数据物理排列顺序无关,叶节点仍然是索引节点,只不过有一个指针指向对应的数据块。一个表最多只能有一个聚簇索引。
在Oracle当中,聚簇不是索引的组织形式,而是表的组织形式。多用于表之间的连接字段。 例:dept(deptno, dnma,e loc) 和表 emp(empno, ename, job, mgr, ... deptno), 常在deptno上进行连接,可以针对dept ...
群:127881306
索引是建立在表的一列或多个列上的辅助对象,目的是加快访问表中的数据(加快查询);
索引由根节点、分支节点和叶子节点组成,上级索引块包含下级索引块的索引数据,叶节点包含索引数据和确定行实际位置的ro ...