日期:2014-05-16  浏览次数:20384 次

oracle客户端服务名配置

客户端服务名与远程或本地的监听器建立连接,客户用它向服务器端发出连接请求。
安装Oracle时,用户必须指定一个全局数据库名称,即一个SID名称。Oracle用指定的SID名称在服务器端自动创建一个服务名。在客户端创建服务名时,需要指定网络协议、与协议相关的信息和数据库的SID名称。对于最常用的TCP/IP协议来说,需要指定服务器主机名或IP地址、监听器端口和数据库SID。这些配置信息都存储在tnsnames.ora文件中,该文件同listener.ora保存位置相同,都位于ORACLE_HOME\network\admin目录下。另外也可以使用开始—程序—Oracle-OraHome92—Configuration and Migration Tools—Net Configuration Assistant的向导界面进行配置。这里主要看手动配置过程。
Tnsname.ora文件中主要需要配置的文件如下:
TESTSERVICE =
? (DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 1521))
??? )
??? (CONNECT_DATA =
????? (SERVICE_NAME = chstone)
??? )
? )
我们一项项来看,首先是“TESTSERVICE”,这就是在客户端配置的服务名,名字可以任意取,但是一定要记住,前面不可以有空格。“(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.1)(PORT = 1521))”这一段中,“PROTOCOL”代表协议类型,此处为TCP;“HOST”是服务器端的IP地址或者主机名;“PROT”是端口号。下面的“SERVICE_NAME”代表服务器端的服务名。因为我安装的时候指定的SID名称为“chstone”,所以在这里Oracle用指定的SID名称在服务器端自动创建一个默认服务名“chstone”。当在使用SQL*Plus登陆连接服务器端时,主机字符串中就填刚才配置好的客户端Net服务名“TESTSERVICE”,如果是将本机作为服务器,则主机字符串可以不填。

1.6 使用SQL*Plus查询工具连接Oracle数据库
在连接数据库服务器之前,先要在Windows的控制面板――管理工具――服务中开启两个和Oracle有关的服务,即:OracleOraHome92TNSListener(监听器服务)和OracleServiceCHSTONE(实例服务),如果本机作服务器,并且不接受远程客户端登陆的话,可以只开后面一个实例服务就行了。
建立连接:开始—程序—Oracle-OraHome92—Application Development—SQL Plus,出现登录对话框,输入用户名和口令,主机字符串就是前面配置的Net服务名,如果为空,表示连接本机上默认数据库。
使用开始—运行建立连接的方法:
直接输入“sqlplus”进入状态下的SQL*Plus,输入“sqlplusw”进入Windos状态下的SQL*Plus;可直接在后面输入用户名密码登陆进去,例如“sqlplusw? scott/tiger”;如果要登陆远程服务器,则在后面加上主机字符串,主机字符串前面加@与密码分隔,例如:要登陆远程服务器,用我们上面配置的Net服务名,就是:“sqlplusw?scott/tiger@testservice”。
$符号用来在SQL*Plus下执行dos命令,比如启动和关闭服务:
$ net start OracleServiceCHSTONE(启动服务)
$ net stop OracleServiceCHSTONE(关闭服务)

1.7 SQL*Plus中一些常用的命令及使用技巧
SQL> show user;显示当前用户(在SQL*Plus工具中专用的,更好的方式是使用SQL> select user from dual;语句进行查看当前用户,其中dual表是每个SQL*Plus用户都可以使用的Oracle表,这里真正重要的是要知道它只含有一行数据。);
SQL> set pagelize 20;设置每页显示行数为20;
SQL> set linesize 100;设置每行显示的字符数为100;(如果嫌每次设置麻烦,可以将这两条语句保存在C:\oracle\ora92\sqlplus\admin\glogin.sql中,每次启动是Oracle会自动运行glogin.sql文件,相当于初始化)
SQL> show all;查看当前的环境设置;
SQL> spool file_name;将显示的内容输出到指定文件,例如spool c:\spool.txt;
SQL> spool off;关闭spool输出,只有关闭spool输出,才会在输出文件中看到输出的内容;
SQL> /;重新运行上一次命令;
SQL> set timing on/off;显示、关闭每个sql语句花费的执行时间;
SQL> select * from tab;查看当前用户下所有表;
SQL> start file_name;或SQL> @ file_name;执行一个SQL脚本文件,我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理;
SQL> desc table_name;显示表的结构;
SQL*Plus中的快速复制和粘贴技巧(摘自www.cnoug.org):
1) 鼠标移至想要复制内容的开始?
2) 用右手食指按下鼠标左键?
3) 向想要复制内容的另一角拖动鼠标,与Word中选取内容的方法一样?
4) 内容选取完毕后(所选内容全部反显),鼠标左键按住不动,用右手中指按鼠标右键
5) 这时,所选内容会自动复制到SQL*Plus环境的最后一行

1.8超级用户密码忘记的处理方式
1、在开始运行中输入sqlplusw /nolog登陆,即不启动服务登陆。
2、利用$ net start OracleServiceCHSTONE和$ net start OracleOraHome92TNSListener启动两个服务。
3、以超级用户身份连接数据库 SQL> connect / as sysdba;
4、修改system的密码:SQL> alter user system identified by “password”。

?

地址:http://blog.chinaunix.net/space.php?uid=13626447&do=blog&id=2880189