win64位操作系统下安装pl/sql developer 并登录连接到oracle12c
1)安装Oracle 12c 64位
2)安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0)
下载instantclient-basic-nt-12.1.0.1.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(本机命名为:instantclient_12 _1):
D:\Oracle\app\YM\product\instantclient _12 _1 。
拷贝数据库安装根目录下的一个目录D:\Oracle\app\YM\product\12.1.0\dbhome_1\NETWORK到Oracle客户端目录下D:\Oracle\app\YM\product\instantclient_12_1(其实只需要 NETWORK\ADMIN\tnsnames.ora)
3)安装PL/SQL Developer
安装 PL/SQL Developer,在工具->首选项 连接里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home :C:\oracleapp\orcl\product\instantclient_12_1
OCI Library :C:\oracleapp\orcl\product\instantclient_12_1\oci.dll
oracle12C比较特殊,有pdb这个新东西。正常按上述步骤完成后,sys和system用户能够登陆,但登陆的是CDB。pdb用户是没办法登陆的,因为看不到pdb的名字。
根据oracle12C的新特性,pdb也是一个数据库,但是tnsname里面是没有自动配置的,现在在tnsname文件里面添加对应的信息。然后plsql developer登陆框里就能看见了,然后正常登录。
当使用oracle12c创建数据库时如果选择了这样的话就在你创建数据库成功时出现口令管理栏中没有scott账户管理的角色的因为你创建的都死cdb的数据库,不过在登陆之时可以再plsql中选择用户中scott用户的,如果当你在创建数据库时可以不选择直接去掉打勾选项即可,这样创建的数据库口令管理中会有scott角色可以设置口令后在打开plsql后输入scott以及密码就可以登录使用了 也可以使用你创建的数据库名账户登录。因为这样的数据库才是你的dba数据库。当然在服务端的tnsnames.ora自然配置好的只需复制文件到客户端配置即可连接使用了。
当12c数据库创建完成后,使用sqlplus / as sysdba 方式登录数据库连接的是CDB,如果要创建用户则需要使用固定模式:
连接打开数据库
sqlplus Sys/123@localhost:1521/pdborcl AS SYSDBA
SQL> show pdbs
CON_ID con_name OPEN_MODE
---------- ---------- ------------------------------ ----------
3 PDBORCL MOUNTED 已启用 已安装好的
此时PDB还处于mount状态。
如果要启动PDB
SQL> alter PLUGGABLE database PDBORCL open;
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
3 2291196165 PDBORCL READ WRITE
成功启动
在tnsname配置好pdborcl后打开plsql就可以选择pdborcl数据库登陆 选择项是sysdba密码为数据库设置密码
4.解决PL/SQL和TOAD中文乱码问题:
进入 我的电脑,属性,高级,环境变量,添加2项:
LANG=zh_CN.GBK
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
创建一个名为“NLS_LANG”的系统环境变量,设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,然后重新启动 pl/sql developer,这样检索出来的中文内容就不会是乱码了。
5.用pl/sql developer 调试存储过程报错 原因是用户权限不够,使用以下命令授予权限:
GRANT debug any procedure, debug connect session to scott
首先需要用管理员权限登录此数据库 通过SQL上面语句授予scott账户角色权限