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_modifiableissys_modifiable 分别对应的是SESSION级别修改的参数和SYSTEM级别修改的参数。
如果isses_modifiabletrue,表明这个参数可以在SESSION级别可以修改,并且立即生效。false就是不能修改。

ALTER SESSION set sql_trace
true;
如果issys_modifiableimmediate,表示这个参数可以在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(‘ROCEDURE’,’PROCEDURE_NAME’) FROM DUAL;

4. 查看表空间中包含的所有对象

SELECT owner,segment_name

FROM dba_extents

WHERE tablespace_name=upper(‘tablespace_name’)

AND segment_type=upper(‘table_name’)

OR segment_type=upper(‘index_name’);

5. 查看oracle 数据库中所有的对象

Select * from dba_source;

6. 查看某个视图建立时所对应的X$视图

Select * from v$fixed_view_definition

Where view_name=’GV$FIXED_TABLE’;

7. 最后给出一些很有用的数据字典及视图

DICT;   DICT_COLUMNS;  DUAL;   IND;

OBJ;  SEQ;  SYN;  TAB;

V$fixed_view_definition;

V$fixed_table;

V$indexed_fixed_column;

一些常用的动态性能视图:

V$instance;取得当前实例的详细信息

V$sga; 显示SGA主要的组成部分

V$sgainfo;取得SGA各个部分详细信息

V$parameter;取得初始化参数的详细信息

V$version;取得数据库的版本信息

V$option;显示已安装的oracle选项,true表示已安装

V$session;显示会话的详细信息

V$process;显示与oracle相关的所有进程信息

V$database;显示数据库详细信息

V$bgprocess;显示后台进程的详细信息

V$controlfile;显示控制文件的信息

V$datafile;显示所有数据文件的详细信息

V$dbfile;取得数据库文件的编号及名称

V$logfile;显示重做日志成员的信息

V$log;显示log组的详细信息

V$thread;显示重做线程的详细信息(一般为1)rac 除外

V$lock;显示锁的信息,通过与v$session进行联接查询,可以显示占有锁的会话

V$lock_object;显示被锁的对象,通过与dba_object 联接询,可以显示具体对象名和执行加锁的操作的用户。

V$rollname,v$rollstat;显示处于online状态的undo段,而v$rollstat 显示undo段统计信息,通过二者之间的联接查询可以显示undo段的详细统计信息

V$tablespace;显示表空间的信息

V$tempfile;显示当前数据库所包含的临时文件

session_privs;显示当前用户所有的权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值