因为笔记本配置较低,如果在本本上安装一个oracle的话太影响计算机性能,但是又想在自己能带着走的笔记本上随时可以编程。所以,我在自己家里配置较高的台式机上使用vmware安装了两台虚拟机服务器,分别是windows server 2012的系统和CentOS6的系统,在windows server 2012上安装了oracle数据库,在CentOS上安装了tomcat,作为web服务器。
创新互联建站专注于巴青网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供巴青营销型网站建设,巴青网站制作、巴青网页设计、巴青网站官网定制、微信小程序定制开发服务,打造巴青网络公司原创品牌,更为您提供巴青网站排名全网营销落地服务。
需求:外网通过域名访问自己家里的台式机的数据库服务。
步骤:
1. 首先,我需要一个支持DDNS动态域名解析的路由器,我发现我的小米mini路由器正好支持这个功能
可以发现它支持花生壳,公云等服务商。
2. 那么下一步就是随便去哪个域名服务商官网注册一个域名过来就好了。其实我曾经在万网上买过一个.com域名,可惜路由器并不支持万网的服务,只好再去花生壳重新注册一个域名先用着了。来到花生壳官网,发现.pw的域名正在搞活动,第一年只需要2RMB就能注册了。
3. 注册成功之后,进入域名管理中心,在花生壳标签页中新增一个,前缀填入www,再点右边的新增,然后在点击启用花生壳,就可以将这个域名加入花生壳的动态域名解析了。
4. 域名注册成功之后,我们再回到路由器管理,进入常用设置,设置上网方式为PPPoE拨号上网(注意!如果你家是光钎的话,在路由器前面还有个光猫,默认光猫使用的是路由模式的,因为光猫没有DDNS功能,所以只好将它改为桥接模式,然后用自己的小米路由器来拨号上网才能进行下面的步骤,但这里有个坑,那就是电信不允许我们私自改光猫的设置,如果你要改成桥接,需要先打客服电话,让他们给你把数据下发方式改成桥接,私自修改的结果就是改完过一段时间就可能发现网络掉线了(/ □ \))
Oracle 11g 安装完成后,只能在本机访问,希望其远程计算机也能访问,刚开始直接修改listener.ora文件# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll"))
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)))
)
ADR_BASE_LISTENER = C:\app\Administrator
将localhost直接改为本机Ip地址,重启监听服务停止监听:lsnrctl stop
启动监听:lsnrctl start
查看监听:lsnrctl status
结果失败。
正确的方式,运行Net Configuration Assistant,修改监听配置,一步一步即可,无需修改任何数据结果listener.ora文件变为:
# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll"))
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-VI5UF46V3UG)(PORT = 1521)))
)
ADR_BASE_LISTENER = C:\app\Administrator
Host处变为主机名,这样远程计算机就可以访问服务器了。
无需修改服务方式为共享还是专用,无需修改IP地址,可能该向导在后面自动做了很多工作
进到一个相对空间比较大的盘符及目录,比如近D盘:(首先打开CMD
点开始
运行输入
CMD
在CMD窗口中输入
CD\(就是返回根目录)
回车
在输入
D:
即可在D盘操作状态)进入后执行以下:
exp
数据库用户名/密码
file=生成的文件名.dmp
log=生成的日志名.dmp
full=y
生成的文件名和生成的日志名都是自己取的,但不能一样
这样会在你进的那个目录下生成一个dmp文件,用移动硬盘copy
2,回家,装oracle,版本最好与你公司相同
建用户,与公司相同,权限、表空间等最好也一样,省得导入的时候麻烦
如原来的数据库名是:zs,密码:zs,实例名:test
则:exp
zs/zs@test
file=d:\db.dmp
2.在目标机子是新建一个数据库实例test,并创建一个与原数据一样的用户名和密码zs/zs,并赋予足够的权限:
resouce、dba
一 如果访问其他用户的数据,需要有一定的权限
(1) 可以授权这个用户查看其他用户表的权限
如:grant select on scott.emp to test;
(2) 或者直接授予这个用户dba权限
如 grant dba to test;
(3) 查询其他用户表
select * from scott.emp;
二 如果访问其他数据库表
(1) 创建相应连接其他数据库某一用户的dblink
配置相应的tnsname.ora,创建完成后通过tnsping命令查看网络是否通
(2) 配置好dblink,通过dblink查询
如 select * from emp@d_name;
Oracle可以同时访问远程数据库和本地数据库。
以配置远程数据库为例:
1、找到$ORACLE_HOME/client_1/network/admin目录下的tnsnames.ora文件,并用文本模式打开。
2、添加以下内容:
本地实例名=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 数据库IP地址)(PORT = 端口号))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 服务名)
)
)
3、用PL/SQL客户端工具输入正确的用户名和密码登录即可。
配置本地数据库时,将步骤2中的“数据库IP地址”换成本地localhost即可。