Oracle常见问题汇总

create user testuser identified by test default tablespace indx;//创建用户
 grant resource,create session,connect to testuser;//授权

scott用户解锁:ORA-28000: the account is locked-的解决办法

1 Dos下输入C:sqlplus /nolog

2 以DBA的身份登录
      conn sys/password as sysdba;
3 解锁
      alter user scott account unlock;
4 弹出一个修改密码的对话框,修改密码
      conn scott/tiger

SQL> conn sys/sys as sysdba;
      Connected.
SQL> alter user scott account unlock;
      User altered.
SQL> commit;
      Commit complete.
SQL> conn scott/tiger//请输入新密码,并确认后OK
Password changed
Connected.
---------------------------------------------------------------------
ORA-28000: the account is locked:如果三次登陆失败帐户会自动被锁

第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
第二步:选择myjob,查看users;
第三步:选择system,右击点击“编辑”;
第四步:修改密码,把“帐户被锁住”的勾去掉;
第五步:点击“应用”再点击“关闭”;
第六步:重新登录就可以通过验证了;
第二种
ALTER USER username ACCOUNT UNLOCK;


第三种


在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。

解决办法:

新装完Oracle10g后,用scott/tiger测试,会出现以下错误提示:
oracle10g the account is locked
oracle10g the password has expired
原因:默认Oracle10g的scott不能登陆。
解决:
(1)conn sys/sys as sysdba; //以DBA的身份登录
(2)alter user scott account unlock;// 然后解锁
(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了

在运行里面输入cmd在DOS模式下输入sqlplus,以system用户名登录,密码是刚装oracle时自己填写的密码orcl,登录进去以后。

SQL> conn sys/sys as sysdba; (分号是必须的但是我是以system登录的所在这不应该写conn sys/sys as sysdba应该写conn system/orcl as sysdba;)
Connected.
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger//请输入新密码,并确认后OK
Password changed
Connected.

这时再到plsql developer里面以scott/tiger登录就可以了。。。。。
-------------------------------------------------------------------

创建新库注意事项:

我用database configuration assistant 创建了一个数据库名为testDB, 制定它的globle database name 和SID 都是testDB.

我又已system 登陆oracle 创建了一个anna的用户:

创建表空间

/*分为四步 */
/*第1步:创建临时表空间  */
create temporary tablespace user_temp  
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
/*第2步:创建数据表空间  */
create tablespace user_data  
logging  
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;  
 
/*第3步:创建用户并指定表空间  */
create user username identified by password  
default tablespace user_data  
temporary tablespace user_temp;  
 
/*第4步:给用户授予权限  */
grant connect,resource,dba to username;

ALTER TABLE "U_WEN_BOOK"."GCHILTAB1"
 
    DROP CONSTRAINT "FK_G1"
 
ALTER TABLE "U_WEN_BOOK"."GCHILTAB1"
 
  ADD (CONSTRAINT "FK_G1" FOREIGN KEY()
 
    REFERENCES "U_WEN_BOOK"."CHILTAB"()
 
    ON DELETE CASCADE)
---------------------------------------------------------------

后总是出现ora-12514问题,即TNS 监听程序不能识别给定的SID。在网上查找了解决方法如下:

到oracle 的安装目录下面如C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN中找到listner.ora文件,

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
--------------------------------------------------------
    (SID_DESC =
      (GLOBAL_DBANAME = testDB)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
      (SID_NAME = testDB)
    )
---------------------------------------------------------
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

在原始的文件中加入----中的部分,即将你创建的数据库的SID描述告知给监听器。保存文件。
注意:重新尝试登陆之前要按顺序重新启动一下testDB服务和TNSListner服务。

sqlplus anna/geh****@testDB

就可以连接入testDB database.

------------------------------------------------------

Oracle插入数据乱码的问题:

如果你的plsql没有设定中文字符集的功能,比如我的plsql developer10就没有,
那可以用设置环境变量的方式解决此问题,在环境变量中添加一个名称为NLS_LANG值为你oracle字符集
(比如SIMPLIFIED CHINESE_CHINA.ZHS16GBK)的系统变量,重启plsql developer,重新插入数据,问题即可解决。

-----------------------------------------------------
创建视图无权限的问题:

grant create view to scott;

64位oracle启动时报ORA-01034: ORACLE not available

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
进程 ID: 0
会话 ID: 0 序列号: 0

解决办法:
1、sqlplus "sys/password as sysdba"
连接成功,提示"已连接到空闲例程"
2、SQL> startup
ORACLE 例程已经启动。
Total System Global Area  535662592 bytes
Fixed Size                  1375792 bytes
Variable Size             293601744 bytes
Database Buffers          234881024 bytes
Redo Buffers                5804032 bytes
数据库装载完毕。
数据库已启动

 

 

你可能感兴趣的:(Oracle常见问题汇总)