Random Post :
#1094
Olivier | Uncategorized |
CREATE TABLE TBL_1 (
ID NUMBER NOT NULL,
REQ_TIMESTAMP DATE NOT NULL,
...
)
PARTITION BY
RANGE ( REQ_TIMESTAMP )
INTERVAL(NUMTODSINTERVAL(1, 'DAY'))
STORE IN (TBLSP1, TBLSP2, TBLSP3, TBLSP4, TBLSP5)
(
-- Default partition --
PARTITION PART_0 VALUES LESS THAN (TO_DATE('01-01-2010', 'DD-MM-YYYY'))
);
Data will be spread over 5 different tablespaces using a “round robin” method.
A new partition will be created for each interval (in this case, 1 DAY).
To remove a partition :
ALTER table TBL_1 drop partition for ( to_date('01/01/2015', 'DD/MM/YYYY') );
#2044
Guide d’installation de Ubuntu en dual-boot avec Windows 10 en mode UEFI. Partition spécifique chiffrée pour les données utilisateurs sous Ubuntu.
Source: Installer Ubuntu en dual-boot avec Windows 10 – SoozX
linux, windows
#890
Create LoggingOutputStream class :
public class LoggingOutputStream extends java.io.OutputStream {
protected Logger log;
protected boolean isError;
/**
* Used to maintain the contract of {@link #close()}.
*/
protected boolean hasBeenClosed = false;
/**
* The internal buffer where data is stored.
*/
protected byte[] buf;
/**
* The number of valid bytes in the buffer. This value is always in the range <tt>0</tt> through
* <tt>buf.length</tt>; elements <tt>buf[0]</tt> through <tt>buf[count-1]</tt> contain valid byte data.
*/
protected int count;
/**
* Remembers the size of the buffer for speed.
*/
private int bufLength;
/**
* The default number of bytes in the buffer. =2048
*/
public static final int DEFAULT_BUFFER_LENGTH = 2048;
private LoggingOutputStream() {
// illegal
}
/**
* Creates the LoggingOutputStream to flush to the given Category.
*
* @param log
* the Logger to write to
*
* @param isError
* the if true write to error, else info
*
* @exception IllegalArgumentException
* if cat == null or priority == null
*/
public LoggingOutputStream(Logger log, boolean isError) throws IllegalArgumentException {
if (log == null) {
throw new IllegalArgumentException("log == null");
}
this.isError = isError;
this.log = log;
bufLength = DEFAULT_BUFFER_LENGTH;
buf = new byte[DEFAULT_BUFFER_LENGTH];
count = 0;
}
/**
* Closes this output stream and releases any system resources associated with this stream. The general contract
* of <code>close</code> is that it closes the output stream. A closed stream cannot perform output operations
* and cannot be reopened.
*/
@Override
public void close() {
flush();
hasBeenClosed = true;
}
/**
* Writes the specified byte to this output stream. The general contract for <code>write</code> is that one byte
* is written to the output stream. The byte to be written is the eight low-order bits of the argument
* <code>b</code>. The 24 high-order bits of <code>b</code> are ignored.
*
* @param b
* the <code>byte</code> to write
*/
@Override
public void write(final int b) throws IOException {
if (hasBeenClosed) {
throw new IOException("The stream has been closed.");
}
// don't log nulls
if (b == 0) {
return;
}
// would this be writing past the buffer?
if (count == bufLength) {
// grow the buffer
final int newBufLength = bufLength + DEFAULT_BUFFER_LENGTH;
final byte[] newBuf = new byte[newBufLength];
System.arraycopy(buf, 0, newBuf, 0, bufLength);
buf = newBuf;
bufLength = newBufLength;
}
buf[count] = (byte) b;
count++;
}
/**
* Flushes this output stream and forces any buffered output bytes to be written out. The general contract of
* <code>flush</code> is that calling it is an indication that, if any bytes previously written have been
* buffered by the implementation of the output stream, such bytes should immediately be written to their
* intended destination.
*/
@Override
public void flush() {
if (count == 0) {
return;
}
// don't print out blank lines; flushing from PrintStream puts out
// these
if (count == LINE_SEPERATOR.length()) {
if (((char) buf[0]) == LINE_SEPERATOR.charAt(0) && ((count == 1) || // <-
// Unix
// &
// Mac,
// ->
// Windows
((count == 2) && ((char) buf[1]) == LINE_SEPERATOR.charAt(1)))) {
reset();
return;
}
}
final byte[] theBytes = new byte[count];
System.arraycopy(buf, 0, theBytes, 0, count);
if (isError) {
log.error(new String(theBytes));
} else {
log.info(new String(theBytes));
}
reset();
}
private void reset() {
// not resetting the buffer -- assuming that if it grew that it
// will likely grow similarly again
count = 0;
}
}
Update System.out / System.err :
private static Logger sysOutLogger = LoggerFactory.getLogger("SYS_INFO");
private static Logger sysErrLogger = LoggerFactory.getLogger("SYS_ERROR");
PrintStream sysout = System.out;
PrintStream syserr = System.err;
System.setOut(new PrintStream(new LoggingOutputStream(sysOutLogger, false), true));
System.setErr(new PrintStream(new LoggingOutputStream(sysErrLogger, true), true));
// do something with System.out / System.err
// Put things back
System.setOut(sysout);
System.setErr(syserr);
java
#1632
Olivier | Uncategorized |

Si vous aviez l’habitude d’utiliser Hiren’s boot CD ou Ultimate Boot CD (qui ne sont plus maintenus) pour dépanner des ordis, voici la relève ! Ça s’appelle Medicat, un nouveau DVD / Clé USB bootable qui va vous permettre de faire la chasse aux malware, réparer des disques durs, remettre debout des installations Windows foireuses, > Lire la suite
Source: Medicat – Une distrib Linux / Windows 10 pour dépanner vos ordinateurs – Korben
#675
Olivier | Uncategorized |
Add A New User To A Group
Add a new user called vivek to a group called vsftp, enter:
useradd -G <group_name> -d /home/<username> -m <username>
passwd <username>
-G : Add vivek to secondary group called vsftp. This group must exists on the system.
-d /home/ : Path to the vivek’s home directory
-m : Create the new user’s home directory if it does not already exist.
: Username / login nane
UNIX Add Existing User To A Secondary Group
Use usermod command to modify a user’s login definition on the system including group membership. For, example add user vivek to sales group, enter:
usermod -G <group_name> <username>
Add user tom to sales but also keep his existing membership of ftpusers, enter:
usermod -G <group_name>,<group_name> <username>
UNIX Add Existing User To A Primary Group
Add jerry to sales primary group and change its existing group membership:
usermod -g <group_name> <username>
To delete user :
userdel userName
To delete group :
groupdel userName