
空间问题可能原因:
1、SybaseIQ的事务日志,存放在iq store中,由DBMS管理,所以所有表空间相加不等于数据库空间;
2、SybaseIQ运行过程中可能由于锁的机制,other version增大,可以通过数据库命令: sp_iqstatus查看;
3、空间分配上建议最后使用符号连接,底层变化,不影响dbspace 对应的路径和文件名。
故障现象:
1 sp_iqdbspace统计db空间,占用14TB,同时发现空间使用量,非正常的增长过快
2 sp_iqstatus查询db状态,发现other versions有很大的占用量
3 sp_iqdbsize统计db实际占用空间,发现占用12TB
4 存在数百G,空间的差异
5 由于备份空间问题,有进行增加盘柜空间动作,过程中,对write server有做停机维护,read server没有动作
故障原因:
1 系统为多节点架构1台write server,1台read server
2 重启write server,进行维护,没有通过sybase central,关闭read server的访问,导致read server上,有大量old version的数据,与write server数据不一致
3 old version数据,也是同样保存在iq的main db space中,所以,做sp_iqdbspace统计,会计算到这些数据,而做sp_iqdbsize,统计的是实际数据空间,故不会计算到这些old version的数据
4 old version的数据的检查,对应sp_iqdbsize中的other versions栏位,大小就是后面的数值
解决方法:
1 Sybase central中关闭read server的服务
2 write server上关闭多节点服务
3 write server重新启动IQ服务,让IQ系统做相应检测,释放other versions空间
4 启动多节点服务在write server上的Agent服务
5 在Sybase central中的多节点配置里,启动write server和read server的服务
6 启动后,SQL Remote,应该为active
7 在write server上sp_iqstatus,other version为0,问题解决
优点:数据库系统是用来管理数据的,建立的数理逻辑和集合 *** 作基础上的。
具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。
数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据 *** 作。
目前市面上流行的数据库系统很多:较小型的数据库系统有:mysql,MSSQL_SERVER等等,适用于企业级的大型数据库有:ORACEL,DB2(IBM),INFORMIX(IBM)等等
缺点:安全性不够,加了用户级密码容易破解
C/S
结构下对服务器要求很高,否则容易造成
MDB
损坏并发数255。
但是对高强度 *** 作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致
MDB
损坏或者并死不能将
VBA
代码开发的软件系统直接编译成
EXE
可执行文件。
不能脱离
ACCESS
或者
ACCESS
RUNTIME
环境,该环境相对其他软件体积较大(50M左右)
ConnectionManagerjava
import javasql;
public class ConnectionManager {
private static final String DRIVER_CLASS="commicrosoftsqlserverjdbcSQLServerDriver";
private static final String DATABASE_URL="jdbc:sqlserver://localhost:1433;DatabaseName=student";
private static final String DATABASE_USER="xz";
private static final String DATABASE_PASSWORD="test";
private ConnectionManager()
{}
/
返回连接
@return Connection
@throws DBAccessException
/
public static Connection getConnection()
{
Connection dbConnection=null;
try {
ClassforName(DRIVER_CLASS);
dbConnection=DriverManagergetConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
return dbConnection;
}
/
关闭连接
@param conn
Connection
/
public static void closeConnection(Connection conn)
{
try{
if(conn!=null && !connisClosed())
{
connclose();
conn=null;
}
}catch(Exception ex)
{
Systemoutprintln(exgetMessage());
}
}
/
关闭结果集
@param rs
ResultSet
/
public static void closeResultSet(ResultSet rs)
{
try{
if(rs!=null)
{
rsclose();
rs=null;
}
}catch(Exception ex)
{
Systemoutprintln(exgetMessage());
}
}
/
关闭SQL预处理语句
@param pstmt
PreparedStatement
/
public static void closePreparedStatement(PreparedStatement pstmt)
{
try{
if(pstmt!=null)
{
pstmtclose();
pstmt=null;
}
}catch(Exception ex)
{
Systemoutprintln(exgetMessage());
}
}
/
关闭SQL语句
@param stmt
Statement
/
public static void closeStatement(Statement stmt)
{
try{
if(stmt!=null)
{
stmtclose();
stmt=null;
}
}catch(Exception ex)
{
Systemoutprintln(exgetMessage());
}
}
public static void main(String[]args)
{
try {
Connection con=ConnectionManagergetConnection();
if(!conisClosed())
Systemoutprintln("数据库连接成功。。。。。");
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
Userjavapublic class User {
private String username;
private String userpass;
public String getUsername() {
return username;
}
public void setUsername(String username) {
thisusername = username;
}
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
thisuserpass = userpass;
}
}
UserDAOjavaimport javautil;
import javasql;
public class UserDAO {
public List<User> getAllUser()
{
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
List<User> userList=new ArrayList<User>();
String sql="select UserName,UserPas from Users";
try {
conn=ConnectionManagergetConnection();
pstmt=connprepareStatement(sql);
rs=pstmtexecuteQuery();
while(rsnext())
{
User u=new User();
usetUsername(rsgetString("UserName"));
usetUserpass(rsgetString("UserPas"));
userListadd(u);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}finally
{
ConnectionManagercloseConnection(conn);
ConnectionManagerclosePreparedStatement(pstmt);
ConnectionManagercloseResultSet(rs);
}
return userList;
}
}
最好不要删除,如果可以,你最好备份一下再清空。
如果你对Sybase比较熟,应该可以用一个客户端工具,好像叫什么SQL的,具体名字我忘记了,你可以用这个工具,登录Sybase,然后用delete from 表名
来删除表中的数据。
如果你不太会用这个工具,只要你能找到Sybase的ODBC数据源(或者知道自己怎么建立一个,要求可以修改数据的,不能是只读的)。你可以通过Access连接Sybase的所有表,在可视化的 *** 作下,删除和备份你需要的表的信息和数据。
可以采用以下方法完全卸载该程序:
1、打开“控制面板”选择“添加或删除程序”。
2、进入后找到想要卸载的软件,右键选择“卸载“即可。
4、在打开的卸载对话框正选择完全卸载继续下一步直到卸载完成。
4、卸载完成后重启计算机,这样才能完全删除剩余的残留文件。
4、完成后即可完全卸载该程序。
以上就是关于请教关于Sybase IQ空间问题全部的内容,包括:请教关于Sybase IQ空间问题、各类数据库的优点缺点、java连接数据库的例子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)