我们使用dbca创建数据库时,如果在全局数据库名称输入框中输入了超过8个字符的名称(例如:SDEFOSHANDIANXIN),则dbca在创建库是数据库名称(DB_NAME参数设置)自动截断为8个字符(db_name=SDEFOSHA),而数据库的实例名称仍然保持原来(INSTANCE_NAME不要超过21个字符,如果超过21个字符将会截断)。数据库创建完成后将创建一个SERVICE,名称与db_name相同(service_name=SDEFOSHA).[@more@]
本例的数据库环境:
SID=SDEFOSHANDIANXIN
DB_NAME=SDEFOSHA
HOST=192.168.1.55
PORT=1521
USER=SYSTEM
PASSWORD=TESTSYSTEM
重新编辑服务器监听器文件($ORACLE_HOME/network/admin/listener.ora),其内容如下
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME =
SDEFOSHA)##这是设置的是数据库的全名,已经8为截断
(SID_NAME =
SDEFOSHANDIANXIN)##这里是INSTANCE_NAME,保持原来的长度
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.55)(PORT = 1521))
)
编辑完listener.ora文件后,重新启动listener
重新启动listener
lsnrctl>stop
lsnrctl>start
启动tnslsnr:
请稍候...
......
监听:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.55)(PORT=1521)))
正在连接到
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.55)(PORT=1521)))
LISTENER 的
STATUS
------------------------
别名LISTENER
.....
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.55)(PORT=1521)))
服务摘要..
服务
"SDEFOSHA" 包含 1 个例程。
例程 "SDEFOSHANPOWER", 状态 UNKNOWN,
包含此服务的 1 个处理程序...
命令执行成功
配置客户端连接定义文件信息($ORACLE_HOME/network/admin/tnsnames.ora),其内容如下:
TESTSDE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =
192.168.1.55)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sdefosha)
)
)
测试数据库连接
$sqlplus
user01/password01@testsde
Connected.