:: JDBC 드라이버 복사
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 폴더 안에 ojdbc6_g.jar 파일을
C:\Java\jre1.8.0_162\lib\ext 로 복사

:: 간단한 사용 예시

Connection connection;
Statement statement;
ResultSet resultSet;

String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String uid = "publicvoid";
String upw = "privatevoid";
String query = "select * from void_members";

try {
	Class.forName(driver);
	connection = DriverManager.getConnection(url, uid, upw);
	statement = connection.createStatement();
	resultSet = statement.executeQuery(query);
	
	while (resultSet.next()) {
		String id = resultSet.getString("user_id");
		String pw = resultSet.getString("user_pw");
		String name = resultSet.getString("user_name");
		String mobile = resultSet.getString("user_mobile");
		out.println("아이디 : " + id + " / 패스워드 : " + pw + " / 이름 : " + name + " / 휴대전화 : " + mobile);
	}
} catch (Exception exception) {
	exception.printStackTrace();
} finally {
	try {
		if (resultSet != null) resultSet.close();
		if (statement != null) statement.close();
		if (connection != null) connection.close();
	} catch (Exception exception2) {
		exception2.printStackTrace();
	}
}
:: 제약조건 확인
SELECT * FROM ALL_CONSTRAINTS WHERE TABLE_NAME = '테이블명';

SELECT A.UNIQUENESS, B.* FROM ALL_INDEXES A, ALL_IND_COLUMNS B WHERE A.INDEX_NAME = B.INDEX_NAME AND A.TABLE_NAME='테이블명';

::제약조건 삭제
ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명 CASCADE;

::인덱스 생성
CREATE UNIQUE INDEX PK명 ON 테이블명 (컬럼명1, 컬럼명2....);

:: PK 생성
ALTER TABLE 테이블명 ADD (CONSTRAINT PK명 PRIMARY KEY (컬럼명1, 컬럼명2....));
Oracle 10g 에서 Recycle Bin 기능이 생겼다.

9i 까지는 DROP TABLE 명령으로 잘못지운 테이블이 복구가 불가능 했었다.

10g 에서는 DROP TABLE 명령으로 지운 후 테이블을 검색해보면

BIN$........... 라는 새로운 테이블이 생성되는 것을 볼 수 있다.

이것을

SQL> SHOW RECYCLEBIN;

해보면,

ORIGINAL_NAME 을 알 수 있도록 표시된다.

이 테이블들은 FLASHBACK 기능으로 되살릴 수 있다.

만약 DROP시킨 테이블명이 TB_USER 라고 한다면, SHOW RECYCLEBIN; 으로 검색한 결과에

ORIGINAL_NAME 에 TB_USER라고 표시될 것이다.

되살리기 위해선

SQL> FLASHBACK TABLE TB_USER TO BEFORE DROP;

위와 같이 명령하면 된다.


또한, RECYCLEBIN 을 비우기 위해선,

SQL> PURGE RECYCLEBIN;


테이블을 DROP 할때 RECYCLEBIN 에 넣지 않고 바로 삭제하는 명령은,

SQL> DROP TABLE TB_USER PURGE;

위와 같이 해주면 된다.


오라클의 XDB listener 의 포트와 Apache Tomcat 의 포트가 기본적으로 8080으로 동일하다.

Apache Tomcat 의 포트를 변경하는 방법도 있겠지만,

외국사이트를 검색결과 XDB listener 의 포트를 변경하는 방법이 있드라~

명령프롬프트에서 lsnrctl status 를 입력하거나 아래의 쿼리를 사용하면,

ftp 와 http 이 각각 2100 과 8080 으로 설정된 것을 볼 수 있다.

SELECT dbms_xdb.cfg_get "xdbconfig.xsd" FROM dual;

이 설정을 바꿔보겠다.

아래의 스크립트 문장으로 각각 6010 와 6020 으로 변경할 수 있다.

이 스크립트는 auto commit 이다.

declare
newconfig XMLType;
begin
    --ftp port setting
    select updatexml(
    dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()',6010) into newconfig from dual;
    dbms_xdb.cfg_update(newconfig);
    --http port setting
    select updatexml(
    dbms_xdb.cfg_get(),'/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()',6020) into newconfig from dual;
    dbms_xdb.cfg_update(newconfig);
end;
/
리스너를 재시작한다.

lsnrctl status 로 확인하면, 변경된 것을 확인해 볼 수 있다.