您的位置:首页 > 数据库 > Oracle

ORACLE常用操作

2018-02-01 16:58 176 查看
查询数据库当前进程的连接数:

select count(*) from v$process;


查看数据库当前会话的连接数:

select count(*) from v$session;


查看数据库的并发连接数:

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


查看当前数据库建立的会话情况:

select sid,serial#,username,program,machine,status from v$session;


查询数据库允许的最大连接数: 

select value from v$parameter where name = 'processes';


或者:

show parameter processes;


修改数据库允许的最大连接数:(需要重启数据库才能实现连接数的修改)

alter system set processes = 300 scope = spfile;


重启数据库:

shutdown immediate;
startup;


查看当前有哪些用户正在使用数据:  

select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine
  from v$session a,v$sqlarea b
  where a.sql_address = b.address
  order by cpu_time/executions desc;


备注:UNIX 1个用户session对应一个操作系统process,而Windows体现在线程。

启动oracle

su - oracle
sqlplus system/pwd as sysdba   //进入sql
startup                                      //启动数据库
lsnrctl start                               //启动监听
sqlplus "/as sysdba"
shutdown immediate;
startup mount;
alter database open;


找到被锁的表:

SELECT dob.OBJECT_NAME Table_Name,
lo.SESSION_ID || ', ' || vss.SERIAL# 删除号,
lo.locked_mode,
lo.SESSION_ID,
vss.SERIAL#,
vss.action Action,
vss.osuser OSUSER,
vss.LOGON_TIME,
vss.process AP_PID,
VPS.SPID DB_PID,
vss.*
From v$locked_object lo, dba_objects dob, v$session vss, V$PROCESS VPS
Where lo.OBJECT_ID = dob.OBJECT_ID
and lo.SESSION_ID = vss.SID
AND VSS.paddr = VPS.addr
order by 2, 3, DOB.object_name


解锁:

ALTER system kill session '196, 1231'


数据库备份:

create table te.person_bak select * from te.person;
drop table te.person;
create table te.person as select * from te.person_bak@dblink_db;


创建序列

create sequence te.seq_pp_id

minvalue 1

maxvalue 9999999999999999999999999999

start with 5365

increment by 1

cache 20;

  

–首先创建一个事务

declare

trans_id Varchar2(100);

begin

trans_id := dbms_transaction.local_transaction_id( TRUE );

end;

–查看事务隔离级别

SELECT s.sid, s.serial#,

  CASE BITAND(t.flag, POWER(2, 28))

    WHEN 0 THEN ‘READ COMMITTED’

    ELSE ‘SERIALIZABLE’

  END AS isolation_level

FROM vtransactiontJOINvtransactiontJOINvsession s ON t.addr = s.taddr AND s.sid = sys_context(‘USERENV’, ‘SID’);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Oracle