linux mysql 配置
在 linux 安装 mysql 后,在 /etc 目录下 没用 my.cnf 文件要复制一个。
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
编辑my.cnf 就可以配置mysql了,编辑完后,记得 service mysql restart
Popularity: unranked [?]
在 linux 安装 mysql 后,在 /etc 目录下 没用 my.cnf 文件要复制一个。
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
编辑my.cnf 就可以配置mysql了,编辑完后,记得 service mysql restart
Popularity: unranked [?]
本文转至 张宴大哥博客
“利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统”
Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍。
Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。这一点,跟新浪的Memcachedb性质一样。
相比Memcachedb而言,Tokyo Tyrant具有以下优势:
1、故障转 移:Tokyo Tyrant支持双机互为主辅模式,主辅库均可读写,而Memcachedb目前支持类似MySQL主辅库同步的方式实现读写分离,支持“主服务器可读 写、辅助服务器只读”模式。
这里使用 $memcache->addServer 而不是 $memcache->connect 去连接 Tokyo Tyrant 服务器,是因为当 Memcache 客户端使用 addServer 服务器池时,是根据“crc32(key) % current_server_num”哈希算法将 key 哈希到不同的服务器的,PHP、C 和 python 的客户端都是如此的算法。Memcache 客户端的 addserver 具有故障转移机制,当 addserver 了2台 Memcached 服务器,而其中1台宕机了,那么 current_server_num 会由原先的2变成1。
引用 memcached 官方网站和 PHP 手册中的两段话:
http://cn.php.net/manual/zh/function.Memcache-addServer.php
Failover may occur at any stage in any of the methods, as long as other servers are available the request the user won’t notice. Any kind of socket or Memcached server level errors (except out-of-memory) may trigger the failover. Normal client errors such as adding an existing key will not trigger a failover.
但是,Tokyo Tyrant 也有缺点:在32位操作系统下,作为 Tokyo Tyrant 后端存储的 Tokyo Cabinet 数据库单个文件不能超过2G,而64位操作系统则不受这一限制。所 以,如果使用 Tokyo Tyrant,推荐在64位CPU、操作系统上安装运行。
2、然后编译安装tokyotyrant
2、启动 tokyotyrant的主进程(ttserver)
(1)、单机模式
(2)、 双机互为主辅模式
服务器192.168.1.91:
服务器192.168.1.92:
(3)、 参数说明
ttserver [-host name] [-port num] [-thnum num] [-tout num] [-dmn] [-pid path] [-log path] [-ld|-le] [-ulog path] [-ulim num] [-uas] [-sid num] [-mhost name] [-mport num] [-rts path] [dbname]
-host name : 指定需要绑定的服务器域名或IP地址。默认绑定这台服务器上的所有IP地址。
-port num : 指定需要绑定的端口号。默认端口号为1978
-thnum num : 指定线程数。默认为8个线程。
-tout num : 指定每个会话的超时时间(单位为秒)。默认永不超时。
-dmn : 以守护进程方式运行。
-pid path : 输出进程ID到指定文件(这里指定文件名)。
-log path : 输出日志信息到指定文件(这里指定文件名)。
-ld : 在日志文件中还记录DEBUG调试信息。
-le : 在日志文件中仅记录错误信息。
-ulog path : 指定同步日志文件存放路径(这里指定目录名)。
-ulim num : 指定每个同步日志文件的大小(例如128m)。
-uas : 使用异步IO记录更新日志(使用此项会减少磁盘IO消耗,但是数据会先放在内存中,不会立即写入磁盘,如果重启服务器或ttserver进程被kill 掉,将导致部分数据丢失。一般情况下不建议使用)。
-sid num : 指定服务器ID号(当使用主辅模式时,每台ttserver需要不同的ID号)
-mhost name : 指定主辅同步模式下,主服务器的域名或IP地址。
-mport num : 指定主辅同步模式下,主服务器的端口号。
-rts path : 指定用来存放同步时间戳的文件名。
如果使用的是哈希数据库,可以指定参数“#bnum=xxx”来提高性能。它可以指 定bucket存储桶的数量。例如指定“#bnum=1000000”,就可以将最新最热的100万条记录缓存在内存中:
如果大量的客户端访问ttserver,请确保文件描述符够用。许多服务器的默认文件描述符为1024,可以在启动ttserver前使用ulimit 命令提高这项值。例如:
3、停止tokyotyrant(ttserver)
找到ttserver的进程号并kill,例如:
2、 还可以通过HTTP方式调用,下面以Linux的curl命令为例,介绍如何操作tokyotyrant:
(1)、写数 据,将数据“value”写入到“key”中:
(2)、读数据,读取“key”中数据:
(3)、删数据,删除“key”:
● [2008年08月07日] [Version 1.0] 撰写本文
● [2008年10月16日] [Version 1.1] Tokyo Cabinet 版本升级到 1.3.12;Tokyo Tyrant 版本升级到 1.1.5
● [2008年12月04日] [Version 1.2] Tokyo Cabinet 版本升级到 1.3.22;Tokyo Tyrant 版本升级到 1.1.8
● [2008年07月06日] [Version 1.3] Tokyo Cabinet 版本升级到 1.4.28;Tokyo Tyrant 版本升级到 1.1.29
Popularity: unranked [?]
今天遇到了这个问题,很郁闷,只需要在 MSYQL中执行一行命令就搞定了,代码如下:
SET GLOBAL log_bin_trust_function_creators = 1;
官方解释如下:
In general, the issues described here result from the fact that binary logging occurs at the SQL statement level. A future MySQL release is expected to implement row-level binary logging, which specifies the changes to make to individual rows as a result of executing SQL statements.
Unless noted otherwise, the remarks here assume that you have enabled binary logging by starting the server with the --log-bin option. (See Section 5.2.3, “The Binary Log”.) If the binary log is not enabled, replication is not possible, nor is the binary log available for data recovery.
The development of stored routine logging in MySQL 5.0 can be summarized as follows:
CALL statements are not logged. These omissions can cause problems for replication and data recovery.CALL statements are logged. Stored function invocations are logged when they occur in statements that update data (because those statements are logged). However, function invocations are not logged when they occur in statements such as SELECT that do not change data, even if a data change occurs within a function itself; this can cause problems. Under some circumstances, functions and procedures can have different effects if executed at different times or on different (master and slave) machines, and thus can be unsafe for data recovery or replication. To handle this, measures are implemented to allow identification of safe routines and to prevent creation of unsafe routines except by users with sufficient privileges.SELECT, the server logs a DO func_name() statement that invokes the function so that the function gets executed during data recovery or replication to slave servers. For stored procedures, the server does not log CALL statements. Instead, it logs individual statements within a procedure that are executed as a result of a CALL. This eliminates problems that may occur when a procedure would follow a different execution path on a slave than on the master.DO func_name() statements (per the changes made in 5.0.12) are logged as SELECT func_name() statements instead for better control over error checking.As a consequence of the preceding changes, the following conditions currently apply to stored function creation when binary logging is enabled. These conditions do not apply to stored procedure creation.
SUPER privilege, in addition to the CREATE ROUTINE or ALTER ROUTINE privilege that is normally required.DETERMINISTIC and NOT DETERMINISTIC characteristics indicate whether a function always produces the same result for given inputs. The default is NOT DETERMINISTIC if neither characteristic is given, so you must specify DETERMINISTIC explicitly to declare that a function is deterministic.
Use of the NOW() function (or its synonyms) or RAND() does not necessarily make a function non-deterministic. For NOW(), the binary log includes the timestamp and replicates correctly. RAND() also replicates correctly as long as it is invoked only once within a function. (You can consider the function execution timestamp and random number seed as implicit inputs that are identical on the master and slave.)
SYSDATE() is not affected by the timestamps in the binary log, so it causes stored routines to be non-deterministic if statement-based logging is used. This does not occur if the server is started with the --sysdate-is-now option to cause SYSDATE() to be an alias for NOW().
CONTAINS SQL, NO SQL, READS SQL DATA, and MODIFIES SQL DATA characteristics provide information about whether the function reads or writes data. Either NO SQL or READS SQL DATA indicates that a function does not change data, but you must specify one of these explicitly because the default is CONTAINS SQL if no characteristic is given.By default, for a CREATE FUNCTION statement to be accepted, DETERMINISTIC or one of NO SQL and READS SQL DATA must be specified explicitly. Otherwise an error occurs:
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
Assessment of the nature of a function is based on the “honesty” of the creator: MySQL does not check that a function declared DETERMINISTIC is free of statements that produce non-deterministic results.
SUPER privilege and that a function must be declared deterministic or to not modify data), set the global log_bin_trust_function_creators system variable to 1. By default, this variable has a value of 0, but you can change it like this:
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
You can also set this variable by using the --log-bin-trust-function-creators=1 option when starting the server.
If binary logging is not enabled, log_bin_trust_function_creators does not apply and SUPER is not required for routine creation.
Popularity: unranked [?]
#BEGIN CONFIG INFO
#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大
#TYPE: SYSTEM
#END CONFIG INFO
#
# 此mysql配置文件例子针对4G内存
# 主要使用INNODB
#处理复杂队列并且连接数量较少的mysql服务器
#
# 将此文件复制到/etc/my.cnf 作为全局设置,
# mysql-data-dir/my.cnf 作为服务器指定设置
# (@localstatedir@ for this installation) 或者放入
# ~/.my.cnf 作为用户设置.
#
# 在此配置文件中, 你可以使用所有程序支持的长选项.
# 如果想获悉程序支持的所有选项
# 请在程序后加上“–help“参数运行程序.
#
# 关于独立选项更多的细节信息可以在手册内找到
#
#
# 以下选项会被MySQL客户端应用读取.
# 注意只有MySQL附带的客户端应用程序保证可以读取这段内容.
# 如果你想你自己的MySQL应用程序获取这些值
# 需要在MySQL客户端库初始化的时候指定这些选项
#
[client]
#password = [your_password]
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
# *** 应用定制选项 ***
#
# MySQL 服务端
#
[mysqld]
# 一般配置选项
port = @MYSQL_TCP_PORT@
socket = @MYSQL_UNIX_ADDR@
# back_log 是操作系统在监听队列中所能保持的连接数,
# 队列保存了在MySQL连接管理器线程处理之前的连接.
# 如果你有非常高的连接率并且出现“connection refused“ 报错,
# 你就应该增加此处的值.
# 检查你的操作系统文档来获取这个变量的最大值.
# 如果将back_log设定到比你操作系统限制更高的值,将会没有效果
back_log = 50
# 不在TCP/IP端口上进行监听.
# 如果所有的进程都是在同一台服务器连接到本地的mysqld,
# 这样设置将是增强安全的方法
# 所有mysqld的连接都是通过Unix sockets 或者命名管道进行的.
# 注意在windows下如果没有打开命名管道选项而只是用此项
# (通过 “enable-named-pipe“ 选项) 将会导致mysql服务没有任何作用!
#skip-networking
# MySQL 服务所允许的同时会话数的上限
# 其中一个连接将被SUPER权限保留作为管理员登录.
# 即便已经达到了连接数的上限.
max_connections = 100
# 每个客户端连接最大的错误允许数量,如果达到了此限制.
# 这个客户端将会被MySQL服务阻止直到执行了“FLUSH HOSTS“ 或者服务重启
# 非法的密码以及其他在链接时的错误会增加此值.
# 查看 “Aborted_connects“ 状态来获取全局计数器.
max_connect_errors = 10
# 所有线程所打开表的数量.
# 增加此值就增加了mysqld所需要的文件描述符的数量
# 这样你需要确认在[mysqld_safe]中 “open-files-limit“ 变量设置打开文件数量允许至少4096
table_cache = 2048
# 允许外部文件级别的锁. 打开文件锁会对性能造成负面影响
# 所以只有在你在同样的文件上运行多个数据库实例时才使用此选项(注意仍会有其他约束!)
# 或者你在文件层面上使用了其他一些软件依赖来锁定MyISAM表
#external-locking
# 服务所能处理的请求包的最大大小以及服务所能处理的最大的请求大小(当与大的BLOB字段一起工作时相当必要)
# 每个连接独立的大小.大小动态增加
max_allowed_packet = 16M
# 在一个事务中binlog为了记录SQL状态所持有的cache大小
# 如果你经常使用大的,多声明的事务,你可以增加此值来获取更大的性能.
# 所有从事务来的状态都将被缓冲在binlog缓冲中然后在提交后一次性写入到binlog中
# 如果事务比此值大, 会使用磁盘上的临时文件来替代.
# 此缓冲在每个连接的事务第一次更新状态时被创建
binlog_cache_size = 1M
# 独立的内存表所允许的最大容量.
# 此选项为了防止意外创建一个超大的内存表导致永尽所有的内存资源.
max_heap_table_size = 64M
# 排序缓冲被用来处理类似ORDER BY以及GROUP BY队列所引起的排序
# 如果排序后的数据无法放入排序缓冲,
# 一个用来替代的基于磁盘的合并分类会被使用
# 查看 “Sort_merge_passes“ 状态变量.
# 在排序发生时由每个线程分配
sort_buffer_size = 8M
# 此缓冲被使用来优化全联合(full JOINs 不带索引的联合).
# 类似的联合在极大多数情况下有非常糟糕的性能表现,
# 但是将此值设大能够减轻性能影响.
# 通过 “Select_full_join“ 状态变量查看全联合的数量
# 当全联合发生时,在每个线程中分配
join_buffer_size = 8M
# 我们在cache中保留多少线程用于重用
# 当一个客户端断开连接后,如果cache中的线程还少于thread_cache_size,
# 则客户端线程被放入cache中.
# 这可以在你需要大量新连接的时候极大的减少线程创建的开销
# (一般来说如果你有好的线程模型的话,这不会有明显的性能提升.)
thread_cache_size = 8
# 此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.
# 此值只对于支持 thread_concurrency() 函数的系统有意义( 例如Sun Solaris).
# 你可可以尝试使用 [CPU数量]*(2..4) 来作为thread_concurrency的值
thread_concurrency = 8
# 查询缓冲常被用来缓冲 SELECT 的结果并且在下一次同样查询的时候不再执行直接返回结果.
# 打开查询缓冲可以极大的提高服务器速度, 如果你有大量的相同的查询并且很少修改表.
# 查看 “Qcache_lowmem_prunes“ 状态变量来检查是否当前值对于你的负载来说是否足够高.
# 注意: 在你表经常变化的情况下或者如果你的查询原文每次都不同,
# 查询缓冲也许引起性能下降而不是性能提升.
query_cache_size = 64M
# 只有小于此设定值的结果才会被缓冲
# 此设置用来保护查询缓冲,防止一个极大的结果集将其他所有的查询结果都覆盖.
query_cache_limit = 2M
# 被全文检索索引的最小的字长.
# 你也许希望减少它,如果你需要搜索更短字的时候.
# 注意在你修改此值之后,
# 你需要重建你的 FULLTEXT 索引
ft_min_word_len = 4
# 如果你的系统支持 memlock() 函数,你也许希望打开此选项用以让运行中的mysql在在内存高度紧张的时候,数据在内存中保持锁定并且防止可能被swapping out
# 此选项对于性能有益
#memlock
# 当创建新表时作为默认使用的表类型,
# 如果在创建表示没有特别执行表类型,将会使用此值
default_table_type = MYISAM
# 线程使用的堆大小. 此容量的内存在每次连接时被预留.
# MySQL 本身常不会需要超过64K的内存
# 如果你使用你自己的需要大量堆的UDF函数
# 或者你的操作系统对于某些操作需要更多的堆,
# 你也许需要将其设置的更高一点.
thread_stack = 192K
# 设定默认的事务隔离级别.可用的级别如下:
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
# 内部(内存中)临时表的最大大小
# 如果一个表增长到比此值更大,将会自动转换为基于磁盘的表.
# 此限制是针对单个表的,而不是总和.
tmp_table_size = 64M
# 打开二进制日志功能.
# 在复制(replication)配置中,作为MASTER主服务器必须打开此项
# 如果你需要从你最后的备份中做基于时间点的恢复,你也同样需要二进制日志.
log-bin=mysql-bin
# 如果你在使用链式从服务器结构的复制模式 (A->B->C),
# 你需要在服务器B上打开此项.
# 此选项打开在从线程上重做过的更新的日志,
# 并将其写入从服务器的二进制日志.
#log_slave_updates
# 打开全查询日志. 所有的由服务器接收到的查询 (甚至对于一个错误语法的查询)
# 都会被记录下来. 这对于调试非常有用, 在生产环境中常常关闭此项.
#log
# 将警告打印输出到错误log文件. 如果你对于MySQL有任何问题
# 你应该打开警告log并且仔细审查错误日志,查出可能的原因.
#log_warnings
# 记录慢速查询. 慢速查询是指消耗了比 “long_query_time“ 定义的更多时间的查询.
# 如果 log_long_format 被打开,那些没有使用索引的查询也会被记录.
# 如果你经常增加新查询到已有的系统内的话. 一般来说这是一个好主意,
log_slow_queries
# 所有的使用了比这个时间(以秒为单位)更多的查询会被认为是慢速查询.
# 不要在这里使用“1“, 否则会导致所有的查询,甚至非常快的查询页被记录下来(由于MySQL 目前时间的精确度只能达到秒的级别).
long_query_time = 2
# 在慢速日志中记录更多的信息.
# 一般此项最好打开.
# 打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里
log_long_format
# 此目录被MySQL用来保存临时文件.例如,
# 它被用来处理基于磁盘的大型排序,和内部排序一样.
# 以及简单的临时表.
# 如果你不创建非常大的临时文件,将其放置到 swapfs/tmpfs 文件系统上也许比较好
# 另一种选择是你也可以将其放置在独立的磁盘上.
# 你可以使用“;“来放置多个路径
# 他们会按照roud-robin方法被轮询使用.
#tmpdir = /tmp
# *** 复制有关的设置
# 唯一的服务辨识号,数值位于 1 到 2^32-1之间.
# 此值在master和slave上都需要设置.
# 如果 “master-host“ 没有被设置,则默认为1, 但是如果忽略此选项,MySQL不会作为master生效.
server-id = 1
# 复制的Slave (去掉master段的注释来使其生效)
#
# 为了配置此主机作为复制的slave服务器,你可以选择两种方法:
#
# 1) 使用 CHANGE MASTER TO 命令 (在我们的手册中有完整描述) -
# 语法如下:
#
# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
# MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
# 你需要替换掉 <host>, <user>, <password> 等被尖括号包围的字段以及使用master的端口号替换<port> (默认3306).
#
# 例子:
#
# CHANGE MASTER TO MASTER_HOST=’125.564.12.1‘, MASTER_PORT=3306,
# MASTER_USER=’joe‘, MASTER_PASSWORD=’secret‘;
#
# 或者
#
# 2) 设置以下的变量. 不论如何, 在你选择这种方法的情况下, 然后第一次启动复制(甚至不成功的情况下,
# 例如如果你输入错密码在master-password字段并且slave无法连接),
# slave会创建一个 master.info 文件,并且之后任何对于包含在此文件内的参数的变化都会被忽略
# 并且由 master.info 文件内的内容覆盖, 除非你关闭slave服务, 删除 master.info 并且重启slave 服务.
# 由于这个原因,你也许不想碰一下的配置(注释掉的) 并且使用 CHANGE MASTER TO (查看上面) 来代替
#
# 所需要的唯一id号位于 2 和 2^32 – 1之间
# (并且和master不同)
# 如果master-host被设置了.则默认值是2
# 但是如果省略,则不会生效
#server-id = 2
#
# 复制结构中的master – 必须
#master-host = <hostname>
#
# 当连接到master上时slave所用来认证的用户名 – 必须
#master-user = <username>
#
# 当连接到master上时slave所用来认证的密码 – 必须
#master-password = <password>
#
# master监听的端口.
# 可选 – 默认是3306
#master-port = <port>
# 使得slave只读.只有用户拥有SUPER权限和在上面的slave线程能够修改数据.
# 你可以使用此项去保证没有应用程序会意外的修改slave而不是master上的数据
#read_only
#*** MyISAM 相关选项
# 关键词缓冲的大小, 一般用来缓冲MyISAM表的索引块.
# 不要将其设置大于你可用内存的30%,
# 因为一部分内存同样被OS用来缓冲行数据
# 甚至在你并不使用MyISAM 表的情况下, 你也需要仍旧设置起 8-64M 内存由于它同样会被内部临时磁盘表使用.
key_buffer_size = 32M
# 用来做MyISAM表全表扫描的缓冲大小.
# 当全表扫描需要时,在对应线程中分配.
read_buffer_size = 2M
# 当在排序之后,从一个已经排序好的序列中读取行时,行数据将从这个缓冲中读取来防止磁盘寻道.
# 如果你增高此值,可以提高很多ORDER BY的性能.
# 当需要时由每个线程分配
read_rnd_buffer_size = 16M
# MyISAM 使用特殊的类似树的cache来使得突发插入
# (这些插入是,INSERT … SELECT, INSERT … VALUES (…), (…), …, 以及 LOAD DATA
# INFILE) 更快. 此变量限制每个进程中缓冲树的字节数.
# 设置为 0 会关闭此优化.
# 为了最优化不要将此值设置大于 “key_buffer_size“.
# 当突发插入被检测到时此缓冲将被分配.
bulk_insert_buffer_size = 64M
# 此缓冲当MySQL需要在 REPAIR, OPTIMIZE, ALTER 以及 LOAD DATA INFILE 到一个空表中引起重建索引时被分配.
# 这在每个线程中被分配.所以在设置大值时需要小心.
myisam_sort_buffer_size = 128M
# MySQL重建索引时所允许的最大临时文件的大小 (当 REPAIR, ALTER TABLE 或者 LOAD DATA INFILE).
# 如果文件大小比此值更大,索引会通过键值缓冲创建(更慢)
myisam_max_sort_file_size = 10G
# 如果被用来更快的索引创建索引所使用临时文件大于制定的值,那就使用键值缓冲方法.
# 这主要用来强制在大表中长字串键去使用慢速的键值缓冲方法来创建索引.
myisam_max_extra_sort_file_size = 10G
# 如果一个表拥有超过一个索引, MyISAM 可以通过并行排序使用超过一个线程去修复他们.
# 这对于拥有多个CPU以及大量内存情况的用户,是一个很好的选择.
myisam_repair_threads = 1
# 自动检查和修复没有适当关闭的 MyISAM 表.
myisam_recover
# 默认关闭 Federated
skip-federated
# *** BDB 相关选项 ***
# 如果你运行的MySQL服务有BDB支持但是你不准备使用的时候使用此选项. 这会节省内存并且可能加速一些事.
skip-bdb
# *** INNODB 相关选项 ***
# 如果你的MySQL服务包含InnoDB支持但是并不打算使用的话,
# 使用此选项会节省内存以及磁盘空间,并且加速某些部分
#skip-innodb
# 附加的内存池被InnoDB用来保存 metadata 信息
# 如果InnoDB为此目的需要更多的内存,它会开始从OS这里申请内存.
# 由于这个操作在大多数现代操作系统上已经足够快, 你一般不需要修改此值.
# SHOW INNODB STATUS 命令会显示当先使用的数量.
innodb_additional_mem_pool_size = 16M
# InnoDB使用一个缓冲池来保存索引和原始数据, 不像 MyISAM.
# 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.
# 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%
# 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.
# 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,
# 所以不要设置的太高.
innodb_buffer_pool_size = 2G
# InnoDB 将数据保存在一个或者多个数据文件中成为表空间.
# 如果你只有单个逻辑驱动保存你的数据,一个单个的自增文件就足够好了.
# 其他情况下.每个设备一个文件一般都是个好的选择.
# 你也可以配置InnoDB来使用裸盘分区 – 请参考手册来获取更多相关内容
innodb_data_file_path = ibdata1:10M:autoextend
# 设置此选项如果你希望InnoDB表空间文件被保存在其他分区.
# 默认保存在MySQL的datadir中.
#innodb_data_home_dir = <directory>
# 用来同步IO操作的IO线程的数量. This value is
# 此值在Unix下被硬编码为4,但是在Windows磁盘I/O可能在一个大数值下表现的更好.
innodb_file_io_threads = 4
# 如果你发现InnoDB表空间损坏, 设置此值为一个非零值可能帮助你导出你的表.
# 从1开始并且增加此值知道你能够成功的导出表.
#innodb_force_recovery=1
# 在InnoDb核心内的允许线程数量.
# 最优值依赖于应用程序,硬件以及操作系统的调度方式.
# 过高的值可能导致线程的互斥颠簸.
innodb_thread_concurrency = 16
# 如果设置为1 ,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,
# 这提供了完整的ACID行为.
# 如果你愿意对事务安全折衷, 并且你正在运行一个小的食物, 你可以设置此值到0或者2来减少由事务日志引起的磁盘I/O
# 0代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘.
# 2代表日志写入日志文件在每次提交后,但是日志文件只有大约每秒才会刷新到磁盘上.
innodb_flush_log_at_trx_commit = 1
# 加速InnoDB的关闭. 这会阻止InnoDB在关闭时做全清除以及插入缓冲合并.
# 这可能极大增加关机时间, 但是取而代之的是InnoDB可能在下次启动时做这些操作.
#innodb_fast_shutdown
# 用来缓冲日志数据的缓冲区的大小.
# 当此值快满时, InnoDB将必须刷新数据到磁盘上.
# 由于基本上每秒都会刷新一次,所以没有必要将此值设置的太大(甚至对于长事务而言)
innodb_log_buffer_size = 8M
# 在日志组中每个日志文件的大小.
# 你应该设置日志文件总合大小到你缓冲池大小的25%~100%
# 来避免在日志文件覆写上不必要的缓冲池刷新行为.
# 不论如何, 请注意一个大的日志文件大小会增加恢复进程所需要的时间.
innodb_log_file_size = 256M
# 在日志组中的文件总数.
# 通常来说2~3是比较好的.
innodb_log_files_in_group = 3
# InnoDB的日志文件所在位置. 默认是MySQL的datadir.
# 你可以将其指定到一个独立的硬盘上或者一个RAID1卷上来提高其性能
#innodb_log_group_home_dir
# 在InnoDB缓冲池中最大允许的脏页面的比例.
# 如果达到限额, InnoDB会开始刷新他们防止他们妨碍到干净数据页面.
# 这是一个软限制,不被保证绝对执行.
innodb_max_dirty_pages_pct = 90
# InnoDB用来刷新日志的方法.
# 表空间总是使用双重写入刷新方法
# 默认值是 “fdatasync“, 另一个是 “O_DSYNC“.
#innodb_flush_method=O_DSYNC
# 在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久.
# InnoDB在其拥有的锁表中自动检测事务死锁并且回滚事务.
# 如果你使用 LOCK TABLES 指令, 或者在同样事务中使用除了InnoDB以外的其他事务安全的存储引擎
# 那么一个死锁可能发生而InnoDB无法注意到.
# 这种情况下这个timeout值对于解决这种问题就非常有帮助.
innodb_lock_wait_timeout = 120
[mysqldump]
# 不要在将内存中的整个结果写入磁盘之前缓存. 在导出非常巨大的表时需要此项
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# 仅仅允许使用键值的 UPDATEs 和 DELETEs .
#safe-updates
[isamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[myisamchk]
key_buffer = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
# 增加每个进程的可打开文件数量.
# 警告: 确认你已经将全系统限制设定的足够高!
# 打开大量表需要将此值设高
open-files-limit = 8192
Popularity: unranked [?]

Popularity: unranked [?]
MyISAM是MySQL的默认存储引擎,但很多人忘记还有其它的选择。决定使用哪种(哪些)存储引擎可能需要些技巧,但评估一下MyISAM是否适合你的需要还是值得的。有一组存储引擎可用,但我将只关注MyISAM和InnoDB,因为它们被用的最多。
需考虑的问题:
你是否需要外键?
你是否需要事务?
你是否需要全文索引?
你是数据访问(查询)模式是什么?
你的数据集有多大?
思考上述问题将使你走入正确的方向,但有些例外。如果你使用事务或外键,就使用InnoDB。要使用全文索引,你常需选择MyISAM,因为它内建地支持 这一特性;但是,MyISAM难以应对超过200万的数据行。你可以使用Sphinx以使你的InnoDB表能获取全文索引,但这需要花费一些时间。
数据集的大小是决定你使用哪种引擎的主要因素。由于InnoDB的事务和崩溃恢复特性,对于较大的数据集,则倾向于该引擎。然而,恢复MyISAM数据表 所花费的时间由数据集的大小来衡量,但恢复InnoDB所花费的时间由事务日志的大小来衡量-而你对日志有一定的控制力。例如,相较于恢复 InnoDB数据表所需要的几分钟,你可能需要几小时甚至几天时间来恢复MyISAM数据表。
你读/写数据表的方式可能会极大地影响你所使用的存储引擎的性能。在MyISAM数据表中执行COUNT()会很快,但对于InnoDB数据表则十分痛 苦,最好避免。在InnoDB数据表中查找主键极其的快,但要注意到,太长的主键会影响到性能。批量插入在MyISAM数据表更快些,但批量更新在 InnoDB中会较快些–特别是当进行并发增加时。
那么你应该选择哪种引擎呢?如果你工作在一个小项目中,那么MyISAM可能正适合你。甚至在较大环境中使用MyISAM也能获取很大的成功,但这依具体 情况不同而不同。如果你计划用于非常大的数据集,并且需要事务或外键约束,那就应该直接使用InnoDB。但需要记住,相较于MyISAM,InnoDB 数据表需要很大的内存和存储空间。将100GB的MyISAM数据表转化成InnoDB数据表就会令你大吃一惊。
Popularity: 6% [?]
第一讲: 概述
=========================================
在线观看: http://www.boobooke.com/v/bbk2003
视频下载: http://www.boobooke.com/v/bbk2003.zip
=========================================
第二讲: 概述
=========================================
在线观看: http://www.boobooke.com/v/bbk2004
视频下载: http://www.boobooke.com/v/bbk2004.zip
=========================================
第三讲:
=========================================
在线观看: http://www.boobooke.com/v/bbk2005
视频下载: http://www.boobooke.com/v/bbk2005.zip
=========================================
第四讲:
=========================================
在线观看: http://www.boobooke.com/v/bbk2006
视频下载: http://www.boobooke.com/v/bbk2006.zip
=========================================
第五讲: ->第二章 限制和排序数据
=========================================
在线观看: http://www.boobooke.com/v/bbk2008
视频下载: http://www.boobooke.com/v/bbk2008.zip
=========================================
第六讲: ->第二章 限制和排序数据
=========================================
在线观看: http://www.boobooke.com/v/bbk2009
视频下载: http://www.boobooke.com/v/bbk2009.zip
=========================================
第七讲: ->第二章 限制和排序数据
=========================================
在线观看: http://www.boobooke.com/v/bbk2021
视频下载: http://www.boobooke.com/v/bbk2021.zip
=========================================
第八讲: ->第三章 利用单行函数定制输出
=========================================
在线观看: http://www.boobooke.com/v/bbk2022
视频下载: http://www.boobooke.com/v/bbk2022.zip
=========================================
第九讲: ->第三章 利用单行函数定制输出
=========================================
在线观看: http://www.boobooke.com/v/bbk2023
视频下载: http://www.boobooke.com/v/bbk2023.zip
=========================================
第十讲: ->第四章 Using Conversion Functions and Conditional Expressions
=========================================
在线观看: http://www.boobooke.com/v/bbk2024
视频下载: http://www.boobooke.com/v/bbk2024.zip
=========================================
第十一讲: ->第四章 Using Conversion Functions and Conditional Expressions
=========================================
在线观看: http://www.boobooke.com/v/bbk2025
视频下载: http://www.boobooke.com/v/bbk2025.zip
=========================================
第十二讲: ->第五章 Reporting Aggregated Data Using the Group Functions
=========================================
在线观看: http://www.boobooke.com/v/bbk2026
视频下载: http://www.boobooke.com/v/bbk2026.zip
=========================================
第十三讲: ->第五章 Reporting Aggregated Data Using the Group Functions
=========================================
在线观看: http://www.boobooke.com/v/bbk2027
视频下载: http://www.boobooke.com/v/bbk2027.zip
=========================================
第十四讲: ->第六章 Displaying Data from Multiple Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2028
视频下载: http://www.boobooke.com/v/bbk2028.zip
=========================================
第十五讲: ->第六章 Displaying Data from Multiple Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2029
视频下载: http://www.boobooke.com/v/bbk2029.zip
=========================================
第十六讲: ->第六章 Displaying Data from Multiple Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2030
视频下载: http://www.boobooke.com/v/bbk2030.zip
=========================================
第十七讲: ->第七章 Using Subqueries to solve queries
=========================================
在线观看: http://www.boobooke.com/v/bbk2036
视频下载: http://www.boobooke.com/v/bbk2036.zip
=========================================
第十八讲: ->第七章 Using Subqueries to solve queries
=========================================
在线观看: http://www.boobooke.com/v/bbk2037
视频下载: http://www.boobooke.com/v/bbk2037.zip
=========================================
第十九讲: ->第八章 Using the set Operators
=========================================
在线观看: http://www.boobooke.com/v/bbk2049
视频下载: http://www.boobooke.com/v/bbk2049.zip
=========================================
第二十讲: ->第八章 Using the set Operators
=========================================
在线观看: http://www.boobooke.com/v/bbk2050
视频下载: http://www.boobooke.com/v/bbk2050.zip
=========================================
第二十一讲: ->第九章 Manipulating Data
=========================================
在线观看: http://www.boobooke.com/v/bbk2051
视频下载: http://www.boobooke.com/v/bbk2051.zip
=========================================
第二十二讲: ->第九章 Manipulating Data
=========================================
在线观看: http://www.boobooke.com/v/bbk2052
视频下载: http://www.boobooke.com/v/bbk2052.zip
=========================================
第二十三讲: ->第九章 Manipulating Data
=========================================
在线观看: http://www.boobooke.com/v/bbk2055
视频下载: http://www.boobooke.com/v/bbk2055.zip
=========================================
第二十四讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2056
视频下载: http://www.boobooke.com/v/bbk2056.zip
=========================================
第二十五讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2057
视频下载: http://www.boobooke.com/v/bbk2057.zip
=========================================
第二十六讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2070
视频下载: http://www.boobooke.com/v/bbk2070.zip
=========================================
第二十七讲: ->第十章 Using DDL Statements to Create and Manage Tables
=========================================
在线观看: http://www.boobooke.com/v/bbk2077
视频下载: http://www.boobooke.com/v/bbk2077.zip
=========================================
第二十八讲: ->Creating Other Schema Objects
=========================================
在线观看: http://www.boobooke.com/v/bbk2078
视频下载: http://www.boobooke.com/v/bbk2078.zip
第二十九讲: ->Creating Other Schema Objects
=========================================
在线观看: http://www.boobooke.com/v/bbk2079
视频下载: http://www.boobooke.com/v/bbk2079.zip
=========================================
第三十讲: ->Creating Other Schema Objects
=========================================
在线观看: http://www.boobooke.com/v/bbk2080
视频下载: http://www.boobooke.com/v/bbk2080.zip
=========================================
Popularity: 9% [?]
小布老师 Oracle 9i 性能调优系列培训视频下载地址(更新至3月7日,50集)
小布老师作品:Oracle 9i 性能调优系列培训 09年3月7日 更新至第50讲,后面将持续更新,小布老师说预计到70-80集左右,欢迎大家继续关注本帖的更新。
现在在这把播放和下载地址都列出来了,有点汇总没有给出链接地址,或者是上层地址,现在给出直接的地址栏,有利于大家直接点到观看和下载视频,下载要做一个礼拜后才可以下载,不过用其他的方法还是可以下到的。
小布作品:Oracle 9i 性能调优系列培训 – 1
http://www.boobooke.com/v/bbk2100
http://www.boobooke.com/v/bbk2100.zip
小布作品:Oracle 9i 性能调优系列培训 – 2
http://www.boobooke.com/v/bbk2101
http://www.boobooke.com/v/bbk2101.zip
小布作品:Oracle 9i 性能调优系列培训 – 3
http://www.boobooke.com/v/bbk2102
http://www.boobooke.com/v/bbk2102.zip
小布作品:Oracle 9i 性能调优系列培训 – 4
http://www.boobooke.com/v/bbk2103
http://www.boobooke.com/v/bbk2103.zip
小布作品:Oracle 9i 性能调优系列培训 – 5
http://www.boobooke.com/v/bbk2120
http://www.boobooke.com/v/bbk2120.zip
小布作品:Oracle 9i 性能调优系列培训 – 6
http://www.boobooke.com/v/bbk2121
http://www.boobooke.com/v/bbk2121.zip
小布作品:Oracle 9i 性能调优系列培训 – 7
http://www.boobooke.com/v/bbk2122
http://www.boobooke.com/v/bbk2122.zip
小布作品:Oracle 9i 性能调优系列培训 – 8
http://www.boobooke.com/v/bbk2125
http://www.boobooke.com/v/bbk2125.zip
小布作品:Oracle 9i 性能调优系列培训 – 9
http://www.boobooke.com/v/bbk2126
http://www.boobooke.com/v/bbk2126.zip
小布作品:Oracle 9i 性能调优系列培训 – 10
http://www.boobooke.com/v/bbk2152
http://www.boobooke.com/v/bbk2152.zip
小布作品:Oracle 9i 性能调优系列培训 – 11
http://www.boobooke.com/v/bbk2153
http://www.boobooke.com/v/bbk2153.zip
小布作品:Oracle 9i 性能调优系列培训 – 12
http://www.boobooke.com/v/bbk2154
http://www.boobooke.com/v/bbk2154.zip
小布作品:Oracle 9i 性能调优系列培训 – 13
http://www.boobooke.com/v/bbk2156
http://www.boobooke.com/v/bbk2156.zip
小布作品:Oracle 9i 性能调优系列培训 – 14
http://www.boobooke.com/v/bbk2157
http://www.boobooke.com/v/bbk2157.zip
小布作品:Oracle 9i 性能调优系列培训 – 15
http://www.boobooke.com/v/bbk2158
http://www.boobooke.com/v/bbk2158.zip
小布作品:Oracle 9i 性能调优系列培训 – 16
http://www.boobooke.com/v/bbk2173
http://www.boobooke.com/v/bbk2173.zip
小布作品:Oracle 9i 性能调优系列培训 – 17
http://www.boobooke.com/v/bbk2174
http://www.boobooke.com/v/bbk2174.zip
小布作品:Oracle 9i 性能调优系列培训 – 18
http://www.boobooke.com/v/bbk2175
http://www.boobooke.com/v/bbk2175.zip
小布作品:Oracle 9i 性能调优系列培训 – 19
http://www.boobooke.com/v/bbk2176
http://www.boobooke.com/v/bbk2176.zip
小布作品:Oracle 9i 性能调优系列培训 – 20
http://www.boobooke.com/v/bbk2177
http://www.boobooke.com/v/bbk2177.zip
小布作品:Oracle 9i 性能调优系列培训 – 21
http://www.boobooke.com/v/bbk2178
http://www.boobooke.com/v/bbk2178.zip
小布作品:Oracle 9i 性能调优系列培训 – 22
http://www.boobooke.com/v/bbk2179
http://www.boobooke.com/v/bbk2179.zip
小布作品:Oracle 9i 性能调优系列培训 – 23
http://www.boobooke.com/v/bbk2180
http://www.boobooke.com/v/bbk2180.zip
小布作品:Oracle 9i 性能调优系列培训 – 24
http://www.boobooke.com/v/bbk2181
http://www.boobooke.com/v/bbk2181.zip
小布作品:Oracle 9i 性能调优系列培训 – 25
http://www.boobooke.com/v/bbk2182
http://www.boobooke.com/v/bbk2182.zip
小布作品:Oracle 9i 性能调优系列培训 – 26
http://www.boobooke.com/v/bbk2183
http://www.boobooke.com/v/bbk2183.zip
小布作品:Oracle 9i 性能调优系列培训 – 27
http://www.boobooke.com/v/bbk2184
http://www.boobooke.com/v/bbk2184.zip
小布作品:Oracle 9i 性能调优系列培训 – 28
http://www.boobooke.com/v/bbk2185
http://www.boobooke.com/v/bbk2185.zip
小布作品:Oracle 9i 性能调优系列培训 – 29
http://www.boobooke.com/v/bbk2188
http://www.boobooke.com/v/bbk2188.zip
小布作品:Oracle 9i 性能调优系列培训 – 30
http://www.boobooke.com/v/bbk2189
http://www.boobooke.com/v/bbk2189.zip
小布作品:Oracle 9i 性能调优系列培训 – 31
http://www.boobooke.com/v/bbk2190
http://www.boobooke.com/v/bbk2190.zip
小布作品:Oracle 9i 性能调优系列培训 – 32
http://www.boobooke.com/v/bbk2191
http://www.boobooke.com/v/bbk2191.zip
小布作品:Oracle 9i 性能调优系列培训 – 33
http://www.boobooke.com/v/bbk2192
http://www.boobooke.com/v/bbk2192.zip
小布作品:Oracle 9i 性能调优系列培训 – 34
http://www.boobooke.com/v/bbk2193
http://www.boobooke.com/v/bbk2193.zip
小布作品:Oracle 9i 性能调优系列培训 – 35
http://www.boobooke.com/v/bbk2194
http://www.boobooke.com/v/bbk2194.zip
小布作品:Oracle 9i 性能调优系列培训 – 36
http://www.boobooke.com/v/bbk2195
http://www.boobooke.com/v/bbk2195.zip
小布作品:Oracle 9i 性能调优系列培训 – 37
http://www.boobooke.com/v/bbk2196
http://www.boobooke.com/v/bbk2196.zip
小布作品:Oracle 9i 性能调优系列培训 – 38
http://www.boobooke.com/v/bbk2197
http://www.boobooke.com/v/bbk2197.zip
小布作品:Oracle 9i 性能调优系列培训 – 39
http://www.boobooke.com/v/bbk2225
http://www.boobooke.com/v/bbk2225.zip
小布作品:Oracle 9i 性能调优系列培训 – 40
http://www.boobooke.com/v/bbk2226
http://www.boobooke.com/v/bbk2226.zip
小布作品:Oracle 9i 性能调优系列培训 – 41
http://www.boobooke.com/v/bbk2228
http://www.boobooke.com/v/bbk2228.zip
小布作品:Oracle 9i 性能调优系列培训 – 42
http://www.boobooke.com/v/bbk2229
http://www.boobooke.com/v/bbk2229.zip
小布作品:Oracle 9i 性能调优系列培训 – 43
http://www.boobooke.com/v/bbk2300
http://www.boobooke.com/v/bbk2300.zip
小布作品:Oracle 9i 性能调优系列培训 – 44
http://www.boobooke.com/v/bbk2301
http://www.boobooke.com/v/bbk2301.zip
小布作品:Oracle 9i 性能调优系列培训 – 45
http://www.boobooke.com/v/bbk2340
http://www.boobooke.com/v/bbk2340.zip
小布作品:Oracle 9i 性能调优系列培训 – 46
http://www.boobooke.com/v/bbk2341
http://www.boobooke.com/v/bbk2341.zip
小布作品:Oracle 9i 性能调优系列培训 – 47
http://www.boobooke.com/v/bbk2342
http://www.boobooke.com/v/bbk2342.zip
小布作品:Oracle 9i 性能调优系列培训 – 48
http://www.boobooke.com/v/bbk2343
http://www.boobooke.com/v/bbk2343.zip
小布作品:Oracle 9i 性能调优系列培训 – 49
http://www.boobooke.com/v/bbk2344
http://www.boobooke.com/v/bbk2344.zip
小布作品:Oracle 9i 性能调优系列培训 – 50
http://www.boobooke.com/v/bbk2345
http://www.boobooke.com/v/bbk2345.zip
Popularity: 9% [?]
Oracle 9i比8i多了哪些新特性?
简要说:
9i更易于管理。
详细说:
并发集群,8i OPS升级为9i RAC,8i结点间用硬盘交换信息,9i结点间采用高速网线的缓存熔合(Cache Fusion)技术交换信息,交换速度提高100倍以上。
9i可以在线修改内核参数和内存分配,8i不行。
数据文件和表空间管理,8i手工管理,9i自动管理。
9i比8i增强了对ANSI SQL99的支持。
9i比8i增强了故障后的快速恢复(Fast-start)。
8i只支持物理备份(physical backup)数据库,9i还增加了支持逻辑备份(logical backup)数据库,使备份数据库除了作为主数据库的镜像外,还可以提供其他数据服务.
Oracle 10g比9i多了哪些新特性?
简要说:
10g支持网格(Grid),支持自动管理(Automatic Management)。
详细说:
10g的g是”Grid”缩写,支持网格计算,即,多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个网格中均衡(Load Balance),按需增删结点,避免单点故障(Single Point of Faliure)。
安装容易,安装工作量比9i减少了一半。
新增基于浏览器的企业管理器(Enterprise Manager)。
自动存储管理(ASM),增删硬盘不再需要操作系统管理员设置的镜像、负载均衡、物理卷、逻辑卷、分区、文件系统,只要打一条Oracle命令,ASM会自动管理增加或删除的硬盘。
内存自动化,根据需要自动分配和释放系统内存。
SQL性能调整自动化。
免费提供基于浏览器的小应用开发工具Oracle Application Express(原名HTML DB),支持10g和9i R2。
快速纠正人为错误的闪回(Flashback)查询和恢复,可以恢复数据库、表甚至记录。
数据泵(Data Pump)高速导入、导出数据,比传统方法导出速度快两倍以上,导入速度快15–45倍。
精细审计(Fine-Grained Auditing),记录一切对敏感数据的操作。
存储数据的表空间(Tablespace)跨平台复制,极大的提高数据仓库加载速度。
流(Streams)复制,实现低系统消耗、双向(double-direction)、断点续传(resume from break point)、跨平台(cross platform)、跨数据源的复杂复制。
容灾的数据卫士(Data Guard)增加了逻辑备份功能,备份数据库日常可以运行于只读状态,充分利用备份数据库。
支持许多新EE选件,加强数据库内部管理的“Database Vault”,数据库活动的审计的(Audit Vault),数据仓库构建高级功能(Warehouse Builder Enterprise ETL, Warehouse Builder Data Quality).
Oracle 11g比10g多了哪些新特性?
11 g 扩展了 Oracle 独家具有的提供网格计算优势的功能,您可以利用它来提高用户服务水平、减少停机时间以及更加有效地利用 IT资源,同时还可以增强全天候业务应用程序的性能、可伸缩性和安全性。
利用真正应用测试(RAT)尽量降低更改的风险
11 g降低了数据库升级以及其他硬件和操作系统更改的成本,显著简化了更改前后的系统测试以便您可以识别和解决问题。例如:
利用 Database Replay,您可以在数据库级别轻松捕获实际的生产负载并在您的测试系统上重新播放,这样您可以全面测试系统更改(包括关键的并发特性)的影响。
SQL Performance Analyzer识别结构化查询语言 ) SQL(执行计划更改和性能回退。然后,可以使用 SQL Tuning Advisor解决识别的问题,方法是还原到原始的执行计划或进一步优化。
利用管理自动化提高 DBA 效率
Oracle 数据库 11 g继续致力于(从 Oracle9i数据库开始一直到 Oracle 数据库10 g)显著简化和完全自动化 DBA 任务。 Oracle数据库11 g中的新功能包括:
利用自学功能自动进行 SQL 优化系统全局区(SGA)和程序全局区( PGA)的内存缓存区的自动、统一调整新的 advisor用于分区、数据恢复、流性能和空间管理针对自动数据库诊断监视器 (ADDM)的增强,能够提供 Oracle 真正应用集群 (Oracle RAC)环境中的更好的性能全局视图以及改进的性能比较分析功能。
利用故障诊断快速解决问题
Oracle 数据库 11 g中新增的故障诊断功能使客户在发生错误后捕获 Oracle
Support所需的数据变得极为简单。这可以加速问题的解决,减少客户重现问题的需要。
尽量降低停机成本
通过 Oracle Data Guard快速恢复数据
Oracle Data Guard在本地和远程服务器之间协调数据库的维护和同步以便从灾难或站点故障快速恢复。 Oracle数据库11 g提供了大量显著的 Oracle Data Guard增强,包括
可以在物理备用系统上运行实时查询用于报表和其他目的
可以通过将物理备用系统暂时转换为逻辑备用系统执行联机的、滚动的数据库升级
..支持测试环境的快照备用系统
此外,物理和逻辑备用的性能都有提高。逻辑备用现在支持可扩展标记语言(XML)类型字符大型对象 (CLOB)数据类型和透明的数据加密。现在支持自动的、快速启动的故障切换以支持异步传输。
Oracle 数据库 11 g提供了几个针对自动存储管理的重要的高可用性增强,
包括:
..支持滚动升级
..自动坏块检测和修复
..快速镜像重新同步,该功能可以有效地重新同步存储网络连接性暂时丢失时自动存储管理镜像的存储阵列
自动存储管理的性能增强使得大型数据库可以更快地打开并减少 SGA 内存消耗。这些增强还允许 DBA增加存储分配单元大小以加快大型序列输入/输出 (I/O)
显著增加正常运行时间
Oracle数据库11 g使您可以应用很多一次性数据库补丁(包括诊断补丁),而没有停机时间。新的数据恢复 advisor通过快速识别故障根本原因、为 DBA提供可用的恢复选项,极大地减少了停机时间,在某些情况下,还通过“自我恢复”机制自动纠正问题。
Oracle 数据库 11 g还有其他高性能提高,包括
..自动编译数据库中的 PL/SQL 和 Java
..更快的触发器,包括更加有效地调用每行触发器
..更快的简单 SQL 操作
..更快的 Oracle Data Guard 和 Oracle Streams 复制
..与网络文件系统( NFS) 存储设备更快、更可靠的直接连接
..更快的升级
..大型文件更快的备份/还原
..更快的备份压缩
Oracle 数据库 11 g包括大量新的 ILM特性,例如
..新的分区功能,包括
.按父/子引用分区
.按虚拟列分区
Oracle数据库11 g还具有带 Oracle闪回数据归档的 Total Recall,使您可以在选定的表中查询以前的数据,从而提供了一种简单实用的向数据中添加时间维度的方法以便于更改跟踪、 ILM、审计和合规。
其他高可用性增强
Oracle 数据库 11g还有其他高可用性增强,包括:
Oracle闪回事务查询,提供带其他相关事务更改的流氓事务的按钮更改
具有更多可传输选项的增强的平台移植和数据移动,包括可传输分区、
模式和跨平台数据库
Oracle恢复管理器 (RMAN)支持 Windows Volume Shadow Copy
Service ( VSS )快照,从而实现与 Windows备份更紧密的集成
优化性能和可靠性
合规、法律取证以及整合数据仓库的趋势导致数据库的大小每两年就会增加
两倍,这极大地影响了大型数据库的存储成本和性能、可靠性以及可管理性
。Oracle 数据库 11 g使组织可以使用低成本的服务器和模块化的存储器轻
松伸缩大型的事务和数据仓库系统并提供快速的全天候数据访问。 Oracle 数
据库11 g提供新的创新特性以进一步提高要求极严格的环境的性能和可伸
缩性。
利用 SecureFiles安全地存储您的所有数据
SecureFiles 是 Oracle用于在数据库中存储大型对象) LOB (
(例如图像、大型文本对象或包括 XML、医学成像以及地理空间栅格对象在内的高级数据类型)的下一代产品。 SecureFiles提供能够完全与文件系统相媲美的卓越性能。此外,它还提供高级功能,例如智能压缩、透明加密以及透明的重复
删除。
通过联机事务处理压缩提高性能并尽量降低存储成本
Oracle 数据库 11 g支持联机事务处理 (OLAP)应用程序中常用的更新、
插入和删除操作的数据压缩。以前的 Oracle数据库版本支持数据仓库应用
程序常用的批量数据加载操作的压缩。 Oracle 数据库 11 g OLTP表压缩通
过更加高效地使用内存来缓存数据以及减少表扫描的 I/O提高了数据库性能
。利用 OLTP表压缩,您可以利用最小的处理开销达到 2 到 3倍的压缩
比。
Popularity: 16% [?]
有两种方法:
方法1:
truncate table 你的表名 –这样不但将数据删除,而且可以重新置位identity各性的字段。
方法2:
delete from 你的表名
dbcc checkident(你的表名,reseed,0) –重新置位identity属性的字段,让其下个值从1开始。
Popularity: 14% [?]
最近评论