linux下oracle常用操作以及linux基本操作
linux下檢視oracle中有多少個例項已經啟動了:
ps -ef|grep smon
echo命令可以檢視變數
echo $ORACLE_HOME看看目錄在哪
沒啟動的,只能去$ORACLE_HOME/dbs下面去數你有多少init檔案了。
oracle11g可以檢視/etc/oratab檔案
啟動資料庫例項,分為兩步:
第一步,啟動監聽;
[[email protected] ~]$ su - oracle --“切換到oracle使用者”
[[email protected] ~]$ 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 svnroot 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