在windows系统下,我们可以通过注册表(regedit)查看oracle的几个环境变量:
ORACLE_BASE
D:\oracle\product\10.2.0
ORACLE_HOME
D:\oracle\product\10.2.0\db_1
ORACLE_SID
tsid
查看数据库名称:
SQL> show parameter db_name
NAME TYPE VALU
------------------------------------ ----------- ----
db_name string test
可以通过net manager工具配置服务器端监听程序listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = testsv)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = tsid)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = banping-office)(PORT = 1521))
)
请注意:这里的全局数据库名GLOBAL_DBNAME是可以随便写的,不过我们一般写成数据库的名称而已。
然后就可以通过lsnrctl start来启动监听。
用net manager工具配置客户端服务命名tnsnames.ora
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.ABC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = banping-office)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testsv)
)
)
可以看到,服务命名的名字是可以随便取的,这里取一个ABC,客户端以后就要用这个名字来连接到数据库服务器,而这里的服务名SERVICE_NAME就是服务器端的LISTENER配好的全局数据库名GLOBAL_DBNAME。
还需要注意的是,GLOBAL_DBNAME不要超过8位,否则在用net manager工具生成tnsnames.ora填写服务名的时候会报错。
服务端的监听和客户端的服务命名都配置好了以后,就可以通过以下命令连接到Oracle服务器了:
sqlplus system/password@abc
如果要以sysdba身份连接,那么必须命令加上 as sysdba,需要注意的是,即使给了其他用户sysdba这一系统权限并成功登录后,实际登录数据库的仍然是sys用户。这一点,可以登录后使用show user查看得到。