Oracle数据库维护文档

1.Oracle死锁

--1.1.查出已死锁定表的sid, serial#,os_user_name, machine_name, terminal,锁的type,mode

SELECT SESS.SID, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME, LO.LOCKED_MODE ,SESS.SQL_EXEC_START ,sess.LOGON_TIME FROM V$LOCKED_OBJECT LO, DBA_OBJECTS AO, V$SESSION SESS WHERE AO.OBJECT_ID = LO.OBJECT_ID AND LO.SESSION_ID = SESS.SID;

--1.2.查看什么语句导致锁表

select l.session_id sid, s.serial#, l.locked_mode, l.oracle_username, s.user#, l.os_user_name, s.machine, s.terminal, a.sql_text, a.action from v$sqlarea a, v$session s, v$locked_object l where l.session_id = s.sid and s.prev_sql_addr = a.address order by sid, s.serial#;

--1.3.杀掉进程 sid,serial#

alter system kill session '210,11562'; --210,11562需替换

 

2.增加表空间

--增加表空间的数据文件

ALTER TABLESPACE LINKMES_DGGF_DEFAULT_DATA ADD DATAFILE '+DATA/gfmes/datafile/linkmes_dggf_default_data.2020092901' SIZE 30G;

/*增加数据文件,自动扩展 */

ALTER TABLESPACE LINKMES_XYGFDZ_DEFAULT_DATA ADD DATAFILE 'D:\app\admin\oradata\GFDZDATA\linkmes_xygfdz_default_data02.dbf' size 2048M autoextend on next 100M maxsize UNLIMITED;

 

3.查看Oracle日记

--6.查询归档日志的信息:
  select recid,stamp,thread#,sequence#,name from v$archived_log;
--2.查看在线日志组的位置
select MEMBER from v$logfile;

4.恢复删除表

--查看oracle删除记录

select * from user_recyclebin;

查看oracle是否开启闪回功能,FLASHBACK_ON为NO,则表示闪回特性尚未启用

select log_mode,open_mode,flashback_on from v$database;

--1、根据表名恢复表信息

flashback table 表名 to before drop;

--2、根据表名重命名表信息

flashback table 表名 to before drop rename to new_table_name;

--3、利用flashback table恢复表到过去某一时刻

alter table tab_test enable row movement; flashback table tab_test to timestamp ('20140917 10:00:00','yyyymmdd hh24:mi:ss'); alter table tab_test disable row movement;

5.新建Oracle数据库

/*分为四步 */ /*第1步:创建临时表空间 */

create temporary tablespace mes_temp tempfile 'D:\app\admin\oradata\GFDZDATA\MES_TEMP.DBF' size 1024M autoextend on next 64M maxsize UNLIMITED extent management local; /*第2步:创建数据表空间 */

create tablespace LINKMES_XYGFDZ_DEFAULT_DATA datafile 'D:\app\admin\oradata\GFDZDATA\linkmes_xygfdz_default_data01.dbf' size 2048M autoextend on next 100M maxsize UNLIMITED extent management LOCAL segment space management AUTO;

 

/*创建数据索引表空间 */

create tablespace LINKMES_XYGFDZ_INDEX datafile 'D:\app\admin\oradata\GFDZDATA\linkmes_xygfdz_index.dbf' size 2048M autoextend on next 100M maxsize UNLIMITED extent management LOCAL segment space management AUTO;

/*第3步:创建用户并指定表空间 */

create user XYGFDZ_USER identified by XYGFDZ_USER default tablespace LINKMES_XYGFDZ_DEFAULT_DATA temporary tablespace temp;

/*第4步:给用户授予权限,给用户授予 conect,resource 权限*/

grant connect,resource,dba to XYGFDZ_USER;

 

6.备份Oracle数据库

 

7.重启数据库

shutdown immediate;

startup;

8.查看Oracle数据库连接数

select count(*) from v$process --当前的连接数
select value from v$parameter where name = 'processes' --数据库允许的最大连接数

修改最大连接数:

alter system set processes = 300 scope = spfile;

查询oracle的并发连接数

select count(*) from v$session where status='ACTIVE';

9.Oracle常规Sql语句操作

 

创建表:

  create table 表名 (

    字段名1 字段类型 默认值 是否为空 ,

    字段名2 字段类型 默认值 是否为空,

    字段名3 字段类型 默认值 是否为空,

    ......

  );

  创建一个user表:

  create table user (

    id number(6) primary key,   ---主键

    name varchar(50) not null,   ---姓名 不为null

    sex varchar2(6) default '男' check ( sex in ('男','女'))   ---性别 默认'男'

  );

修改表名:

  rename 旧表名 to 新表名;

  rename user to newuser;

删除表:

  delete from 表名;

  delete删除数据是一条一条的删除数据,后面可以添加where条件,不删除表结构。注意:如果表中有identity产生的自增id列,delete from后仍然从上次的数开始增加。

  truncate table 表名;

  truncate是一次性删掉所有数据,不删除表结构。注意:如果表中有identity产生的自增id列,truncate后,会恢复初始值。

  drop table 表名;

  drop删除所有数据,会删除表结构。

修改表:

  添加新字段:

  alter table 表名 add(字段名 字段类型 默认值 是否为空);

  alter table user add(age number(6));

  alter table user add (course varchar2(30) default '空' not null);

  修改字段:

  alter table 表名 modify (字段名 字段类型 默认值 是否为空);

  alter table user modify((age number(8));

  修改字段名:

  alter table 表名 rename  column  列名 to 新列名;

  alter table user rename column course to newcourse;

  删除字段:

  alter table 表名 drop column 字段名;

  alter table user drop column course;

posted @ 2021-12-16 09:43  一生有你.Net  阅读(112)  评论(0编辑  收藏  举报