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





你可能感兴趣的:(oracle)