linux下开启oracle服务和监听、登录相关操作

1、sqlplus登录

查看sqlplus帮助

sqlplus --help

登陆默认的Oracle实例(本机实例)
  第一步:

sqlplus

  第二步,输入用户名和密码:

[oracle@vbox88 ~]$ sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on 星期一 10月 28 17:41:27 2019
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
请输入用户名:  sys as sysdba
输入口令:
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
17:41:38 SYS@vbox88in*SQL>
  • 登陆远程oracle实例

登陆格式:sqlplus 用户名/密码@host:端口号/服务命
注意:这里是服务名称,而非服务id

  • 登陆普通用户:
sqlplus scott/scott@192.168.100.88:1521/vbox88db
  • 登陆管理员用户:
sqlplus sys/oracle@192.168.100.88:1521/vbox88db as sysdba

  在登陆管理员用户时需要注意,可能会出现ora 01017 登陆拒绝的问题,原因是remote_login_passwordfile参数没有设置为none或者sys密码文件过期,解决方案可以参考:
http://blog.itpub.net/29802484/viewspace-1256928/
比如在我自己的服务器上,remote_login_passwordfile已经设置成了exclusive(需在sqlplus执行):

18:45:40 SYS@192.168.100.88:1521/vbox88db*SQL>show parameter remote_login_passwordfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile            string      EXCLUSIVE
18:45:58 SYS@192.168.100.88:1521/vbox88db*SQL>

使用orapwd命令直接重建过期的sys密码文件即可(需跳出sqlplus执行):

[oracle@vbox88 ~]$ orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwvbox88in password=oracle entries=3 force=y
  • sqlplus中切换登陆oracle实例

登陆sqlplus后,可以使用conn命令远程登陆其它用户或者oracle实例。

18:51:20 SYS@192.168.100.88:1521/vbox88db*SQL>conn scott/scott@192.168.5.103:1521/vbox88db
已连接。
18:52:02 SCOTT@192.168.5.103:1521/vbox88db*SQL>

2、oracle实例/监听的开启和关闭

  • 关闭oracle实例
18:55:33 SYS@192.168.100.88:1521/vbox88db*SQL>shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
  • 开启oracle实例
18:58:12 SYS@vbox88in*SQL>startup
ORACLE 例程已经启动。
Total System Global Area  626327552 bytes
Fixed Size                  2230952 bytes
Variable Size             486540632 bytes
Database Buffers          134217728 bytes
Redo Buffers                3338240 bytes
数据库装载完毕。
数据库已经打开。
18:58:25 SYS@vbox88in*SQL>
  • 当前监听程序查看/关闭/开启
lsnrctl status
lsnrctl stop
lsnrctl start

3、oracle相关的环境变量和目录

  • oracle安装目录
[oracle@vbox88 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/db_1
  • 监听文件的位置
 /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
  • tns文件的位置
 /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
  • 查看当前oracle的sname/sid

用sysdba身份登陆sqlplus
(1) 查看当前sname/sid,若配置了tns显示的是sname,否则显示sid

19:20:27 SYS@vbox88in*SQL>select name from  V$database;

(2)查看当前的sid(即oracle实例)

19:20:35 SYS@vbox88in*SQL>select instance_name from  V$instance;

INSTANCE_NAME
----------------
vbox88in

(3)通过ora文件名判断sid

/u01/app/oracle/product/11.2.0/db_1/dbs/SPFILESID名称.ORA

(4)通过linux命令查看sid,最后一个下划线后面的单词就是sid

[oracle@vbox88 dbs]$ ps -ef|grep ora_
oracle   24692     1  0 18:58 ?        00:00:00 ora_pmon_vbox88in
oracle   24694     1  0 18:58 ?        00:00:00 ora_psp0_vbox88in
oracle   24696     1  1 18:58 ?        00:00:21 ora_vktm_vbox88in
oracle   24700     1  0 18:58 ?        00:00:00 ora_gen0_vbox88in

你可能感兴趣的:(Oracle数据库开发)