Oracle快捷版安装、使用、基本操作、错误解决

来源:互联网 发布:经济史专业知乎 编辑:程序博客网 时间:2024/06/06 10:29

最近安装使用了Oracle数据库,下载的是快捷版,因为它是免费的。我发现安装的过程和使用的过程比mysql要复杂的多的多,而且还有PL/SQL等工具的安装和使用,因此写出来希望能帮助新手更好的解决问题。


-------------------------------------------------------Oracle安装步骤-----------------------------------------------------------



一、Oracle数据库快捷免费版:http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
安装目录:D:\tools\oraclexe


二、Oracle即时客户端:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
安装目录:D:\tools\oraclexe\app\oracle\product\instantclient_12_1
注意:instantclient一定要下载32位的,因为PLSQL_Developer没有64位的
在该目录下建network\ADMIN两层目录,然后找到文件D:\tools\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora复制到这里。
文件中输入DB的连接字符串如:
XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = luenxin-work-pc)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )


注:第一行XE前边一定不能有空格


设置环境变量:
TNS_ADMIN=D:\tools\oraclexe\app\oracle\product\instantclient_12_1
NLS_lANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK(注意中间有空格,这个如果不设,toad查询中文会是乱码)


三、再下载PL/SQL Developer,32位的
打开PLSQL_Developer后,取消登陆,进入主界面。
1.点击--Tools--Preference--Connection:
修改Oracle Home和OCI Library路径为:
Oracle Home :D:\tools\oraclexe\app\oracle\product\instantclient_12_1
OCI Library :D:\tools\oraclexe\app\oracle\product\instantclient_12_1\oci.dll
注意:在安装PL/SQL Developer时,特别注意不要安装在Program Files(x86)下面,因为PL/SQL Developer出现”()”会导致错误。




四、如果使用Navicat for Oracle,Oracle即时客户端instantclient如果使用32位,那么Navicat也必须使用32位的,他们要一致。


------------------------------------------------------Oracle基本操作-----------------------------------------------------------------------------


五、Oracle概念:
服务名(SID):是Oracle服务端的oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\tnsnames.ora文件中配置的,默认是XE,改了之后会连不上服务。
               客户端也有tnsnames.ora文件,这里的服务名可以改,目前还没有报错,具体影响尚不可知。
数据库实例:即是相当于在Navicat中创建的一个连接
用户即是登陆用的常规意义的用户,也相当于连接中的一个数据库的含义,该用户下就可以建表了。


六、登陆
打开SQL*PLUS,输入命令connect as sysdba,输入管理员用户名SYS和密码


七、创建表空间
create tablespace jw
DATAFILE 'D:\tools\oraclexe\app\oracle\oradata\XE\jw' size 1028M     // 表空间的物理地址和空间大小
autoextend on next 500M maxsize 20480M     // 空间自动增长,如果空间满自动增长500M,最大增长到20480M
extent management local; // 区间(本地管理),还有一种管理方式是(数据字典管理)


八、创建用户:
create user 用户名 identified by 密码  
default tablespace 表空间名;
系统默认SYS和SYSTEM管理员用户,其中SYS是最高权限的超级管理员,他们的密码都是在安装时设定的,一定要记住。
创建普通用户一般会授予RESOURCE权限。这里的用户在Navicat里是模式,模式的概念也就是用户,相当于mysql中的数据库概念。


九、授权:
grant connect,resource to jw;
grant create any sequence to jw;
grant create any table to jw;
grant delete any table to jw;
grant insert any table to jw;
grant select any table to jw;
grant unlimited tablespace to jw;
grant execute any procedure to jw;
grant update any table to jw;
grant create any view to jw;
--------------------------------------------------------常见错误及解决方案--------------------------------------------------------------
一. 创建表空间失败
错误信息,创建表空间出错:
SQL> create tablespace data;
ERROR at line 1:
ORA-02199: missing DATAFILE/TEMPFILE clause
原因:  创建表空间时必须指定具体的datafile的文件路径和名称
解决方法:
SQL> alter system set db_create_file_dest='D:\tools\oraclexe\app\oracle\oradata\XE\';
System altered.
SQL> show parameter db_create;
这个参数用于指定Oracle数据库服务器创建以下文件的缺省路径:Datafiles、Tempfiles、Redo log files、Control files、Block change tracking files


SQL> create tablespace data;
Tablespace created.


二. 无法导入dmp文件
打开sqlplus(SQL命令行),输入命令:
host imp 用户名/密码@服务名 full=y file=D:\tools\oraclexe\app\oracle\product\11.2.0\jwbk.dmp


注:
1.用户名不能用管理员
2.服务名是连接名,例如XE,是客户端的tnsnames.ora文件中配置的
3.dmp文件必须放在oracle有读写权限的目录,例如oracle服务端安装目录
4.有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。
5.如果报错:只有dba才能导入由其他dba导出的文件。那么解决办法是grant dba to 导入用户;之后再取消dba授权


此操作可能引起这个错误:TNS:could not resolve the connect identifier。
即无法解析指定的连接标识符,也就是服务名,或者连接名,我的是XE


三、使用Navicat for Oracle连接Oracle服务时报错:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
意思大概是:监听器无法获取当前Oracle服务的服务名(SID)
原因:Navicat连接中的服务名或SID,与Oracle服务端tnsnames.ora文件中配置的服务名不符
解决方案:Oracle服务端tnsnames.ora文件中配置的服务名,默认是XE,最好别改,改了就会报这个错误。
因此使用Navicat连接的时候就使用XE。注意:修改tnsnames.ora后需要重启Oracle的监听服务才会生效。
0 0
原创粉丝点击