用户,请用远程连接工具通过system用户进行解锁,这里不影响
alter user scott identified by tiger; //若遇到su - oracle用户下无法修改密码,请用远程连接工具通过system用户进行修改,这里不影响
select username from all_users;
11.Navicat远程连接Oracle
(1)开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
(2)官方网站http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
下载 instantclient-basic,解压压缩文件
(3)下载Navicat:http://pan.baidu.com/s/1c2GP9U4
① 打开Navicat,工具→选项
② 打开OCI界面,在右侧OCI library一栏中选择instantclient-basic解压目录下的oci.dll,然后点击确定。
该文件可以不用本地安装oracle即可远程连接,若本地安装过oracle也可使用本地dll文件,如我本地的为:D:\software\workSoft\databaseSoft\OracleSoft\product\11.2.0\dbhome_1\bin\oci.dll
③ 重启Navicat,点击连接,选中Oracle
④ IP为Oracle服务器的IP地址,服务名为Oracle的实例名,可忽略大小写
select instance_name from v$instance;
⑤ 用户名使用刚激活的scott,密码为tiger,填完以上信息后点击连接测试
到此Navicat远程连接Oracle数据库成功
12.设置Oracle开机启动
#可能出现的问题oracle ORA-12547: TNS:lost contact,故此处提前设置好权限
cd /db/app/oracle/product/11.2.0/bin/
chmod 6751 oracle
vi /db/app/oracle/product/11.2.0/bin/dbstart
# 查找并设置值
ORACLE_HOME_LISTNER=$ORACLE_HOME vi /db/app/oracle/product/11.2.0/bin/dbshut
# 查找并设置值 ORACLE_HOME_LISTNER=$ORACLE_HOME vi /etc/oratab
# 默认为N,将N改为Y orcl:/db/app/oracle/product/11.2.0:Y
vi /etc/rc.d/init.d/oracle //默认没有该文件
(1)注意:默认没有该文件,复制以下内容到打开的白板界面
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/db/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
(2)授权
chmod 750 /etc/rc.d/init.d/oracle
(3)检查一下脚本能否正确执行
cd /etc/rc.d/init.d
./oracle start
./oracle stop
(4)加入自动启动行列,执行如下命令:
ln -s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle
chkconfig --level 234 oracle on
chkconfig --add oracle
注意:最后一行命令需要oracle服务状态停止时执行有效(./oracle stop)
重启后即可正常连接
三、重启若出现 no listener情况,且startup无效
Solution:
1. Check if you have correct ORACLE_HOME, ORACLE_SID and PATH environments.