linux下oracle常用操作以及linux基本操作



linux下查看oracle中有多少個實例已經啓動了:
ps -ef|grep smon


echo命令可以查看變量
echo $ORACLE_HOME看看目錄在哪


沒啓動的,只能去$ORACLE_HOME/dbs下面去數你有多少init文件了。
oracle11g可以查看/etc/oratab文件




啓動數據庫實例,分爲兩步:
第一步,啓動監聽;
 [oracle@wuzhq ~]$ su - oracle     --“切換到oracle用戶”
 [oracle@wuzhq ~]$ lsnrctl start   --“打開監聽” 
第二步,啓動數據庫實例。
export ORACLE_SID=SID2  --設置默認的oracle_sid  可以用echo $ORACLE_SID查看當前默認的SID
sqlplus /nolog
conn /as sysdba         --使用sys登錄oracle在執行startup命令
startup                 --啓動數據庫實例的命令
shutdown immediate      --關閉數據庫實例的命令




注意:                                             邏輯壞塊問題
啓動oracle的時候報錯ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [],[], [], [], [], [], [], [], []
執行sql查詢語句的時候報錯:datase not open


首先查詢alert日誌和trace文件:


在ASMDB_ora_5210.trc文件中有如下的信息:


..................


17755E0 03C10222 096F780B 36380113 6029D938  ["....xo...868.)`]
17755F0 D843E0FF 7CAA8000 02C1B000 88DC0248  [..C....|....H...]
Reading datafile '+ZHUXGASM/asmdb/datafile/undotbs1.258.813246367' for corruption at rdba: 0x00c00858 (file 3, block 2136)
Reread (file 3, block 2136) found same corrupt data (logically corrupt)
******** WRITE VERIFICATION FAILED ********


由此我們知道是因爲數據庫宕機之後,出現了邏輯壞塊 (logically corrupt),因此需要進行介質恢復。




解決辦法:
suse11sp2:/oracle/oraarch> sqlplus / as sysdba   --連接oracle
SQL> select status from v$instance;              --查看狀態
STATUS
------------
MOUNTED 
SQL> 
SQL> 
SQL> select open_mode from v$database; 
OPEN_MODE
--------------------
MOUNTED 
SQL> 
SQL> 
SQL> recover database; 
Media recovery complete.
SQL>
SQL>
SQL> alter database open;
Database altered.
SQL>
SQL>
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE 


3、驗證處理效果
執行一次乾淨關閉,然後在打開,不在報錯,問題處理完畢。
 
SQL> alter system checkpoint;
 
System altered.
 
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>
SQL>
SQL>
SQL> startup
ORACLE instance started. 








-- Create database link 
-- 配置了本地服務名的可以使用該方法
--create database link db_to_250 connect to admin identified by "admin123" using 'itmsv2_250'; 
create database link db_to_250
  connect to admin identified by "admin123"
  using '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 193.169.100.250)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = itmsv2)
    )
  )';


要求表不存在,創建new_table_name
SELECT *
INTO new_table_name [IN externaldatabase] 
FROM old_tablename


要求表存在
Insert into Table2(field1,field2,...) select value1,value2,... from Table1

***********************************************************************************************************************************************
***********************************************************************************************************************************************
***********************************************************************************************************************************************

查看svn運行端口

# ps aux | grep svn
root     64434  0.0  0.0 181584  1120 ?        Ss   02:01   0:00 svnserve -d -r /var/svn/svnrepos
root     64481  0.0  0.0 103256   848 pts/1    S+   02:03   0:00 grep svn


使用Kill命令殺死進程  kill -s 9 64434
啓動SVN服務: 
svnserve -d -r /var/svn/svnrepos




添加用戶權限:
vim /var/svn/svnrepos/conf/authz


[groups]
admin=xx01,xx02
user=xx03,xx04


[/]#根目錄權限配置
admin=rw #授權用戶admin讀寫權限
@admin=rw ##授權admin用戶組讀寫權限


[/code/xx] #code目錄下的xx目錄的權限配置
@user=rw  #授權user用戶組讀寫權限


配置權限無需重啓svn服務


*******************************************************************************
根據端口號查看進程
sudo lsof -i:8088


查看tomcat進程
ps -aux | grep tomcat(或者ps -ef | grep tomcat都行)


根據進程查看端口號
sudo netstat -naop | grep 14177


根據進程號殺死進程
kill -9 14177


實時查看tomcat運行日誌:
先切換到:tomcat/logs目錄,在執行:
tail -f catalina.out





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章