工作中的oracle常用維護,oracle維護

來源:互聯網
上載者:User

工作中的oracle常用維護,oracle維護

http://blog.csdn.net/lili72


背景:由於曆史原因,公司部分業務還在使用oracle中。一出問題就是搞的很麻煩。由於長期使用的是mysql 和hive,Hbase等,一些oracle的命令慢慢的也是忘記了,但是公司某些在oracle上的業務,突然出現問題,每次尋找問題都查得比較費勁,現把常用命令記錄下來。

   常遇到的oracle的問題:

     1.0 遠程登入到oracle。

       1.0.1  ssh  root@192.168.119.132 -p22330

             su  oracle

       1.0.2  ps -ef | grep  oracle  

              

找到oracle的位置

進入sqlplus  

 sqlplus /nolog 

 conn /as  sysdba

     1.1  oracle密碼到期,串連失敗

         1.1.1 查看使用者

 select * from dba_profiles where resource_type='PASSWORD';

         1.1.2 設定無到期

alter profile DEFAULT limit unlimited;  

alter profile DEFAULT limit password_reuse_time unlimited;

     1.2  oracle的表分區超限,插入資料失敗  由於oracle的定界分割

新增表分區:

alter table bi_test_1215_test_del add partition t_range_p132 values less than (to_date('20150110','yyyymmdd')) tablespace USERS storage ( initial 64K minextents 1 maxextents unlimited ) ;

 

     1.3  oracle的資料表空間滿了,需要擴充。

        1.3.2 查看錶空間佔用情況:

SELECT tbs 資料表空間名,                                    
    sum(totalM) 總共大小M,                                    
    sum(usedM) 已使用空間M,                                    
    sum(remainedM) 剩餘空間M,                                    
    sum(usedM)/sum(totalM)*100 已使用百分比,                            
    sum(remainedM)/sum(totalM)*100 剩餘百分比                            
    FROM(                                            
     SELECT b.file_id ID,                                    
     b.tablespace_name tbs,                                    
     b.file_name name,                                    
     b.bytes/1024/1024 totalM,                                    
     (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,                        
     sum(nvl(a.bytes,0)/1024/1024) remainedM,                            
     sum(nvl(a.bytes,0)/(b.bytes)*100),                                
     (100 - (sum(nvl(a.bytes,0))/(b.bytes)*100))                            
     FROM dba_free_space a,dba_data_files b                            
     WHERE a.file_id = b.file_id                                
     GROUP BY b.tablespace_name,b.file_name,b.file_id,b.bytes                    
     ORDER BY b.tablespace_name                                
    )                                            
    GROUP BY tbs  

      1.3.2 擴充資料表空間:

       --增加資料檔案

   alter tablespace USERS add datafile '/data2/oracle/users02.dbf' size 50m; 

     1.4  oracle的鎖表處理

select sess.sid, 

    sess.serial#, 

    lo.oracle_username, 

    lo.os_user_name, 

    ao.object_name, 

    lo.locked_mode 

    from v$locked_object lo, 

    dba_objects ao, 

    v$session sess 

where ao.object_id = lo.object_id and lo.session_id = sess.sid; 

 

或者:

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID; 

刪掉鎖表語句:

alter system kill session '198'; 

     1.5  oracle語句最佳化,新增索引,建分區表

      1.5.1 首先考慮查詢條件 建索引。

    建立: create index inde_name on table_name  (col_name) tablespace users  storage  (  initial 500k  next 500k  pctincrease 0  ) 

  查詢:select * from dba_indexes where table_name ='t_li72';

      1.5.2 資料量實比較大,考慮建分區表。

create table li72_test_deal

(

  LOGDATE DATE,

  FILENAME VARCHAR2(600)

)

partition by range(logdate)(

partition t_range_p1 values less than (to_date('20140901','yyyymmdd')),

partition t_range_p2 values less than (to_date('20140902','yyyymmdd')),

 

 

   


Sqoop到oracle的語句:從hive到oracle

按分區選擇列同步資料到oracle中

sqoop export --connect jdbc:oracle:thin:@192.1.118.210:1521:orcl --username biuser --password biusertmp --table li72.tmp_SRC_PLAY_LH_1203_temp --columns LOGDATE,FILENAME,SINGER,SONG,SEARCHOVERPLAY,SEARCHPLAY,OVERPLAY,UNINPUTKEY,INPUTPARTKEY,INPUTALLKEY,MP3OVERPLAY,MVOVERPLAY,MVRANDOMPLAY,MP3RANDOMPLAY,TRYPLAY,DOWNLOAD,SEARCHCLICK,SEARCH,PLAY --export-dir /user/hive/warehouse/bi_test.db/li72_hoer_sear_play/dt=${vDay} --input-fields-terminated-by '|'

 

從oracle到hive中:

sqoop import--hive-import --connect jdbc:oracle:thin:@192.116.80.118:1521:CUSTOMER2--username biuser --password biusertmp --verbose -m 1 --table class_type

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.