| « | 五月 2012 | » | ||||
|---|---|---|---|---|---|---|
| 一 | 二 | 三 | 四 | 五 | 六 | 日 |
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | |||
关于系统数据库的恢复总结如下:
在SQLServer数据库中,系统信息存储在系统数据库中,主要的系统数据库包括:
master-从整体上控制用户数据库和SQLServer操作,在创建了任何用户定义的对象后,都要备份它
model-为新数据库提供模版和原型
msdb-包含了有关作业、报警及操作员等信息
说明:
如果遇到数据库出错的问题修改相应的代码后一般要重启mysql。如果遇到mysql的问题可以先重启一下mysql
看看问题能否解决。 查看全文
使用mysql,经常碰到too many connections的报错,登录不上去,只能重新启动。通过如下的方法可以解决这个问题:
1。首先修改/etc/my.cnf文件,增加如下一行
set-variable = max_connections=500
或在启动命令中加上参数 max_connections=500
就是修改最大连接数,然后重启mysql.默认的连接数是100,太少了,所以容易出现如题错误.
2。重新启动mysql,通过show variables可以查看max_connections是否修改成功。
3。为了防止发生too many connections时候无法登录的问题,mysql manual有如下的说明:
mysqld actually allows max_connections+1 clients to connect. The extra connection is reserved for use by accounts that have the SUPER privilege. By granting the SUPER privilege to administrators and not to normal users (who should not need it), an administrator can connect to the server and use SHOW PROCESSLIST to diagnose problems even if the maximum number of unprivileged clients are connected.
因此, 必须只赋予root用户的SUPER权限,同时所有数据库连接的帐户不能赋予SUPER权限。前面说到的报错后无法登录就是由于我们的应用程序直接配置的root用户
1、现象
Mon Aug 8 08:16:07 2011
The value (30) of MAXTRANS parameter ignored.
kupprdp: master process DM00 started with pid=91, OS id=21125
to execute – SYS.KUPM$MCP.MAIN(‘SYS_EXPORT_TABLE_01′, ‘YDZJ’, ‘KUPC$C_1_20110808081609′, ‘KUPC$S_1_20110808081609′, 0);
kupprdp: worker process DW01 started with worker id=1, pid=57, OS id=21127
to execute – SYS.KUPW$WORKER.MAIN(‘SYS_EXPORT_TABLE_01′, ‘YDZJ’);
kupprdp: worker process DW02 started with worker id=2, pid=95, OS id=21502
to execute – SYS.KUPW$WORKER.MAIN(‘SYS_EXPORT_TABLE_01′, ‘YDZJ’);
下面这个应当是大家常用的.
SQL> SELECT SID FROM V$MYSTAT WHERE ROWNUM =1;
SID
----------
19949
下面一个更简单, 但只能在Oracle 10g及以上版本中使用.
SQL> SELECT USERENV('SID') FROM DUAL;
USERENV('SID')
--------------
19949
下面这个方法我有时也用, 因为不想用最上面的SQL去写一个子查询, 发现在Oracle 9i上很正常, 但在Oracle 10g上常常返回两行, 因此不能再使用它了.
SQL> SELECT SID FROM V$SESSION WHERE AUDSID=USERENV('SESSIONID');
SID
----------
19949
19829
SQL>
【原因/触发因素】
确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。
【影响和风险】
影响
密码过期后,业务进程连接数据库异常,影响业务使用。
问题发生频率
数据库密码过期后,业务进程一旦重启会提示连接失败。 查看全文
〖Environment(环境)〗
OS:Linux AS45 DB:oracle10gR2
〖Symptom(现象) 〗
在AS4上安装完oracle10g以后,用DBCA创建数据库时,报告下面错误:
oraclewxxr1: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
ERROR:
ORA-12547: TNS:lost contact
〖Cause(原因) 〗
ORA-12547错误的产生,是由于缺少RPM包libaio-0.3.93-4.i386.rpm所引起的。
〖Action(方法) 〗
Step1:下载libaio-0.3.93-4.i386.rpm包。
Step2:安装包。
rpm -iv libaio-0.3.93-4.i386.rpm
方法一、Linux下用mount挂载命令
在网上下载的软件盘是iso格式的,不刻成光盘就可以读取里面的文件。不用解压。
在终端用mount -o loop /mnt/*/1.iso /mnt/cdrom 命令,(其中*是你工具盘放置的路径)。
输入命令后,打开我的电脑——〉打开CD-ROM就能看到里面的文件了。运行install或者 autorun。
当提示charudi二张光盘时,键入命令umount /mnt/cdrom 。
然后再键入mount -o loop /mnt/*/2.iso/mnt/cdrom(把第一条命令的文件名的1改成2,就是第二张光盘的名字了)。这样再回车。等待就可以了。
查看全文
在安装linux X86-64的Oracle10201时,在链接过程中出现了这个错误
详细错误信息为:
Error in invoking target‘install’of makefile‘/opt/oracle/product/10.2/ctx/lib/ins_ctx.mk’. See‘/opt/oracle/oraInvertory/logs/installActions2010-09-28_10-27-06AM.log’for details.
从日志中获取的详细信息为:
INFO: gcc -m32 -o ctxhx -L/opt/oracle/product/10.2/ctx//lib32/ -L/opt/oracle/product/10.2/lib32/ -L/opt/oracle/product/10.2/lib32/st
ma_+YO&F0ubs/ /opt/oracle/product/10.2/ctx/lib/ctxhx.o -L/opt/oracle/product/10.2/ctx/lib/ -ldl -lm -lctxhx -Wl,-rpath,/opt/oracle/product/1ITPUB个人空间 R[,RW,UQ @LZ
0.2/ctx/lib -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lcore10 -lsnls10 -lnls10 -lxml10 -lcore10 -lunls10 -lsnls10 -lnls10 -lcore1
|~m0~Cd00 -lnls10 `cat /opt/oracle/product/10.2/lib/sysliblist`
INFO: /usr/bin/ld: crt1.o: No such file: No such file or directory
INFO: collect2: ld ?? 1
INFO: make: *** [ctxhx] ?? 1
INFO: End output from spawned process.INFO:
INFO: Exception thrown from action: make
/VirjF^'F$H0Exception Name:
Exception String: Error in invoking target 'install' of makefile '/opt/oracle/product/10.2/ctx/lib/ins_ctx.mk'. See '/opt/oracle/ora
%Kr*AD3k$cI0Inventory/logs/installActions2010-09-28_10-27-06AM.log' for details.
CG'q.[jm0Exception Severity: 1
问题小结:Linux下oracle常见安装错误总结
错误一:
/tmp/OraInstall2007-12-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
原因是:缺少支持打印的图形化动态链接库libXp.so.6
这个错误是由于缺少系统安装包,在RHEL5以前的版本,可以安装xorg-x11-deprecated-libs包即可,这个安装包可以在系统光盘第三张盘中找到(对于redhat as4.2以前,redhat as4.4是在第四张安装光盘)
我下载的文件如下:xorg-x11-deprecated-libs-6.8.2-31.i386.rpm
错误二:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory这个错误是也是由于缺少系统安装包造成的,只需安装XFree86-libs包即可,这个安装包可以在系统光盘中找到。
在上面两个错误如果出现在redhat as5版本中,解决如下:
在RHEL5中上面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm将包打上后问题即可解决。
错误三:
error while loading shared libraries: libstdc++-libc6.1-1.so.2
只用执行如下操作 ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2
查看全文
使用php+oracle已经好几年了,不管是apache+php,还是nginx+fastcgi+phpfpm,每隔几天或者几周时间,服务器会出现php运行错误,信息如下:PHP Warning: oci_connect() : OCIEnvNlsCreate() failed. There is something wrong with your system - please check that LD_LIBRARY_PATH includes the directory with Oracle Instant Client libraries in ...
意思是LD_LIBRARY_PATH的变量缺失了,导致oracle的库文件找不到。但是为什么运行好好地,然后突然就有这个错误了呢,一直搞不明白,只能把它当做php的一个bug了。
查看全文
如何查看linux系统位数方法(32 or 64?)
1.直接看看有没有/lib64目目录的方法。64位的系统会有/lib64和/lib两个目录,32位只有/lib一个。
2.getconf LONG_BIT
(32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节inux系统中可用"getconf WORD_BIT"和"getconf LONG_BIT"获得word和long的位数。64位系统中应该分别得到32和64。)
当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值错误的解决方法
"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值。"表示当表的关键子设置为自动生成,那么你不能对它修改.
解决方法:
方法1:
set IDENTITY_INSERT 表名 ON
接着执行数据插入
方法2:
插入值时,忽略插入主键列值;
[转]Linux开机时停在 Starting sendmail 不动了的解决方案
步骤如下:
1.开机到了GRUB启动界面是按上下键让界面停下来;
2.按e键进入编辑模式;
3.移动上下键,选择第二项,再次按e键,编辑。在尾部追加 single 后按回车;
4.按b键启动;(这个是单用户模式,启动非常快,默认会进入命令行模式)
5.启动的差不多了吧,用root用户login;
6.用vi编辑 /etc/hosts 文件编辑完了之后应该是如下这个鸟样子:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
7. 继续编辑 /etc/sysconfig/network-script/ifcfg-eth0 文件。改完了应该是这个鸟样子:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
其他的值不要动,但是如果出现了ip地址之类的玩意(如:ADDR=192.168.1.105)这样的,毫不客气干掉;
8。如果你的机器不是mail服务器。 修改/etc/init.d/sendmail 文件。在该文件的第一行添加一行 exit;
9.输入reboot 回车。
查看用户的角色及权限
1、查看所有用户
select * from dba_user;
select * from all_users;
select * from user_users;
2、查看用户系统权限
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
3、查看用户对象权限
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4、查看所有角色
select * from dba_roles;
5、查看用户所拥有的角色
select * from dba_role_privs;
select * from user_role_privs;
6、查看当前用户的缺省表空间
select username,default_tablespace from user_users;
7、查看某个角色的具体权限
如grant connect,resource,create session,create view to TEST;
8、查看RESOURCE具有那些权限
用SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';