查看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>
登陆格式: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后,可以使用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>
18:55:33 SYS@192.168.100.88:1521/vbox88db*SQL>shutdown
数据库已经关闭。
已经卸载数据库。
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
[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
/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
用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