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


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

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

COLUMN VALUE FORMAT a40;

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

这里有两个列isses_modifiable和issys_modifiable 分别对应的是SESSION级别修改的参数和SYSTEM级别修改的参数。
如果isses_modifiable=true,表明这个参数可以在SESSION级别可以修改,并且立即生效。false就是不能修改。
ALTER SESSION set sql_trace=true;
如果issys_modifiable=immediate,表示这个参数可以在SYSTEM立即修改,并且立即生效。
ALTER SYSTEM set sql_trace=true;
若如果issys_modifiable=deferred,表示这个参数不能在直接修改在内存中,需要加scope=spfile,重启后才能生效。
ALTER SYSTEM set asm_diskstring=’Oracle_group’ scope=spfile ;
若issys_modifiable=false 必须重启实例才能够生效。。

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;

  • 1
  • 2
  • 下一页

相关内容