练习 4-1 配置Oracle Net

在本练习中, 将使用图形化工具和命令行工具来建立一个完整的Oracle Net 环境. 由此, 读者可看出在Windows 和 Linux 系统中的区别.

1. 创建Oracle Net配置文件使用的目录, 并设置指向此位置的TNS_ADMIN变量. 目录的位置无关紧要, 只要Oracle 用户有权执行创建、读取和写入即可。

在Linux系统中:

  mkdir /u01/oracle/net

  export TNS_ADMIN=/u01/oracle/net

确保从现在开始,都从设置了变量的绘画中执行所有工作.

在Windows系统中:

  mkdir d:\oracle\net

创建注册表项TNS_ADMIN, 并将其设置为Oracle Home分支的注册表中的字符串变量. 这通常是: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

2. 通过从操作系统提示符中运行TNSPING命令来检查是否读取了变量:

tnsping orcl

由于TNS_ADMIN目录中不存在任何文件, 因此将返回错误"TNS-03505:Failed to resolve name". 在Windows系统中, 需要启动一个新命令提示符,从注册表找到TNS_ADMIN新值.

3. 启动Net Manager. 在Linux系统中, 从操作系统提示符中运行netmgr. 在Windows系统中, 从"开始"菜单启动它. Net Manager 窗口最上面的行将显示Oracle Net 文件的位置. 如果这不是新目录, 则TNS_ADMIN变量设置的不正确.

4. 创建新侦听器:战卡导航树的Local分支, 突出显示Listeners项,然后单击"+"图标.

5. 输入侦听器名"NEWLIST",然后单击OK按钮.

6. 单击Add Address 按钮.

7. 对于Address 1, 选择"TCP/IP" 作为协议, 并输入"127.0.0.1" 作为主机, "2521" 作为端口. 图4-11 显示了结果.

8. 创建信服务名: 突出显示导航树中的Service Naming项, 然后单击"+"图标.

9. 输入"NEW" 作为新服务名, 然后单击Next按钮.

10. 选择"TCP/IP"作为协议, 然后单击Next按钮.

11. 输入"127.0.0.1"作为主机名, "2521"作为端口, 然后单击Next按钮.

12. 输入"SERV1" 作为服务名,然后单击Next按钮.

13. 单击Finish按钮, 如果尝试进行测试,此时将失败, 图4-12显示了结果.

14. 通过单击File 和Save Network Configuration 菜单项保存配置. 这将在TNS_ADMIN目录中创建listener.ora文件和tnsnames.ora文件.

15. 使用编辑器检查这两个文件.

LISTENER.ORA文件如下:

NEWlIST=

  (DESCRIPTION=

    (ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=2521))

  )

TNSNAMES.ora文件如下:

NEW =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=2521))

    )

    (CONNECT_DATA=

      (SERVICE_NAME=SERV1)

    )

  )

16. 从操作系统提示符中使用 lsnrctl start newlist

17. 在操作系统提示符中使用tnsping new 测试连接字符串.

18. 使用sqlplus / as sysdba, 经操作系统身份验证连接到数据库, 忽略任何侦听器.

19. 为正在运行的实例设置service_names参数和local_listener参数(仅限于内存, 不在参数文件中设置), 冰箱新侦听器注册新服务名:

alter system set service_names=serv1 scope-memory;

alter system set local_listener=new scope=memory;

alter system register;

20. 在操作系统提示符下, 使用lsnrctl service newlist, 确认已向新侦听器注册了新服务.

21. 通过使用以下代码登录,确认新网络环境已生效:

sqlplus system/oracle@new

练习 4-2 设置共享的服务器环境

本练习是 练习[4-1]中步骤21的延续,用户需要配置共享服务器, 并证实其可以运行.

1. 设置dispatchers参数和shared_servers参数,并注册到侦听器, 命令如下.

alter system set dispatchers='(protocol=tcp)(dispatchers=2)' scope=memory;

alter system set shared_servers=4 scope=memory;

alter system register;

2. 通过查询视图V$PROCESS,确认调度程序和共享服务器已经启动. 查找名为 S000,S001,S002,S003,D000和D001的进程.

select program from v$process order by program;

3. 在操作系统提示符窗口,确认调度程序已经注册到侦听器.

lsnrctl services newlist

4. 通过侦听器进行连接, 并确认通过共享服务器机制执行了连接.

connect system/oracle@new ;

select d.name,s.name from  v$dispatcher d, v$shared_server s , v$circuit c

where d.paddr= c.dispatcher and s.paddr=c.server;

此查询将显示会话连接到的调度程序, 以及执行查询的共享服务器进程.

5. 还原到最初的配置以清理环境

alter system set local_listener='' scope=memory;

alter system set service_names='' scope=memory;

alter system set dispatchers='' scope=memory;

alter system set shared_servers=0 scope=memory;

alter system register;

在操作系统提示符窗口, 使用 lsnrctl stop newlist 停止侦听器.

取消设置TNS_ADMIN变量, 在Linux系统中,采用 export TNS_ADMIN=''; 在Windows系统中,删除TNS_ADMIN注册表项.

最新文章

  1. 使用SQL Server 扩展事件来创建死锁的时间跟踪
  2. 关于SASS--->推荐使用
  3. McAfee重返科技业 研制D-Central防政府监视
  4. FIJ Jobs – 2013/8/12
  5. 2016科幻惊悚《第五波》HD720P.中英双字
  6. Linux常用命令之grep
  7. linux mail 配置
  8. Android 模拟登陆 保存密码(信息)到手机中 文件信息读取
  9. Python之路第五天,基础(5)-序列化和字符串格式化
  10. Netty4.0.24.Final 版本中 IdleStateHandler 使用时的局限性
  11. Windows下Redis的安装和部署
  12. 前端PS切图
  13. 开机自启动Nginx的脚本
  14. 第五章 消息摘要算法--MAC
  15. 06-jenkins的账号相关的问题
  16. IOS UI-控制器的生命周期
  17. 获取App的PackageName包名和LauncherActivity启动页
  18. EntityFramewrok 使用
  19. python提供了一个进行hash加密的模块:hashlib
  20. Solaris11.1网络配置(Fixed Network)

热门文章

  1. NOSQL安全攻击
  2. 分段控制器--UISegmentedControl 基本用法
  3. 机器学习 Hidden Markov Models 2
  4. iOS沙盒(sandbox)机制及获取沙盒路径
  5. 替换一个文件中的内容BAT
  6. Sublime text 安装Package Control
  7. 《Eye In-Painting with Exemplar Generative Adversarial Networks》论文阅读笔记
  8. 容器vector 迭代器iterator 应用
  9. C++初学(1) 简单的加减乘除取余运算代码
  10. codeforces 724D