Oracle 使用set修改数据库运行参数

2014-11-24 17:48:17 · 作者: · 浏览: 1

1. 如何查看一个参数是动态还是静态的


参数我们可以在v$parameter中查到。


COLUMN VALUE FORMAT a40;


COLUMN NAME FORMAT a20;
SELECT NAME,VALUE,ISSES_MODIFIABLE,ISSYS_ MODIFIABLE FROM V$SYSTEM_PARAMETER;


IMMEDIATE:动态参数,立刻生效


DEFERRED:动态参数,对以后建立的SESSION生效,仍然连接的SESSION保持原有属性


FALSE:静态参数,必须重启实例才能够生效。


■ MMEDIATE - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect immediately.


■ DEFERRED - Parameter can be changed with ALTER SYSTEM regardless of the type of parameter file used to start the instance. The change takes effect in subsequent sessions.


■ FALSE - Parameter cannot be changed with ALTER SYSTEM unless a server parameter file was used to start the instance. The change takes effect in subsequent instances.


2. 区别ALTER DATABASE ,ALTER SYSTEM ,ALTER SESSION;


ALTER DATABASE: 数据库


ALTER SYSTEM: 实例级


ALTER SESSION: 会话级


ALTER DATABASE 数据文件、表空间、日志文件等等,和物理上的文件有关系的一些变更,也就是对数据库的更改,一般改变的是物理上的,通过ALTER DATABASE操作时会触发controlfile header和其他一些物理文件头信息的变化 能看得见的


比如 :ALTER dtabase rename datafile


ALTER SYSTEM 动态的改变数据库例程的属性 一般是逻辑上的 看不见的
比如:ALTER SYSTEM set db_cache_size


ALTER SESSION 改变的的是一个会话的属性 逻辑上的 看不见的
比如:ALTER SESSION set nls_language


3. 如何查看表空间或表的创建结构


a. 查看表空间的创建结构


Set long 2000


Select


sys.dbms_metadata.get_ddl(‘TABLESPACE’,’TABLESPACE_NAME’)


FROM DUAL;


b. 查看用户表\索引的创建结构


Select sys.dbms_metadata.get_ddl(‘TABLE’,’TABLE_NAME’,’USERNAME’) FROM DUAL;


Select sys.dbms_metadata.get_ddl(‘INDEX’,’INDEX_NAME’,’USERNAME’) FROM DUAL;


c. 查看用户创建的procedure结构


Select sys.dbms_metadata.get_ddl(‘PROCEDURE’,’PROCEDURE_NAME’) FROM DUAL;