Oracle 数据库容量扩容3个方法:
1、为表空间添加数据文件 ALTER TABLESPACE system ADD DATAFILE 'DATA2.ORA';
2、添加新的表空间 CREATE TABLESPACE users DATAFILE 'DATA3.ORA';
3、增大数据文件的容量 ALTER DATABASE DATAFILE 'DATA3.ORA AUTOEXTEND ON NEXT 20M MAXSIZE 1000M;
2、一个数据库的 SYSTEM 表空间为本地管理的(locally managed),那么在此数据库中不能创建数据字典管理的(dictionary managed)表空间。但是用户可以使用可移动表空间(transportable tablespace)功能向此数据库中加入一个数据字典管理的表空间,此表空间只能置为只读状态。
3、修改了数据的事务(transaction)被提交之前,Oracle进行了以下操作:
A、Oracle生成了撤销信息(undo information)。撤销信息包含了事务中各个 SQL 语句所修改的数据的原始值。
B、Oracle在 SGA 的重做日志缓冲区(redo log buffer)中生成了重做日志条目(redo log entry)。重做日志记录(redo log record)中包含了对数据块(data block)和回滚块(rollback block)所进行的修改操作。这些记录可能在事务提交之前被写入磁盘。
C、对数据的修改已经被写入 SGA 中的数据库缓冲区(database buffer)。这些修改可能在事务提交之前被写入磁盘。
提示: 已提交事务(committed transaction)中对数据的修改被存储在 SGA 的数据库缓冲区(database buffer)中,她们不一定立即被后台进程 DBWn 写入数据文件(datafile)内。Oracle将选择适当的时机进行写操作以保证系统的效率。因此写操作既可能发生在事务提交之前,也可能在提交之后。
当事务(transaction)被提交之后,Oracle进行以下操作:
D. 撤销表空间(undo tablespace)内部的事务表(transaction table)将记录此次提交(commit),Oracle为此事务分配一个唯一的系统变化编号(system changenumber,SCN),并将其记录在事务表中。
E. 重做日志写进程(The log writer process,LGWR)将 SGA 内重做日志缓冲区(redo log buffer)中的重做日志条目(redo log entry)写入重做日志文件(redo log file)。同时还将此事务的 SCN 也写入重做日志文件。由以上两个操作构成的原子事件(atomic event)标志着一个事务成功地提交。
F. Oracle释放加于表或数据行上的锁(lock)。
G. Oracle将事务标记为完成。
4、当以下情况出现时,也会将共享 SQL 区清除出共享池:
当用户使用 ANALYZE 语句更新或删除了方案对象(表,簇,索引等)的统计信息后,如果一个共享 SQL 区内的 SQL 语句引用了被分析过的方案对象,那么此共享 SQL 区将被清除出共享池。当被清除的 SQL 语句再次运行时,此 SQL 语句将被重新解析并保存到新的共享 SQL 区内,以反映方案对象最新的统计信息。
如果 SQL 语句引用的方案对象经过了修改,则相应的共享 SQL 区将被标记为无效(invalidated),且此 SQL 语句下次运行时必须被重新解析。
当管理员改变了数据库的全局数据库名(global database name)后,共享池内的所有数据都将被清除。
管理员能够手工清除共享池内的全部信息以便评估系统性能(此种评估针对共享池,而非数据缓存(buffer cache)),而无需关闭实例再重新打开。这项工作是通过 ALTER SYSTEM FLUSH SHARED_POOL 语句完成的