ORACLE常见使用问题解决
一、安装了oracle客户端后,发现plsql客户端找不到之前已经配置过的TNS连接信息
或许大家再使用ORACLE软件的过程中,经常会遇到这样的问题:
问题现象描述:
首先,先安装了数据库服务端软件,安装路径假设为D:oracleproduct10.2.0db_1in,利用NETCA命令配置了连接所需数据库实例的TNS连接,即在D:oracleproduct10.2.0db_1 etworkadmin nsnames.ora这个文件中,已经有了相应数据库的连接配置信息,例如:
# tnsnames.ora Network Configuration File: d:oracleproduct10.2.0db_1 etworkadmin nsnames.ora # Generated by Oracle configuration tools. TEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = test) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
这时使用PLSQL软件时,初始界面能认到所配置的ORCL和TEST数据库连接信息;但当安装了数据库客户端软件后,确发现再次打开PLSQL时,这些连接都不见了。
问题解决方法:
方法1:将PATH环境变量中的数据库服务端软件路径剪切到最前面,即d:oracleproduct10.2.0client_1in;d:oracleproduct10.2.0db_1in;修改为d:oracleproduct10.2.0db_1in;这时细心的同学已经发现了,原因是后来安装的客户端软件,将PATH环境变量更新了,将client路径写到了前面,修改后即可解决问题;
方法2:将D:oracleproduct10.2.0db_1 etworkadmin nsnames.ora文件与D:oracleproduct10.2.0client_1 etworkadmin nsnames.ora,两个文件进行合并,并保证两者一致,这也可以从表面上解决该问题;
二、ORACLE创建数据库用户的赋权,最基础的权限应该是哪些?
首先,我们可能都在实施或实际运维过程中发现,数据库的用户几乎都给了DBA,CONNECT权限,其实这样是有很大的管理风险的,如果误操作,整个数据库就over了;
其次,我们通过对ORACLE数据库默认安装创建的角色进行分析,不难发现CONNECT,RESOURCE是我们比较需要的两个权限定义集合,具体如下:
-- Create the role create role CONNECT; -- Grant/Revoke system privileges grant create session to CONNECT; -- Create the role create role RESOURCE; -- Grant/Revoke system privileges grant create cluster to RESOURCE; grant create indextype to RESOURCE; grant create operator to RESOURCE; grant create procedure to RESOURCE; grant create sequence to RESOURCE; grant create table to RESOURCE; grant create trigger to RESOURCE; grant create type to RESOURCE;
细心的同学发现了,当有了这两个的角色权限,基本的活在数据库里都可以干了,唯独我们还得给这个用户追加个create view权限,基本就万事大吉了。即就是:
create user test identified by test; grant create view, connect, resource to test;
就完成了绝大多数套装软件所需的oracle数据库用户创建工作。
希望以上的内容能对大家有所帮助。