Skip to content

Commit 33cd534

Browse files
committed
update
1 parent 581f01c commit 33cd534

File tree

2 files changed

+4
-161
lines changed

2 files changed

+4
-161
lines changed

DB学习之路.md

Lines changed: 3 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,9 @@
228228
* 【性能调优】Oracle AWR报告指标全解析: <http://www.askmaclean.com/archives/performance-tuning-oracle-awr.html>
229229
* Oracle Trace文件生成及查看: http://blog.csdn.net/weiwenhp/article/details/6932835
230230
* Oracle 10g Audit(审计) --- 记录登录用户在Oracle中的所有操作: <http://blog.csdn.net/ryb7899/article/details/5413720>
231+
* 修改oracle实例名(sid)和数据库名(db_name): <http://blog.51cto.com/liujia/539294>
232+
* Oracle安装错误ora-00922(缺少或无效选项): <http://blog.sina.com.cn/s/blog_5674f6d401012ekw.html>
233+
* Oracle中session和processes的设置: <http://www.cnblogs.com/jiangxinnju/p/7900870.html>
231234

232235
## oracle疑难问题排查集:
233236

@@ -259,8 +262,6 @@ windows Server 2008 服务器上安装了Oracle 11g R2,在用Navicat去连接O
259262
* 打开Navicat,选择工具→选项→其他→OCI,然后设置OCI library为:D:app/administrator/product/instantclient_12_2_x32/oci.dll,设置SQL plus为:D:/app/administrator/product/11.2.0/dbhome_1/BIN/sqlplus.exe。确定。
260263
* 测试成功。
261264

262-
263-
264265
## Oracle 11g 默认用户名和密码
265266

266267
安装ORACLE时,若没有为下列用户重设密码,则其默认密码如下:
@@ -275,7 +276,6 @@ Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员
275276

276277
登录身份:指登录时的Role指定,oracle11g中分SYSDBA和default两种。在安装Oracle 10g的时候,提示创建数据库,在创建的同时提示你输入口令,若此时你输入了密码,在登录数据库的时候用户名sys 对应的密码就应该是你创建数据库时候输入的口令。而非默认的change_on_install.
277278

278-
279279
## Oracle 11g服务详细介绍及哪些服务是必须开启的?
280280

281281
成功安装Oracle 11g后,共有7个服务,这七个服务的含义分别为:
@@ -292,119 +292,12 @@ Dbsnmp/dbsnmp SYSDBA 或 NORMAL 复制管理员
292292

293293
注:ORCL是数据库实例名,默认的数据库是ORCL,你可以创建其他的,即OracleService+数据库名。
294294

295-
296-
## Oracle安装错误ora-00922(缺少或无效选项)
297-
298-
安装Oracle 11g R2的过程中,在新建数据库实例时出现了该错误,如果选择"忽略"就会出现ora-28000错误。经网络查询验证,这是属于在前面配置管理员密码的时候,采用了数字开头的密码,Oracle貌似对此不支持,但当时不提示出错,晕倒!据说包含其他非法特殊字符也可能产生此问题。
299-
300-
ORA-00922: 选项缺失或无效
301-
302-
错误原因:一般是语句的语法有问题。比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。
303-
304-
标识符命名规则:
305-
306-
* 必须以字母开始。
307-
* 长度不能超过30个单字节字符。
308-
* 只能包括A-Z,a-z,0-9,_,$和#。
309-
* 不能在相同用户下建立两个同名的对象。
310-
* 不能使用保留字和关键字
311-
312-
ORA-28000: 账户锁定
313-
314-
* 使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
315-
* 选择myjob,查看users;
316-
* 选择system,右击点击“编辑”;
317-
* 修改密码,把“帐户被锁住”的勾去掉;
318-
* 点击“应用”再点击“关闭”;
319-
* 重新登录就可以通过验证了
320-
321-
322295
## ORACLE_HOME/ORACLE_SID
323296

324297
ORACLE_HOME 安装目录
325298
ORACLE_SID 实例ID
326299
一台linux机器上安装一个oracle,两个实例,分别对应两个用户。切换到对应用户时 echo $ORACLE_SID会显示各自的实例
327300

328-
## oracle 的修改SID
329-
330-
1、检查原来的数据库实例名(sid)
331-
332-
oracle@oracle[/home/oracle]> echo $ORACLE_SID
333-
orcl
334-
oracle@oracle[/home/oracle]> sqlplus / as sysdba
335-
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:14:49 2009
336-
Copyright (c) 1982, 2005, Oracle. All rights reserved.
337-
Connected to:
338-
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
339-
With the Partitioning, OLAP and Data Mining options
340-
sys@ORCL> select instance from v$thread;
341-
INSTANCE
342-
--------------------------------------------------------------------------------
343-
orcl
344-
345-
2、关闭数据库
346-
347-
注意不能用shutdown abort,只能是shutdown immediate或shutdown normal
348-
349-
sys@ORCL> shutdown immediate
350-
Database closed.
351-
Database dismounted.
352-
ORACLE instance shut down.
353-
sys@ORCL> exit
354-
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
355-
With the Partitioning, OLAP and Data Mining options
356-
357-
3、修改oracle用户的ORACLE_SID环境变量,如由orcl修改为ybbe
358-
359-
4、修改/etc/oratab文件,将sid名由旧的修改为新的,如从orcl修改为ybbe
360-
361-
5、进入到$ORACLE_HOME/dbs目录,将所有文件名中包含原来的sid的修改为对应的新sid的。如我对如下文件修改为其后对应的文件
362-
363-
hc_orcl.dat->hc_ybbe.dat
364-
lkORCL->lkYBBE
365-
orapworcl->orapwybbe
366-
snapcf_orcl.f->snapcf_cnhtm.f
367-
spfileorcl.ora->spfilecnhtm.ora
368-
cd $ORACLE_HOME/dbs
369-
orapwd file=orapwybbe password='ybbe' entries=5 force=y
370-
371-
可以用命令进行对上面的文件进行自动生成
372-
373-
6、使新修改的ORACLE_SID环境变量生效
374-
375-
oracle@oracle[/oracle/app/10.1/dbs]> . ~/.bash_profile
376-
oracle@oracle[/oracle/app/10.1/dbs]> echo $ORACLE_SID
377-
cnhtm
378-
379-
7、重建口令文件
380-
381-
因为口令文件改名后不能在新实例中使用,所以重建
382-
383-
oracle@oracle[/oracle/app/10.1/dbs]> orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=5 force=y
384-
oracle@oracle[/oracle/app/10.1/dbs]> ls -lrt orapw*
385-
-rw-r----- 1 oracle oinstall 2048 Dec 20 11:27 orapwybbe
386-
387-
8、启动数据库
388-
389-
oracle@oracle[/oracle/app/10.1/dbs]> sqlplus / as sysdba
390-
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 20 11:29:53 2009
391-
Copyright (c) 1982, 2005, Oracle. All rights reserved.
392-
Connected to an idle instance.
393-
idle> startup
394-
ORACLE instance started.
395-
Total System Global Area 167772160 bytes
396-
Fixed Size 1218292 bytes
397-
Variable Size 62916876 bytes
398-
Database Buffers 96468992 bytes
399-
Redo Buffers 7168000 bytes
400-
Database mounted.
401-
Database opened.
402-
403-
9、检查数据库实例名。通过如下语句检查数据库实例名,发现实例名已经由orcl变成ybbe
404-
405-
select instance from v$thread;
406-
INSTANCE
407-
408301
## ESCAPE关键字用法
409302

410303
  定义:escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。实例:
@@ -420,53 +313,6 @@ ORACLE_SID 实例ID
420313
2.ESCAPE 'escape_character' 允许在字符串中搜索通配符而不是将其作为通配符使用。escape_character 是放在通配符前表示此特殊用途的字符。
421314

422315

423-
## Oracle中session和processes的设置
424-
425-
* PROCESSES: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams188.htm#sthref560
426-
* SESSIONS: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams220.htm#sthref647
427-
* TRANSACTIONS: http://docs.oracle.com/cd/B28359_01/server.111/b28320/initparams248.htm
428-
429-
* Oracle 11gR2之前:sessions=(1.1*processes) + 5
430-
* Oracle 11gR2之后:sessions=(1.5*porcesses) + 22
431-
432-
当Oracle需要启动新的process而又已经达到processes参数时,就会报错:
433-
434-
```shell
435-
00020, 00000, "maximum number of processes (%s) exceeded"
436-
// *Cause: All process state objects are in use.
437-
// *Action: Increase the value of the PROCESSES initialization parameter.
438-
```
439-
440-
当数据库连接的并发用户已经达到sessions这个值时,又有新session连进来,就会报错
441-
442-
```shell
443-
00018, 00000, "maximum number of sessions exceeded"
444-
// *Cause: All session state objects are in use.
445-
// *Action: Increase the value of the SESSIONS initialization parameter.
446-
```
447-
448-
如何使用sqlplus查看、修改processes呢?使用sys,以sysdba权限登录:
449-
450-
```shell
451-
show parameter processes; --显示:processes integer 150
452-
show parameter sessions; --显示:sessions integer 165
453-
select count(*) from v$process; --显示当前processes数目
454-
select count(*) from v$session; --显示当前sessions数目
455-
alter system set processes=400 scope = spfile; --显示系统已更改
456-
show parameter processes; --显示:processes integer 150
457-
create pfile from spfile; --显示:文件已创建。
458-
459-
--重启数据库
460-
shutdown immediate;
461-
startup
462-
463-
--重启监听
464-
lsnrctl stop/start/status
465-
466-
show parameter processes; --显示:processes integer 400
467-
show parameter session; --显示:sessions integer 445
468-
```
469-
470316
## 忘记oracle的sys用户密码怎么修改
471317

472318
### 忘记除SYS、SYSTEM用户之外的用户的登录密码
@@ -512,7 +358,6 @@ Oracle提供了两种验证方式,一种是OS验证,另一种密码文件验
512358
* IBM DB2关键特性解析:DB2分区特性: http://tech.it168.com/a2012/0306/1321/000001321022_2.shtml
513359
* db2建立schema: http://guoyanxi.iteye.com/blog/910755
514360

515-
516361
# Oracle Berkeley DB
517362

518363
* Oracle Berkeley DB:http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
# cnblogs
22

3-
[![Code Climate](https://codeclimate.com/github/jiangxincode/cnblogs/badges/gpa.svg)](https://codeclimate.com/github/jiangxincode/cnblogs)
43
[![Issue Count](https://codeclimate.com/github/jiangxincode/cnblogs/badges/issue_count.svg)](https://codeclimate.com/github/jiangxincode/cnblogs)
54
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
65
[![Maintenance](https://img.shields.io/maintenance/yes/2017.svg)](https://github.com/jiangxincode/cnblogs)
76
[![GitHub license](https://img.shields.io/github/license/mashape/apistatus.svg)](http://mit-license.org/)
87

9-
一些我在平时工作和学习中积累的编程相关的资源。如果大家有兴趣可以一起增加,修改。
10-
8+
一些我在平时工作和学习中积累的编程相关的资源。如果大家有兴趣可以一起增加,修改。

0 commit comments

Comments
 (0)