oracle常用操作

shutdown immediate 

    --1.创建表空间  

    create tablespace EAMP   

    datafile 'F:\tablespace\EAMP.dbf'   

    size 500M   

    autoextend on next 5M maxsize 1500M;  

    --删除表空间  

    drop tablespace EAMP including contents and datafiles;  

    /*用户权限  

    授予用户使用表空间的权限:*/  

    alter user eam2 quota unlimited on EAMP;  

    --2.建用户  

    create user workflow identified by workflow default tablespace EAMP;  


    --3.赋权  

    grant connect,resource,create any sequence,create any view,

    create any table,delete any table,insert any table,update any table,

    select any table, unlimited tablespace,execute any procedure,dba to workflow;  


    --解锁被锁的用户

    alter user workflow account unlock;

    --设定连接数  

     alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS 10;  

     --不限制连接数 

     alter profile DEFAULT limit FAILED_LOGIN_ATTEMPTS UNLIMITED; 

    --4.导入导出命令     

    ip导出方式: exp WMSM/WMSM@127.0.0.1:1521/orcl file=f:/f.dmp full=y  

    exp WMSM/WMSM@ORCL file=f:\f.dmp full=y  

    imp WMSM/WMSM@ORCL file=f:\f.dmp full=y ignore=y  

    imp sdrend/sdrend2011@ORCL file=f:\data.dmp full=y ignore=y; 


    --spool D:\log\eam2.log;  sql命令行

    imp eam2/eam2@ORCL file=f:\eam2_4.dmp full=y ignore=y; 

    --spool off;

    exp eam2/eam2@ORCL file=f:\eam2.dmp full=y ; 

    --===========================================================================================================


    删除SQL外键 删除索引 删除表 修改表添加字段

--1.删除外键

ALTER   TABLE   WMSM.SEC_EMP_T   DROP   CONSTRAINT   FK_SEC_EMP_REF7 ;

ALTER   TABLE   WMSM.Sec_Org_t   DROP   CONSTRAINT   FK_SEC_EMP_REF7 ;

--查询某表的所有主外键

select * from user_constraints e where e.table_name = 'SEC_EMP_T'

--查询所有引用到该主键的记录

select b.table_name,b.column_name from user_constraints a 

inner join user_cons_columns b

on a.constraint_name = b.constraint_name

where a.r_constraint_name='PK_SEC_EMP_T' --此处输入刚才查询出来的表主键的约束名 

--2.删除索引

DROP INDEX IND_SEC_EMP_T_02;

DROP INDEX IND_SEC_EMP_T_03;

DROP INDEX IND_SEC_EMP_T_CDE;

DROP INDEX IND_T_SEC_EMP_T_01;

--3.删除主键

ALTER TABLE WMSM.SEC_EMP_T DROP CONSTRAINT PK_SEC_EMP_T;

--4.删除表

truncate table  WMSM.SEC_EMP_T;

-----------------------------------------------------------------

--oracle备份恢复

alter system set "_ALLOW_RESETLOGS_CORRUPTION"=true scope=spfile;

shutdown immediate

startup mount

alter database datafile 'D:\tablespace\WMSDATA.dbf' offline drop;

alter database open;

Sqlplus /nolog

 Conn sys/password@ORCL as sysdba 

 drop user WMSM cascade; 

 ----------------------闪回-------------

/*undo_management,参数需要是“AUTO”,保证回滚段使用模式是SMU mode

undo_retention,单位是秒,调整可回滚的时间范围

确认系统的相关参数

命令窗口> show parameter undo

来源一:

  专用模式和共享模式的本质区别就是:用户进程对ORACLE服务器所在的计算机的内存区里”服务器进程“是专用还是共享。

  具体表现在:

  1、在共享模式下,多个用户进程共享一个服务器进程;在专用模式下,ORACLE为每一个用户进程准备一个服务器进程。

  2、在实际情况中,应用系统与数据库的连接请求总是很多,导致用户进程也很多,如果你的内存和CPU是有限的,同时,用户进程对数据库的操作占用空间不多,那你就把数据库连接模式设置为共享模式,这样,ORACLE内存区的服务器进程只是有限的几个,这几个服务器进程会通过一个调度程序来应付若干用户进程的请求。

  3、如果你的硬件资源比较好,就设置成专用模式,每一个用户进程都有一个服务器进程对应,这样,你的用户进程对数据的处理会非常快!

  简单的说,连接客户数少,需要长时间占用数据库的,建议用专有模式,如果连接客户数众多,使用共享模式。

*/

 show parameter shared_server; 1为专用模式,0为共享模式(一般用不着)

 --允许表闪回

  alter table AAA enable row movement;


  /*方法1:

查询最新的系统变更number*/

 select dbms_flashback.get_system_change_number from dual;

--查看此次变更后的表记录

 select * from AAA as of scn 2071711;

FLASHBACK TABLE AAA TO SCN 2071711;

/*方法2:*/

select * from flashback_transaction_query where table_name='AAA';

--根据scn号恢复

 select * from AAA as of scn 2051279

 FLASHBACK TABLE AAA TO SCN 2051279;

  select current_scn from v$database; 

   select dbid,checkpoint_change# from v$database; 

  select dbms_flashback.get_system_change_number from dual; 

 FLASHBACK database to scn

--drop表后的恢复

  DROP TABLE AAA;


  SELECT * FROM AAA ;


  SELECT * FROM RECYCLEBIN;

  SELECT * FROM USER_RECYCLEBIN;


  FLASHBACK TABLE AAA TO BEFORE DROP;


  --闪回  根据时间点

  FLASHBACK TABLE AAA TO TIMESTAMP TO_TIMESTAMP('2014/4/26 16:51:23','YYYY/MM/DD HH24:MI:SS'); 

  --/*------闪回数据库到某一天---*/

  Sqlplus /nolog

  Conn sys/password@ORCL as sysdba 

  shutdown immediate;  

  startup mount ; 

  FLASHBACK database  TO TIMESTAMP TO_TIMESTAMP('2014/7/16 16:51:23','YYYY/MM/DD HH24:MI:SS'); 

  alter database open resetlogs; 

  --/*------闪回数据库到某一天---*/

  select TO_TIMESTAMP('2014/4/26 16:51:23','YYYY/MM/DD HH24:MI:SS') from dual;

----------------------------------------------------------------------------------------------------------

  --冷备 非归档模式

   select * from v$database; --其log_mode会显示数据库是否归档模式

  select name from v$controlfile; --列出所有 控制文件 CTL

  select name from v$datafile; --列出所有数据文件 DBF

  select member from v$logfile; --列出所有redo日志文件 LOG

  select sequence#,first_time from v$loghist; --列出所有归档redo日志文件的顺序号和产生时间


  select * from v$archived_log;

  select name,log_mode from V$database; --查看是否归档模式

----------------------------------------------------

--热备   启用归档模式

/*--D:\oracle\srvm\admin目录下init.ora

   命令行下,进到oracle目录

   sqlplus /nolog

   connect sys/password as sysdba 

   shutdown immediate;

   startup mount exclusive; 

   alter database archivelog; 

   alter database open;

   alter system archive log start;

   shutdown immediate;

   exit;

*/

         --备份表空间

         a,首先,修改表空间文件为备份模式  ALTER TABLESPACE WMSDATA BEGIN BACKUP;

         b,然后,拷贝表空间文件到安全区域 !CP WMSDATA D_PATH;

         c,最后,将表空间的备份模式关闭    ALTER TABLESPACE WMSDATA END BACKUP;

 -- 备份日志文件

 (1)通过在sqlplus上执行archive log list命令获取当前的日志顺序号,从oldest online log sequence开始到current log sequence的联机redo日志应该是热备份的一部分。 

 (2)在sqlplus上执行alter system switch logfile;命令来强迫日志切换,以便所有的日志都被归档。

  --备份 控制文件

  alter database backup controlfile to 'controlfile_back_2014-6-6' reuse;

-----------------------------------------------------------------------------

 恢复步骤:LOG_ARCHIVE_DEST_1

                      shutdown数据库。

                     将全备份的数据文件放到原来系统的目录中。

                     将全备份到失败点的所有归档日志放到参数LOG_ARCHIVE_DEST_1所指定的位置。

                     利用sqlplus登陆到空实例。(connect / as sysdba)

                     然后  startup mount

                             set autorecovery on

                             recover database;

                             alter database open;

    --查看数据库是否开启闪回                         

   select flashback_on from V$database;       


   select  to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') from dual;

   select  current_scn from v$database;

   如果已经开启了闪回,无须执行下面的操作。

   --cmd 命令下

 alter system set db_recovery_file_dest_size=30G scope=both;

 alter system set db_recovery_file_dest='D:\oracle\flash_recovery_area'  scope=both;

 shutdown immediate

 startup mount

 alter database archivelog;

 alter database flashback on;

 alter database open;

再进行确认:

 select flashback_on from V$database;



---------------------------------------------------------------------------------------------------------------

wangyajun  jiceam926

--查看每个表空间的大小

Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name ;


select num_rows * avg_row_len 

from user_tables 

where table_name = 'JBPM4_LOB';

SELECT TABLESPACE_NAME,

       TO_CHAR(SUM(BYTES) / (1024 * 1024), '999G999D999') CNT_MB

  FROM DBA_EXTENTS

 WHERE OWNER = 'eam2'

  -- AND SEGMENT_NAME = '&TABLE_NAME'

  -- AND SEGMENT_TYPE LIKE 'TABLE%'

 GROUP BY TABLESPACE_NAME;


select b.name, sum(a.bytes / 1000000) 总空间

  from v$datafile a, v$tablespace b

 where a.ts# = b.ts#

 group by b.name;



--1、数据库管理员可以执行下述语句来查看SQL语句的解析情况:

SELECT *

  FROM V$SYSSTAT

 WHERE NAME IN ('parse time cpu', 'parse time elapsed', 'parse count (hard)');


 --发现是什么SQL语句解析效率比较低。

SELECT SQL_TEXT, PARSE_CALLS, EXECUTIONS

  FROM V$SQLAREA

 ORDER BY PARSE_CALLS;


 --2、查看低效率的SQL语句,优化这些语句也有助于提高CPU的利用率。

SELECT BUFFER_GETS, EXECUTIONS, SQL_TEXT FROM V$SQLAREA; 

  -- 共享池由两部分构成:共享SQL区和数据字典缓冲区,共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息。数据库管理员通过执行下述语句: 

  --来查看共享SQL区的使用率。这个使用率应该在90%以上,否则需要增加共享池的大小

select (sum(pins - reloads)) / sum(pins) "Lib Cache"  from v$librarycache; 

--查看数据字典缓冲区的使用率,这个使用率也应该在90%以上,否则需要增加共享池的大小。 


select (sum(gets - getmisses - usage - fixed)) / sum(gets) "Row Cache" from v$rowcache; 

--查看数据库数据缓冲区的使用情况

 SELECT name, value  FROM v$sysstat  WHERE name IN ('db block gets', 'consistent gets','physical reads'); 

--查看日志缓冲区的使用情况。

select name,value from v$sysstat where name in ('redo entries','redo log space requests');




 alter system set sga_target=1024m scope=spfile;

 alter system set sga_max_size=1024m scope=spfile; 

  --(如果spfile文件不存在,需先创建create spfile from pfile;)

 alter system set sga_target=12g scope=spfile; 

 alter system set sga_max_size=12g scope=spfile;


 --===========分页===========--------

 select * from( 

select t.*,row_number() over (order by t.seq_org) rowno from sec_org_t t 

where rowno between 1 and 10; 

select * from 

(select t.*,rownum as rowno from sec_org_t t ) 

where rowno between 1 and 10 ;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容