Oracle初步接触时遇到的问题及解决办法
今天在机器上装Oracle 10g,安装完成以后出现错误提示“ORA-00988: 口令缺失或无效”,然后就无法进入控制台进行相应的操作和管理,我以前在安装Oracle 9时并没有出现过
这个错误。然后卸载后重新安装,问题依旧,折腾了好大一阵终于弄明白是怎么一回事了。
这种情况通常发生于创建 Oracle 例程时指定了非正常的全局数据库名称或系统用户密码。请注意全局数据库名称不能以数字开头,口令密码也不能由数字开头(我就是由于将口
令密码设置为以数字开头的原因)。
其实使用iSQL*Plus非常方便,几乎不用什么配置,但是因为DBA用户和普通用户使用的是不同的URL,可能会造成一部分人的疑惑,所以在这里把关于iSQL*Plus的各方面再详细说
一下。
1。确认安装了Oracle HTTP Server和iSQL*Plus Server
2。在安装的结尾部分将会显示登陆iSQL*Plus的默认端口,如果没有看到或者忘记了,那么可以检查如下文件来确认:
NT:%ORACLE_HOME%\Apache\Apache\conf\httpd.conf
UNIX:$ORACLE_HOME/Apache/Apache/bin/conf/httpd.conf
查看Port和Listen 的参数值,默认应该是:
Port 7778
Listen 7778(HTTP)
Listen 4443(HTTPS)
可以通过编辑oracle_apache.conf配置文件启用或禁用 iSQL*Plus,注释以下行即可禁用
include "ORACLE_HOME\sqlplus\admin\isqlplus.conf
3。iSQL*Plus 的配置文件在
NT:%ORACLE_HOME%\sqlplus\admin\isqlplus.conf
UNIX:$ORACLE_HOME/sqlplus/admin/isqlplus.conf
4。确认已经启动了Oracle HTTP Server
5。登录
登入普通用户,输入以下URL:
http://machine_name.doman:port/isqlplus
登入DBA用户,输入以下URL:
http://machine_name.domain:port/isqlplusdba
获取Server的统计信息:
http://machine_name.domain:port/isqlplusdba?statistics= {active|full} [&refresh=number]
其中refresh的最小值是10秒
6。如果要登录使用 SYSDBA 或 SYSOPER 权限登录到 iSQL*Plus,以通过 iSQL*Plus 执行数据库管理并运行 DBA 命令,则必须要Oracle HTTP Server验证,这个用户名和密码跟
数据库的用户名密码无关。当然通过验证之后,还需要输入Oracle数据库中的具有SYSDBA或者SYSOPER权限的用户名和密码。
要通过Oracle HTTP Server验证,则必须将用户名和口令添加到 Oracle HTTP Server 验证文件中(用户验证文件位于%ORACLE_HOME%\sqlplus\admin\iplusdba.pw),作如下操作
:
a。进入%ORACLE_HOME%\Apache\A
相关文档:
以下是Oracle JDBC官方文档的说法:
也就是随便翻译一下就理解了。
JDBC Thin for All Platforms
classes12.jar (1,600,090 bytes) - for use with JDK 1.2 and JDK 1.3
在低级JDK版本1.2与1.3中使用的驱动,虽然实际上在1.4,1.5中使用大部分情况也是OK的
classes12_g.jar (2,044,594 bytes) - same as classes12.j ......
不可以用保留字做为表名,字段名的。
如果用单个英语单词或词组来表示表名或字段名。这比较容易和保留字冲突。如何知道Oracle用了哪些保留字呢?
系统表v$reserved_words中存放了所有的保留字。
select * from v$reserved_words;
Oracle有500个保留字,记住所有的保留字有点困难,每次都查找会影响到开发速度,如 ......
表空间:
Oracle的UNDOTBS01.DBF文件太大的解决办法
1、.禁止undo tablespace自动增长
alter database datafile 'full_path\undotbs01.dbf' autoextend off;
2.-- 创建一个新的小空间的undo tablespace
create undo tablespace undotBS2 datafile ......
5.调用函数FN_ADDONE
--------------------
SQL> SET SERVEROUTPUT ON
SQL> DECLARE CNUM NUMBER;
2 BEGIN
3 CNUM := USER1_ADB.FN_ADDONE(3);
4 DBMS_OUTPUT.PUT_LINE('CNUM = ' || CNUM);
5 END;
6&nbs ......