Archive for the ‘数据库问题解决方案’ Category

二月 28th, 2012

ORALCE 数据库如何查看数据文件 控制文件 日志文件信息

ORALCE 数据库如何查看数据文件 控制文件 日志文件信息已关闭评论, 数据库问题解决方案, by 小哥.

一. 查看数据文件
SQL> select name from v$datafile;

NAME
——————————————————–
/u01/app/oracle/oradata/orcl/SYSTEM01.DBF
/u01/app/oracle/oradata/orcl/UNDOTBS01.DBF
/u01/app/oracle/oradata/orcl/SYSAUX01.DBF
/u01/app/oracle/oradata/orcl/USERS01.DBF

二. 查看控件文件
SQL> select name from v$controlfile;

NAME
———————————————————-
/u01/app/oracle/oradata/orcl/CONTROL01.CTL
/u01/app/oracle/oradata/orcl/CONTROL02.CTL
/u01/app/oracle/oradata/orcl/CONTROL03.CTL

三. 查看日志文件
 
SQL> select member from v$logfile;

MEMBER
————————————————–
/u01/app/oracle/oradata/orcl/REDO03.LOG
/u01/app/oracle/oradata/orcl/REDO02.LOG
/u01/app/oracle/oradata/orcl/REDO01.LOG

二月 28th, 2012

ORALCE 数据库 ora-01031 错误的解决方案

ORALCE 数据库 ora-01031 错误的解决方案已关闭评论, 数据库问题解决方案, by 小哥.

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:UsersAdministrator>sqlplus /nolog

SQL*Plus: Release 10.2.0.3.0 – Production on 星期二 2月 28 09:16:01 2012

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges

ORA-01031:提示权限不足,因为使用的是windows怀疑是不是用户组或者用户权限问题,于是做了以下尝试
右键我的电脑-管理-本地用户和组-组-在右边找到ora_dba组-双击打开-添加-高级-立即查找-找到当前用户添加

(more…)

第一范式(1NF)
  所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。

我的理解:列不可分。

第二范式(2NF)

  第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一的区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。要求实体的属性完全依赖于主关键字。

我的理解:不能部分依赖。即:一张表存在组合主键时,其他非主键字段不能部分依赖。

第三范式(3NF)
  满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。

我的理解:不能存在传递依赖。即:除主键外,其他字段必须依赖主键。

> cmd
连接只sqlplus
> sqlplus /nolog
连接只空闲空间
SQL> conn /as sysdba
提交归档文件
SQL> alter system archive log current;
查看归档文件列表
SQL> archive log list;
SQL> exit

> rman
RMAN> connect target /
检查控制文件和实际物理文件差别
RMAN> crosscheck archivelog all;
同步控制文件的信息和时间物理文件信息
RMAN> delete expired archivelog all;
查看归档日志的状态
RMAN> list archivelog all;
删除从3天前到现在的全部日志
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-3’;

下载安装包
MySQL-server-5.5.11-1.linux2.6.i386.rpm
MySQL-client-5.5.11-1.linux2.6.i386.rpm

安装后

修改密码
# usr/bin/mysqladmin -u root password ‘root123’

启动服务
# service mysqld start

登录mysql控制台
# mysql -u root -p

开启远程访问
mysql> grant select on 数据库.* to 用户名@登录主机 identified by “密码”
例如
mysql> grant all on *.* to root@’%’ identified by ‘root123’;

Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
解决方案
#ps -A|grep mysql
例如:
8047 pts/1 00:00:00 mysqld_safe
8124 pts/1 00:00:00 mysqld
8163 pts/1 00:00:00 mysql
8425 pts/2 00:00:00 mysql
# kill -9 1829
# kill -9 1876
# /etc/init.d/mysql restart
# mysql -u root -p

1. 解压安装文件
unzip 10201_database_linux32.zip
chmod -R 777 /opt
chown -R oracle.oinstall /opt

2. 修改 /etc/hosts
本机IP地址          主机名         localhost
192.168.1.210        linuxserver     localhost

3. 设置内核参数/etc/sysctl.conf
# This is Oracle 10g sysctl Kernel Setting by heweilong 20110415
# 可以使用的共享内存的总量 (最小内存)
kernel.shmall = 2097152
# 最大共享内存段大小 (内存大小)
kernel.shmmax = 1073741824
# 整个系统共享内存段的最大数目 (4096)
kernel.shmmni = 4096
# 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数 (250 32000 100 128)
kernel.sem = 5010 641280 5010 128
# 系统中所允许的文件句柄最大数目 (65536)
fs.file-max = 65536
# 应用程序可使用的IPv4端口范围 (1024 65000)
net.ipv4.ip_local_port_range = 1024 65000
# 套接字接收缓冲区大小的缺省值  (262144)
net.core.rmem_default = 1048576
# 套接字接收缓冲区大小的最大值 (262144)
net.core.rmem_max = 1048576
# 套接字发送缓冲区大小的缺省值 (262144)
net.core.wmem_default = 262144
# 套接字发送缓冲区大小的最大值 (262144)
net.core.wmem_max = 262144
# 禁止ping主机 (0)
# net.ipv4.icmp_echo_ignore_all = 1

执行生效
# /sbin/sysctl  -p

4. 编辑/etc/security/limits.conf  添加
oracle    soft        nproc    2047
oracle    hard        nproc    16384
oracle    soft        nofile    1024
oracle    hard        nofile    65536
or
*    soft        nproc    2047
*    hard        nproc    16384
*    soft        nofile    1024
*    hard        nofile    65536

5.  编辑/etc/pam.d/login 添加
session    required     pam_limits.so

6. 修改/etc/selinux/config文件
SELINUX=disabled (more…)

OracleOraHome92Agent服务不能启动?

告诉你一个简单的方法
只要删除
%ORACLE_HOME%\network\agent\目录下的所有.q文件
重启一下agent服务就可以了!

事件编号:20101131002

SQL>sqlplus “/as sysdba”

#查询系统使用的是哪一组日志文件
SQL>select * from v$log;

#查询正在使用的组所对应的日志文件
SQL>select * from v$logfile

#查看最近所作的操作
SQL>select * from v$sql

#查看最近所作的操作
SQL>select * from v$sqlarea

#查询历史日志
SQL>select * from v$log_history;

#查询日志的归档模式
SQL>select dbid,name,created,log_mode from v$database;

#强制日志切换
SQL>alter system switch logfile;

事件编号:20101131001

–查看oracle数据库字符集:
select userenv(‘language’) from dual;

–查询结果:
SIMPLIFIED CHINESE_CHINA.AL32UTF8

–修改oracle数据库字符集:(在SQL Plus中)
sql> conn / as sysdba;
sql> shutdown immediate;

database closed.
database dismounted.
oracle instance shut down.
sql> startup mount;
oracle instance started.

total system global area 135337420 bytes
fixed size 452044 bytes
variable size 109051904 bytes
database buffers 25165824 bytes
redo buffers 667648 bytes
database mounted.

sql> alter system enable restricted session;
system altered.

sql> alter system set job_queue_processes=0;
system altered.

sql> alter system set aq_tm_processes=0;
system altered.

sql> alter database open;
database altered.

sql> alter database character set internal_use JA16SJIS;
sql> shutdown immediate;
sql> startup;

1. C:\Program Files\IBM\IBM Informix Dynamic Server\11.50\etc\ONCONFIG.ser 这个文件
2. TAPEDEV c:\backupfile 备份路径
3. onmode -ky 关闭数据库  oninit -vy 启动数据库
4. ontape -s -L 0 备份数据库
5. onmode -ky 关闭数据库
6. ontape -r回复数据库
7. oninit -vy 启动数据库