Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 213 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
213
Dung lượng
7,21 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM ĐỒ ÁN ORACLE NGHÀNH AN TỒN THƠNG TIN ĐỀ TÀI: TÌM HIỂU VÀ XÂY DỰNG CÁC GIẢI PHÁP AN TOÀN TRÊN CƠ SỞ DỮ LIỆU ORACLE Giáo viên hướng dẫn: Nguyễn Phương Hạc Sinh viên thực hiện: Nguyễn Trần Tấn Pháp Sinh viên thực hiện: Lương Thành Long Lớp: 09DHBM2 TP.HỒ CHÍ MINH, THÁNG NĂM 2021 ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP GIÁO VIÊN HƯỚNG DẪN ĐỀ TÀI Giáo viên hướng dẫn thứ nhất: Họ tên: Nguyễn Phương Hạc Cơ quan công tác: Trường ĐH Công Nghiệp Thực Phẩm TPHCM Nội dung hướng dẫn: Tìm hiểu, triển khai cài đặt CSDL Oracle Tìm hiểu xây dựng giải pháp an toàn CSDL Oracle Giáo viên hướng dẫn thứ hai: Họ tên: Cơ quan công tác: Nội dung hướng dẫn: Đề tài giao ngày 24 tháng 04 năm 2021 Yêu cầu phải hoàn thành trước ngày 21 tháng 06 năm 2021 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP PHẦN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: Đánh giá chất lượng đề tài (so với nội dung yêu cầu đề nhiệm vụ đề tài) Cho điểm giáo viên hướng dẫn: (Điểm ghi số chữ) Ngày……tháng… năm 2021 Giáo viên hướng dẫn (Ký, ghi rõ họ tên) Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁC BỘ CHẤM PHẢN BIỆN ĐỀ TÀI Đánh giá chất lượng đề tài tốt nghiệp (về mặt sở lý luận, thuyết trình, giá trị thực tế…) Cho điểm giáo viên phản biện (Điểm ghi số chữ) Ngày……tháng……năm 2021 Giáo viên phản biện (Ký, ghi rõ họ tên) Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP LỜI NĨI ĐẦU Những năm gần đây, vai trị hệ quản trị sở liệu doanh nghiệp ngày lớn mạnh Từ chỗ sử dụng để hỗ trợ số hoạt động lưu trữ liệu, trở nên có vai trò chiến lược doanh nghiệp Đặc biệt thành tựu công nghệ thông tin (CNTT) khiến doanh nghiệp ngày ý tới việc phát triển hệ sở liệu triển khai giải pháp an toàn nhầm tránh mát liệu Hiện nay, hệ quản trị sở liệu không giới hạn doanh nghiệp lớn, tầm cỡ đa quốc gia mà lan rộng tất doanh nghiệp, kể doanh nghiệp vừa nhỏ nước phát triển Tuy nhiên, việc triển khai sở liệu triển khai giải pháp an toàn nhầm tránh mát liệu đơn giản với doanh nghiệp lớn, dồi nguồn tài lực, nhân lực kinh nghiệm Một hệ quản trị sở liệu thành công doanh nghiệp chưa thành cơng tương tự doanh nghiệp khác Vì vậy, đề tài nhóm “Tìm hiểu triển khai giải pháp an tồn Oracle” để có nhìn sâu hơn, thực tế việc triển khai bảo mật liệu hệ quản trị sở liệu doanh nghiệp Từ nhóm rút mặt ưu, khuyết hệ thống, kinh nghiệm triển khai Vì thời gian thực khơng nhiều nên chắn cịn nhiều thiếu sót, mong thầy/cơ hướng dẫn thêm Trân Trọng Cảm ơn Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP LỜI CẢM ƠN Trước tiên với tình cảm sâu sắc chân thành nhất, cho phép tơi bày tỏ lịng biết ơn đến thầy Nguyễn Văn Tùng, thầy Trần Đắc Tốt, cô Nguyễn Phương Hạc anh Hậu cựu sinh viên khoa Công Nghệ Thông Tin tạo điều kiện hỗ trợ, giúp đỡ tơi suốt q trình học tập nghiên cứu đề tài Trong suốt thời gian từ bắt đầu học tập trường đến nay, nhận nhiều quan tâm, giúp đỡ quý Thầy Cơ bạn bè Với lịng biết ơn sâu sắc nhất, xin gửi đến quý Thầy Cô Khoa truyền đạt vốn kiến thức quý báu cho suốt thời gian học tập trường Nhờ có lời hướng dẫn, dạy bảo thầy cô nên đề tài nghiên cứu hồn thiện tốt đẹp Một lần nữa, xin chân thành cảm ơn cô Nguyễn Phương Hạc – người trực tiếp giúp đỡ, quan tâm, hướng dẫn chúng tơi hồn thành tốt báo cáo thời gian qua Bài báo cáo đồ thực khoảng thời gian gần tuần Bước đầu vào thực tế tơi cịn hạn chế cịn nhiều bỡ ngỡ nên khơng tránh khỏi thiếu sót, mong nhận ý kiến đóng góp quý báu quý Thầy Cô để kiến thức lĩnh vực hoàn thiện đồng thời có điều kiện bổ sung, nâng cao ý thức Tơi xin chân thành cảm ơn Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP NHIỆM VỤ ĐỀ TÀI Tìm hiểu kiến trúc Oracle Tìm hiểu chế quản trị tài nguyên lập lịch tự động, lưu tự động Xây dựng giải pháp an toàn sở liệu Oracle Cài đặt nội dung tìm hiểu Java Oracle Linux TÀI LIỆU THAM KHẢO Cài đặt Oracle 19c GUI https://www.youtube.com/watch?v=-O5b0KeFjO4&t=217s Client connect to Server https://www.youtube.com/watch?v=XN2PO1os1gw&t=433s Nguyên lý Backup Recovery https://www.youtube.com/watch?v=nX2EWA6AJvY Rman Backup https://www.youtube.com/watch?v=55Z5jzQ1Duk&t=864s Tự động Backup liệu https://www.tranvanbinh.vn/2020/12/tu-ong-backup-oracle-database-hangngay.html Java connect Oracle https://www.youtube.com/watch?v=ea0HhETxOIs&t=2007s Restore and recover in rman https://docs.oracle.com/cd/A91202_01/901_doc/server.901/a90135/rmancon a.htm Định dạng file backup https://docs.oracle.com/cd/B19306_01/backup.102/b14194/rcmsynta033.ht m Tìm hiểu tổng quát CSDL Oracle https://csc.edu.vn/lap-trinh-va-csdl/tin-tuc/kien-thuc-lap-trinh/hoc-oracle-kien-thuc-co-ban-cho-nguoi-moi-bat-dau-802 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP MỤC LỤC LỜI NÓI ĐẦU LỜI CẢM ƠN NHIỆM VỤ ĐỀ TÀI TÀI LIỆU THAM KHẢO MỤC LỤC DANH MỤC HÌNH 10 Chương I TÌM HIỂU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 11 1.1 Giới thiệu hệ quản trị CSDL Oracle 11 1.2 Lịch sử hình thành phiên 11 1.3 Oracle công nghệ Client/Server 12 Chương II KIẾN TRÚC HỆ QUẢN TRỊ CSDL ORACLE 12 2.1 Kiến trúc hệ quản trị CSDL Oracle 12 2.2 Cấu trúc vùng nhớ (Memory Structure) 12 2.2.1 System Global Area (SGA) 14 2.2.2 Tìm hiểu PGA 16 2.3 Các tiến trình 26 2.3.1 Tiến trình quan trọng database writer (DBWn) 28 2.3.2 Tiến trình checkpoint (thơng tin trung tâm điều khiển) 29 2.3.3 Tiến trình system monitor 29 2.3.4 Tiến trình process monitor 30 2.3.5 Tiến trình Recoverer 31 2.3.6 Tiến trình Archiver (ARCn) 32 2.4 Kiến trúc Storage (lưu trữ đối tượng) 32 Chương III CÀI ĐẶT ORACLE TRÊN LINUX 35 3.1 Cấu hình máy ảo VMWare 35 3.2 Cài đặt Oracle 41 3.3 Kết nối Client tới Server 60 Chương IV CÀI ĐẶT ORACLE TRÊN WINDOWS 76 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE Chương V 5.1 TRƯỜNG ĐH CNTP CÁC BIỆN PHÁP BẢO VỆ CSDL 85 CÁC BIỆN PHÁP BẢO VỆ CSDL ORACLE 85 5.1.1 Quản lí người dùng 85 5.1.2 Tạo người dùng 85 5.1.3 Xóa người dùng 85 5.2 Mở/Tắt CSDL VÀ THỂ HIỆN (STARTUP/SHUTDOWN) 86 5.2.1 Mở CSDL 86 5.2.2 Tắt CSDL 90 5.3 Sao lưu phục hồi liệu 92 5.3.1 Xóa FILEDATA BACKUP lại 93 5.3.2 Xóa USER BACKUP lại USER 108 5.3.3 Crontab 114 5.3.4 Profile user 122 Chương VI SQL DEVELOPER 134 6.1 Tìm hiểu SQL DEVELOPER 134 6.2 Lợi ích cơng dụng SQL DEVELOPER 134 6.3 Cài đặt SQL DEVELOPER 134 Chương VII Chương VIII ỨNG DỤNG JAVA 140 MỘT SỐ LỖI THƯỜNG GẶP VÀ CÁCH KHẮC PHỤC 159 SOURCE CODE 160 Form đăng nhập (login) 160 Form chức (menu) 167 Form xem user có database 173 Form tạo user 177 Form xoá user 185 Form tạo table vào user đăng nhập 190 Form xoá table 196 Form Thêm data vào table 202 Lấy liệu bảng students từ user phap 208 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP DANH MỤC HÌNH Hình Mơ Hình Kiến Trúc Oracle 12 Hình Mơ hình Instance 13 Hình Mơ hình SGA PGA 14 Hình Mơ hình SGA 15 Hình Thơng số SGA 15 Hình Kích thước SGA 15 Hình Tổng kích thước PGA 16 Hình Thơng số PGA 17 Hình Chi tiết Shared pool 22 Hình 10 Chi tiết Redo log buffer 23 Hình 11 Chi tiết Large pool 24 Hình 12 Chi tiết Java Pool Stream Pool 24 Hình 13 Connect 25 Hình 14 Session 25 Hình 15 Số phiên kết nối 26 Hình 16 Liệt kê tiến trình 27 Hình 17 Các thuộc tính process 28 Hình 18 Tiến trình Database writer (DBWn) 28 Hình 19 Quá trình điều phối LGnn 29 Hình 20 Tiến trình Checkpoint 29 Hình 21 Tiến trình System Monitor 30 Hình 22 Kiểm tra tiến trình SMON 30 Hình 23 Tiến Trình Process Monitor 31 Hình 24 Kiểm tra tiến trình PMON 31 Hình 25 Tiến trình Recoverer 32 Hình 26 Tiến trình Archiver (ARCn) 32 Hình 27 Kiến trúc Storage 33 Hình 28 Cấu trúc logic cấu trúc vật lý CSDL 33 10 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP public deletetable(String user,String pass) { this.user=user; this.pass=pass; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 757, 610); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JDesktopPane desktopPane = new JDesktopPane(); desktopPane.setBounds(6, 6, 757, 610); contentPane.add(desktopPane); JLabel lblNewLabel = new JLabel(" Tên table"); lblNewLabel.setForeground(Color.YELLOW); lblNewLabel.setFont(new Font("Tahoma",Font.PLAIN,30)); lblNewLabel.setBounds(92, 150, 162, 55); desktopPane.add(lblNewLabel); textField = new JTextField(); textField.setBounds(300, 147, 218, 75); desktopPane.add(textField); textField.setColumns(10); 199 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP deletebt = new JButton("Xoá"); deletebt.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String a = String.valueOf(textField.getText()); try { Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@34.136.219.57:1521:orclcdb",us er,pass); Statement statement = connection.createStatement(); String sql="drop table " +a; ResultSet rs = statement.executeQuery(sql); // rs = statement.executeQuery(sql1); JOptionPane.showMessageDialog( textField," xoá table " ); connection.close(); } catch (SQLException e2) { e2.printStackTrace(); JOptionPane.showMessageDialog( textField," Không có table đề nghị tạo" ); } } }); deletebt.setBounds(300, 328, 186, 87); desktopPane.add(deletebt); 200 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP btnNewButton = new JButton(""); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dashbroad dashbroad = new dashbroad(user,pass); dashbroad.setLocationRelativeTo(null); dashbroad.setVisible(true); contentPane.add(dashbroad); } }); btnNewButton.setIcon(new ImageIcon(deletetable.class.getResource("/hinhanh/back.png"))); //btnNewButton.setIcon(getClass().getResource("/hinhanh/eye.png")); / btnNewButton.setBounds(700, 0, 51, 36); desktopPane.add(btnNewButton); lblNewLabel_1 = new JLabel(" Xoá table"); lblNewLabel_1.setForeground(Color.YELLOW); lblNewLabel_1.setBounds(237, 17, 281, 55); lblNewLabel_1.setFont(new Font("Tahoma",Font.PLAIN,30)); desktopPane.add(lblNewLabel_1); } } 201 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP Form Thêm data vào table package doanoracle; import java.awt.BorderLayout; import java.awt.EventQueue; import java.awt.Font; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JDesktopPane; import javax.swing.JLabel; import javax.swing.JOptionPane; import java.awt.Color; import javax.swing.JTextField; import javax.swing.JButton; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.awt.event.ActionEvent; 202 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP import javax.swing.ImageIcon; public class insertvlalues extends JFrame { private JPanel contentPane; private JTextField textinsert; private JButton add; private JLabel lbname; private JTextField textdata; public static String user=""; public static String pass=""; private JButton btnNewButton; private JLabel lblNewLabel_1; /** * Launch the application */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { insertvlalues frame = new insertvlalues(user,pass); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } 203 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP } }); } /** * Create the frame */ public insertvlalues(String user,String pass) { this.user = user; this.pass = pass; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 757, 610); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JDesktopPane Pane = new JDesktopPane(); Pane.setBounds(6, 6, 757, 610); contentPane.add(Pane); lbname = new JLabel("Tên table"); lbname.setForeground(Color.YELLOW); lbname.setFont(new Font("Tahoma",Font.PLAIN,30)); lbname.setBounds(108, 172, 141, 49); 204 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP Pane.add(lbname); textinsert = new JTextField(); textinsert.setBounds(321, 175, 186, 43); Pane.add(textinsert); textinsert.setColumns(10); add = new JButton("Thêm"); add.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String table = String.valueOf(textinsert.getText()); String data = String.valueOf(textdata.getText()); try { Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@34.136.219.57:1521:orclcdb",us er,pass); Statement statement = connection.createStatement(); String sql="insert into " + table + " VALUES " + "('" + data + "')" ; ResultSet rs = statement.executeQuery(sql); JOptionPane.showMessageDialog(textdata," thêm data vào " ); connection.close(); 205 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP } catch (SQLException e2) { e2.printStackTrace(); JOptionPane.showMessageDialog(textdata," ko có table để thêm data vào " ); createtable createtable = new createtable (user,pass); createtable.setVisible(true); createtable.setLocationRelativeTo(null); Pane.add(createtable); } } }); add.setBounds(321, 355, 186, 87); Pane.add(add); textdata = new JTextField(); textdata.setBounds(321, 264, 186, 43); Pane.add(textdata); textdata.setColumns(10); JLabel lblNewLabel = new JLabel("Dữ Liệu"); lblNewLabel.setForeground(Color.YELLOW); lblNewLabel.setFont(new Font("Tahoma",Font.PLAIN,30)); lblNewLabel.setBounds(108, 264, 120, 43); 206 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP Pane.add(lblNewLabel); btnNewButton = new JButton(""); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dashbroad dashbroad = new dashbroad (user,pass); dashbroad.setLocationRelativeTo(null); dashbroad.setVisible(true); Pane.add(dashbroad); } }); btnNewButton.setIcon(new ImageIcon(insertvlalues.class.getResource("/hinhanh/back.png"))); btnNewButton.setBounds(697, 0, 54, 33); Pane.add(btnNewButton); lblNewLabel_1 = new JLabel("Thêm Dữ Liệu Vào Table"); lblNewLabel_1.setForeground(Color.YELLOW); lblNewLabel_1.setBounds(266, 31, 337, 49); lblNewLabel_1.setFont(new Font("Tahoma",Font.PLAIN,30)); Pane.add(lblNewLabel_1); } } 207 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP Lấy liệu bảng students từ user package doanoracle; import java.awt.BorderLayout; import java.awt.EventQueue; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.table.DefaultTableModel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JDesktopPane; import java.awt.CardLayout; import java.awt.FlowLayout; import java.awt.Font; import javax.swing.SpringLayout; import javax.swing.JButton; import javax.swing.ImageIcon; 208 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import javax.swing.border.LineBorder; import java.awt.Color; public class getDataFromSv extends JFrame { private JPanel contentPane; private JTable table; public static String user=""; public static String pass=""; private JDesktopPane desktopPane; private JButton btnNewButton; /** * Launch the application */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { getDataFromSv frame = new getDataFromSv(user,pass); frame.setLocationRelativeTo(null); frame.setVisible(true); } catch (Exception e) { 209 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP e.printStackTrace(); } } }); } /** * Create the frame */ public getDataFromSv(String user ,String pass) { this.user=user; this.pass=pass; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 757, 610); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); desktopPane = new JDesktopPane(); desktopPane.setBorder(new LineBorder(new Color(0, 0, 0))); desktopPane.setBounds(6, 6, 757, 610); contentPane.add(desktopPane); btnNewButton = new JButton(""); 210 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { dashbroad dashbroad = new dashbroad(user,pass); dashbroad.setLocationRelativeTo(null); dashbroad.setVisible(true); contentPane.add(dashbroad); } }); btnNewButton.setIcon(new ImageIcon(getDataFromSv.class.getResource("/hinhanh/back.png"))); btnNewButton.setBounds(707, 273, 44, 44); desktopPane.add(btnNewButton); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(6, 0, 704, 575); desktopPane.add(scrollPane); scrollPane.setForeground(Color.RED); scrollPane.setBackground(Color.WHITE); table = new JTable(); table.setBorder(new LineBorder(new Color(0, 0, 0))); table.setBackground(Color.white); table.setForeground(Color.black); table.setSelectionBackground(Color.red); table.setGridColor(Color.white); 211 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP table.setFont(new Font("Tahoma", Font.PLAIN,17)); table.setRowHeight(30); table.setAutoCreateRowSorter(true); scrollPane.setViewportView(table); loadData(); } private void loadData() { /*model.addColumn("Ten"); model.addColumn("email"); model.addColumn("So Dien Thoai"); model.addRow(new Object[] {"ten","email","so dien thoai"});*/ try { Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@34.136.219.57:1521:orclcdb",us er,pass); Statement statement = connection.createStatement(); String sql="SELECT name,email,so_dien_thoai from students "; ResultSet rs = statement.executeQuery(sql); DefaultTableModel model = new DefaultTableModel() ; model.addColumn("STT"); model.addColumn("Tên"); model.addColumn("Email"); model.addColumn("Số Điện Thoại"); 212 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ĐỒ ÁN ORACLE TRƯỜNG ĐH CNTP int i =0; //model.addRow(new Object[] {"ten","email","so dien thoai"}); while(rs.next()) { i+=1; String user = rs.getString("name"); String email = rs.getString("email"); String sdt = rs.getString("so_dien_thoai"); System.err.println(user+email+sdt); model.addRow(new Object[] {i,user,email,sdt}); } table.setModel(model); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } 213 Sinh viên: Nguyễn Trần Tấn Pháp Sinh viên: Lương Thành Long ... trúc Oracle Tìm hiểu chế quản trị tài nguyên lập lịch tự động, lưu tự động Xây dựng giải pháp an toàn sở liệu Oracle Cài đặt nội dung tìm hiểu Java Oracle Linux TÀI LIỆU THAM KHẢO Cài đặt Oracle. .. triển hệ sở liệu triển khai giải pháp an toàn nhầm tránh mát liệu Hiện nay, hệ quản trị sở liệu không giới hạn doanh nghiệp lớn, tầm cỡ đa quốc gia mà lan rộng tất doanh nghiệp, kể doanh nghiệp... khai sở liệu triển khai giải pháp an toàn nhầm tránh mát liệu đơn giản với doanh nghiệp lớn, dồi nguồn tài lực, nhân lực kinh nghiệm Một hệ quản trị sở liệu thành công doanh nghiệp chưa thành cơng