您的位置:首页 > 数据库 > Oracle

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

2017-05-09 15:31 579 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: