win安装oracle及部分问题

安装oracle的帖子比较多.而且一般傻瓜式安装就好了.就不详细记录了.

安装帖子:

https://blog.csdn.net/m0_38025207/article/details/81010593

大致三步.

1.点击setup安装oracle服务.

2.点击net manager assistant 配置监听.(不配置就无法远程连接)

3.创建oracle实例.(这里有一步指定编码方式比较重要,建议选择默认GBK,这步也可以在安装的时候直接创建)

直接说一下安装时出现的疑惑.

1.需要配置listener.ora、sqlnet.ora和tnsnames.ora吗

https://www.jellythink.com/archives/313

到这,基本服务端就结束了.

得出的结论是.sqlnet.ora一般不会改,可以配置一些.访问数据库的顺序

tnsnames.ora也是可有可无的.tnsnames.ora配置一些连接地址的信息.这样访问数据库的时候就可以直接同过这个名字访问了.不需要输入ip端口

listener.ora是必须的,用来监听本机,是否有远程连接.

 

然后是远程连接的客户端.因为一遍远程连接客户端比较重.基本都是用plsql和instantclient进行代替

各种帖子一般都会让配置以下两个环境变量

1.TNS_ADMIN  指向 instantclient下面的tnsnames.ora,文件.

经过看上面的帖子,我们明白这个步骤不是必须的.一般如果我们是直接输入ip地址和端口号

进行访问.那么这里是不用配置的,当然不配置就无法使用上面截图的别名访问.

2.NLS_LANG    = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

推荐这篇帖子

https://blog.csdn.net/pan_tian/article/details/7745717

nls_lang建议配置 和安装时一样NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

那么我还是有疑问

1.NLS_LANG    的配置是服务器端配置一个. 远程客户端连接一个吗,

再加上数据库本身的编码方式.应该是有三个值.

三个值是否应该一样.

个人理解.nls_lang配置的作用是.他来控制oracle中数据如何在client中渲染展示.数据库本身在安装的时候有选择编码格式.配置nls_lang应该和数据库中一样.但服务器端一般是不需要进行配置的.因为一般都是远程连接.服务器端配置.试了下会对sqlplus生效,而导致乱码.但客户端和服务端的要一样(图上是服务端配置的)

 

 

2.查询数据库编码sql,这三个sql有什么区别.为什么有时会显示不一样?这个问题还以有疑惑

1.select * from nls_database_parameters;

nls_database_parameters来源于props$,是表示数据库的字符集。在创建数据库的时候设定的,一般不会改变.

 

2.SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET' ;

v$nls_parameters 显示当前会话值 ,他受客户端nls 的控制。和userenv比较类似;

 

3.select userenv('language') from dual;

Oracle 中的Userenv()

返回当前用户环境的信息,opt可以是:

ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE

 

总的来说nls_lang是为了解决显示乱码的,不影响数据库本身编码.数据库是什么.客户端就应该配置什么.上述解释还是有很多不明白.大概就先这么理解吧,只要数据库编码相同应该就不影响数据库移植,nls_lang呢.只要client查询不乱码就好了.

 

关于国家字符集.数据库字符集解释

https://blog.csdn.net/clong2015/article/details/54963053

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章