一、配置监听及本地网络服务
1、在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。
2、创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)。
3、配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)。
4、输入连接的oracle服务器的数据库的实例名。
5、输入oracle服务器的ip地址。
6、选中YES测试。
7、点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK。
8、看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)。
9、为你所设置的本地网络服务名起个名字。
**至此、oracle服务器安装配置基本就完成了。如果没有错误中断的话oracle已经完成安装配置,并且端口已经监听,可以使用命令登录测试(最好切换到Oracle用户后执行命令)。
二:登录测试
[root@oracledb ~] sqlplus / as sysdba
Enter user-name: sys
Enter password:
ERROR:
ORA-01017: invalid username/password; logon denied # 如果出现该报错,请替换用户名
Enter user-name: sys as sysdba
Enter password:
SQL> select * from v$version;
BANNER
——————————————————————————–
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production
# 可查询版本号等进行测试是否正常执行命令。oracle启动监听命令:
[root@oracledb ~] lsnrctl start
# 注:root用户下可能并没有sqlplus 和lsnrctl 命令,如果经常使用root管理服务器,可以将这两个命令软连接到/usr/bin下面。
# 添加软连接
[root@oracledb ~] ln -s /ora/oracle/product/11.2.0/db_1/bin/lsnrctl /usr/bin
[root@oracledb ~] ln -s /ora/oracle/product/11.2.0/db_1/bin/sqlplus /usr/bin
# 注:在安装的时候配置oracle用户的密码最好要复杂一些,以免被破解登录,另外也可以将oracle用户添加到禁止SSH登录的名单中,通过其他用户登录到服务器切换到oracle用户。
# 禁止oracle用户通过ssh登录:
[root@oracledb ~] vim /etc/ssh/sshd_config
DenyUsers oracle
注意事项:
# 1、Linux oracle数据库listener.ora存放路径
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# 2、Linux oracle数据库tnsnames.ora存放路径
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# 3、ORACLE启动监听器
# (1)切换至oracle安装用户(一般为oracle)
su – oracle
# (2)启动监听器
lsnrctl start
# (3)停止监听器
lsnrctl stop
# 4、启动测试oracle:
[oracle@oracle ~]sqlplus /nologsqlplus/nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> quit
# 注:测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。
5、Linux开放1521端口允许网络连接Oracle Listener、症状:
(1)、TCP/IP连接是通的。可以用ping 命令测试。
(2)、服务器上Oracle Listener已经启动。
# 查看listener状态
lsnrctl status
# 启动Oracle listener
lsnrctl start
(3)、客户端得到的错误信息通常是:ORA-12170: TNS:连接超时;这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)。解决方法:
# (1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。
sudo service iptables stop
# (2)编辑iptables, 开放1521端口:
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state –state NEW -m tcp –dport 1521 -j ACCEPT
:wq
# 重启防火墙
sudo service iptables restart
# 保存配置,以便linux重启后依然有效
sudo service iptables save
# 查看防火墙规则:
sudo iptables -L –n
6、linux下创建oracle用户表空间;就是在已有的数据库实例上创建一个新的帐号,访问一些新的表。操作步骤如下:
# (1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su – oracle命令切换成oracle用户)
# (2)以sysdba方式来打开sqlplus,命令如下: sqlplus “/as sysdba”
# (3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from vdatafile
# (4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE ‘/home/oracle/app/oradata/orcl/scsdb.dbf’ SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
# (5)创建用户,指定密码和上边创建的用户表空间
CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
# (6)赋予权限
grant connect,resource to scs;
grant unlimited tablespace to scs;
grant create database link to scs;
grant select any sequence,create materialized view to scs;
经过以上操作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了。