CentOS Oracle远程访问

来自https://www.hsli.top

本地学会了用Power Designer建立表,连接Oracle建立数据库之后,要求建到服务器上

登录数据库服务器启动Oracle

登录到CentOS,切换到su

输入:

1
2
3
# su - oracle
# sqlplus
SQL> startup

开启CentOS的1521端口

1
2
3
4
5
//查看开放端口
netstat -ntlp
//查看端口策略
service iptables status
iptables -L -n

cd/etc/sysconfig

1
vim iptables

加入

1
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

退出vim,重启iptables服务,再查看一下端口策略,看到1521已经开放

创建oracle实例启动监听

首先要解决一个图形界面的问题

因为oracle有图形界面,而一般我们用putty登录服务器,都是命令行,所以先要能够在本地看懂啊服务器上运行的软件的图形界面

使用oracle账户登录

远程服务器上安装俩东西

1
2
yum install openssh-server
yum install xbase-clients //(貌似我忘了安,也可以?)

创建一个Xming的桌面快捷方式,修改属性加上-ac参数,修改后如下

1
"E:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow -ac

本地下载安装Xming客户端(我搞了一个在百度云上),这玩意儿官网在这里[ Xming]

启动putty之后,输入主机IP,端口,用户名密码什么的就不赘述了

菜单左边Connection->data->Auto-login username这里输入登录名可以设定默认登录账户

菜单左边Connection->SSH->X11,勾选上Enable X11 forwarding就可以看到远程图形界面了,666啊

创建数据库实例

设定环境变量

1
2
3
4
export LANG=enUS  //英文,避免乱码
//export DISPLAY=你的IP:0.0 这一步第一次尝试的时候要求设置DISPLAY环境变量,但是后来登录就好像不用?
//等号两边别加空格,你以为哪里都是写程序啊
dbca //打开Database Configuration Assistant

接下来就像本地创建数据库一样了,有图形界面
Next-.Create a Database->General Purose...->名称和SID->Next->口令->Next->Enable Archiving->Next->内存大小->Next...->创建数据库生成脚本

启动并连接

本地启动连接,很简单的

1
2
3
4
SQL> conn /as sysdba
SQL> startup
SQL> alter user scott account unlock;
SQL> alter user scott identified by *****;

远程连接

好吧这个问题我TM搞了2天

其实很简单,打开netmgr配置监听器,IP地址

mark

配置数据库服务

mark

我不知道这些是不是必须的,反正我这样弄就行了

此前试过了无数重复类似的操作,包括文哥也给了我很多建议,他自己也说,这玩意儿配置起来10次挂8次,我*

当然,这样简单配置之后是不行的,要保存设置,重启lsnrctl

1
2
3
4
$ lsnrctl start // Start listener instance
$ echo $ORACLE_SID //Check which instance is to be started,其实这个可以写入`/home/oracle`下面那个什么bash什么的,具体我就先不说了
$ export ORACLE_SID=BizDB //Switch instance to started
$ sqlplus /nolog //Login

当然,这样之后也是不可以的,我就在这里停留了2天。。。

然后,我发现,我把centos的防火墙关掉,就可以了,就可以了,,就可以了,,,,

我TM不是打开1521端口了吗?难道我开的是假端口?

好了,远程连接有个简单连接命令

1
username/[email protected]:port/service_name

TM成功了,先平复一下我激动的心情,看一下可不可以不关防火墙也连的上

好吧,怪我孤陋寡闻,读不懂iptables里面写的什么东东,反正是把开放1521端口的那一句放到最顶上(据说优先级由上到下),就TM可以了


当天晚上公司修复服务器,重启了服务器

第二天来上班的时候,TM又双叒叕连不上了。。。。

提示

1
2
3
4
5
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused

好吧,上网一查,原来是昨天改了好多东西,连host都改了,只要恢复原样就可以了

把host改回

1
127.0.0.1               localhost.localdomain localhost

即可(我能说公司服务器原来的host就不是这样的吗。。。)

如果文章有用,请随意打赏